@@ -603,7 +603,7 @@ bnxt_pmd_global_tunnel_set(struct bnxt_ulp_context *ulp_ctx,
rc = bnxt_hwrm_tunnel_dst_port_alloc(bp, udp_port,
hwtype);
else
- rc = bnxt_hwrm_tunnel_dst_port_free(bp, port_id,
+ rc = bnxt_hwrm_tunnel_dst_port_free(bp, ludp_port,
hwtype);
}
@@ -1127,6 +1127,40 @@ bnxt_ulp_cntxt_fid_get(struct bnxt_ulp_context *ulp, uint16_t *fid)
return 0;
}
+void
+bnxt_ulp_cntxt_ptr2_default_class_bits_set(struct bnxt_ulp_context *ulp_ctx,
+ uint64_t bits)
+{
+ if (!ulp_ctx || !ulp_ctx->cfg_data)
+ return;
+ ulp_ctx->cfg_data->default_class_bits = bits;
+}
+
+uint64_t
+bnxt_ulp_cntxt_ptr2_default_class_bits_get(struct bnxt_ulp_context *ulp_ctx)
+{
+ if (!ulp_ctx || !ulp_ctx->cfg_data)
+ return 0;
+ return ulp_ctx->cfg_data->default_class_bits;
+}
+
+void
+bnxt_ulp_cntxt_ptr2_default_act_bits_set(struct bnxt_ulp_context *ulp_ctx,
+ uint64_t bits)
+{
+ if (!ulp_ctx || !ulp_ctx->cfg_data)
+ return;
+ ulp_ctx->cfg_data->default_act_bits = bits;
+}
+
+uint64_t
+bnxt_ulp_cntxt_ptr2_default_act_bits_get(struct bnxt_ulp_context *ulp_ctx)
+{
+ if (!ulp_ctx || !ulp_ctx->cfg_data)
+ return 0;
+ return ulp_ctx->cfg_data->default_act_bits;
+}
+
/*
* Get the device table entry based on the device id.
*
@@ -150,6 +150,8 @@ struct bnxt_ulp_data {
enum bnxt_ulp_session_type def_session_type;
uint16_t num_key_recipes_per_dir;
uint64_t feature_bits;
+ uint64_t default_class_bits;
+ uint64_t default_act_bits;
};
enum bnxt_ulp_tfo_type {
@@ -624,4 +626,17 @@ bnxt_ulp_vfr_session_fid_rem(struct bnxt_ulp_context *ulp_ctx,
int32_t
bnxt_flow_mtr_init(struct bnxt *bp __rte_unused);
+void
+bnxt_ulp_cntxt_ptr2_default_class_bits_set(struct bnxt_ulp_context *ulp_ctx,
+ uint64_t bits);
+
+uint64_t
+bnxt_ulp_cntxt_ptr2_default_class_bits_get(struct bnxt_ulp_context *ulp_ctx);
+
+void
+bnxt_ulp_cntxt_ptr2_default_act_bits_set(struct bnxt_ulp_context *ulp_ctx,
+ uint64_t bits);
+uint64_t
+bnxt_ulp_cntxt_ptr2_default_act_bits_get(struct bnxt_ulp_context *ulp_ctx);
+
#endif /* _BNXT_ULP_H_ */
@@ -475,6 +475,10 @@ ulp_tf_cntxt_app_caps_init(struct bnxt *bp,
bnxt_ulp_max_flow_priority_set(ulp_ctx,
info[i].max_flow_priority);
ulp_ctx->cfg_data->feature_bits = info[i].feature_bits;
+ 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,
+ info[i].default_act_bits);
}
if (!found) {
BNXT_DRV_DBG(ERR, "APP ID %d, Device ID: 0x%x not supported.\n",
@@ -533,6 +533,11 @@ ulp_tfc_cntxt_app_caps_init(struct bnxt *bp, uint8_t app_id, uint32_t dev_id)
"Socket Direct feature is enabled\n");
}
}
+ ulp_ctx->cfg_data->feature_bits = info[i].feature_bits;
+ 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,
+ info[i].default_act_bits);
rc = bnxt_ulp_cntxt_tbl_scope_max_pools_set(ulp_ctx,
info[i].max_pools);
@@ -12,22 +12,31 @@
struct bnxt_ulp_act_match_info ulp_act_match_list[] = {
[1] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_GENERIC |
BNXT_ULP_ACT_BIT_DROP |
+ BNXT_ULP_ACT_BIT_COUNT |
+ BNXT_ULP_ACT_BIT_RSS |
+ BNXT_ULP_ACT_BIT_QUEUE |
BNXT_ULP_ACT_BIT_POP_VLAN |
BNXT_ULP_ACT_BIT_DEC_TTL |
+ BNXT_ULP_ACT_BIT_SET_MAC_SRC |
+ BNXT_ULP_ACT_BIT_SET_MAC_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV4_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV4_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV6_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV6_DST |
+ BNXT_ULP_ACT_BIT_SET_TP_SRC |
+ BNXT_ULP_ACT_BIT_SET_TP_DST |
BNXT_ULP_ACT_BIT_VXLAN_DECAP |
BNXT_ULP_ACT_BIT_GENEVE_DECAP |
- BNXT_ULP_ACT_BIT_COUNT |
BNXT_ULP_ACT_BIT_METER |
BNXT_ULP_ACT_BIT_SHARED_SAMPLE |
- BNXT_ULP_ACT_BIT_SET_MAC_SRC |
- BNXT_ULP_ACT_BIT_SET_MAC_DST |
- BNXT_ULP_ACT_BIT_MULTIPLE_PORT |
BNXT_ULP_FLOW_DIR_BITMASK_ING },
.act_tid = 1
},
[2] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_GENERIC |
BNXT_ULP_ACT_BIT_JUMP |
BNXT_ULP_ACT_BIT_COUNT |
BNXT_ULP_FLOW_DIR_BITMASK_ING },
@@ -35,21 +44,43 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {
},
[3] = {
.act_bitmap = { .bits =
- BNXT_ULP_ACT_BIT_SHARED |
- BNXT_ULP_ACT_BIT_SAMPLE |
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
+ BNXT_ULP_ACT_BIT_DROP |
+ BNXT_ULP_ACT_BIT_POP_VLAN |
+ BNXT_ULP_ACT_BIT_DEC_TTL |
+ BNXT_ULP_ACT_BIT_VXLAN_DECAP |
+ BNXT_ULP_ACT_BIT_GENEVE_DECAP |
BNXT_ULP_ACT_BIT_COUNT |
+ BNXT_ULP_ACT_BIT_METER |
+ BNXT_ULP_ACT_BIT_SHARED_SAMPLE |
+ BNXT_ULP_ACT_BIT_SET_MAC_SRC |
+ BNXT_ULP_ACT_BIT_SET_MAC_DST |
+ BNXT_ULP_ACT_BIT_MULTIPLE_PORT |
BNXT_ULP_FLOW_DIR_BITMASK_ING },
.act_tid = 2
},
[4] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
+ BNXT_ULP_ACT_BIT_GENERIC |
+ BNXT_ULP_ACT_BIT_SHARED |
+ BNXT_ULP_ACT_BIT_SAMPLE |
+ BNXT_ULP_ACT_BIT_COUNT |
+ BNXT_ULP_FLOW_DIR_BITMASK_ING },
+ .act_tid = 3
+ },
+ [5] = {
+ .act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
+ BNXT_ULP_ACT_BIT_GENERIC |
BNXT_ULP_ACT_BIT_DELETE |
BNXT_ULP_ACT_BIT_SHARED_SAMPLE |
BNXT_ULP_FLOW_DIR_BITMASK_ING },
- .act_tid = 2
+ .act_tid = 3
},
- [5] = {
+ [6] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
BNXT_ULP_ACT_BIT_COUNT |
BNXT_ULP_ACT_BIT_DEC_TTL |
BNXT_ULP_ACT_BIT_SHARED_SAMPLE |
@@ -63,72 +94,110 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {
BNXT_ULP_ACT_BIT_SET_TP_SRC |
BNXT_ULP_ACT_BIT_SET_TP_DST |
BNXT_ULP_FLOW_DIR_BITMASK_ING },
- .act_tid = 3
+ .act_tid = 4
},
- [6] = {
+ [7] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
BNXT_ULP_ACT_BIT_SHARED_SAMPLE |
BNXT_ULP_ACT_BIT_RSS |
BNXT_ULP_ACT_BIT_QUEUE |
BNXT_ULP_ACT_BIT_COUNT |
BNXT_ULP_FLOW_DIR_BITMASK_ING },
- .act_tid = 4
+ .act_tid = 5
},
- [7] = {
+ [8] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
+ BNXT_ULP_ACT_BIT_GENERIC |
BNXT_ULP_ACT_BIT_METER_PROFILE |
BNXT_ULP_FLOW_DIR_BITMASK_ING },
- .act_tid = 5
+ .act_tid = 6
},
- [8] = {
+ [9] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
+ BNXT_ULP_ACT_BIT_GENERIC |
BNXT_ULP_ACT_BIT_SHARED_METER |
BNXT_ULP_FLOW_DIR_BITMASK_ING },
- .act_tid = 5
+ .act_tid = 6
},
- [9] = {
+ [10] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
+ BNXT_ULP_ACT_BIT_GENERIC |
BNXT_ULP_ACT_BIT_DELETE |
BNXT_ULP_ACT_BIT_METER_PROFILE |
BNXT_ULP_FLOW_DIR_BITMASK_ING },
- .act_tid = 5
+ .act_tid = 6
},
- [10] = {
+ [11] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
+ BNXT_ULP_ACT_BIT_GENERIC |
BNXT_ULP_ACT_BIT_DELETE |
BNXT_ULP_ACT_BIT_SHARED_METER |
BNXT_ULP_FLOW_DIR_BITMASK_ING },
- .act_tid = 5
+ .act_tid = 6
},
- [11] = {
+ [12] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
+ BNXT_ULP_ACT_BIT_GENERIC |
BNXT_ULP_ACT_BIT_UPDATE |
BNXT_ULP_ACT_BIT_SHARED_METER |
BNXT_ULP_FLOW_DIR_BITMASK_ING },
- .act_tid = 5
+ .act_tid = 6
},
- [12] = {
+ [13] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_GENERIC |
BNXT_ULP_ACT_BIT_DROP |
- BNXT_ULP_ACT_BIT_SET_VLAN_PCP |
- BNXT_ULP_ACT_BIT_SET_VLAN_VID |
- BNXT_ULP_ACT_BIT_PUSH_VLAN |
BNXT_ULP_ACT_BIT_COUNT |
BNXT_ULP_ACT_BIT_DEC_TTL |
+ BNXT_ULP_ACT_BIT_VF_TO_VF |
BNXT_ULP_ACT_BIT_SHARED_SAMPLE |
- BNXT_ULP_ACT_BIT_MULTIPLE_PORT |
+ BNXT_ULP_ACT_BIT_SET_MAC_SRC |
+ BNXT_ULP_ACT_BIT_SET_MAC_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV4_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV4_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV6_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV6_DST |
+ BNXT_ULP_ACT_BIT_SET_TP_SRC |
+ BNXT_ULP_ACT_BIT_SET_TP_DST |
+ BNXT_ULP_ACT_BIT_PUSH_VLAN |
+ BNXT_ULP_ACT_BIT_SET_VLAN_PCP |
+ BNXT_ULP_ACT_BIT_SET_VLAN_VID |
+ BNXT_ULP_ACT_BIT_VXLAN_ENCAP |
+ BNXT_ULP_ACT_BIT_GENEVE_ENCAP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
- .act_tid = 6
+ .act_tid = 7
},
- [13] = {
+ [14] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_GENERIC |
BNXT_ULP_ACT_BIT_JUMP |
BNXT_ULP_ACT_BIT_COUNT |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
- .act_tid = 6
+ .act_tid = 7
},
- [14] = {
+ [15] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
+ BNXT_ULP_ACT_BIT_DROP |
+ BNXT_ULP_ACT_BIT_SET_VLAN_PCP |
+ BNXT_ULP_ACT_BIT_SET_VLAN_VID |
+ BNXT_ULP_ACT_BIT_PUSH_VLAN |
+ BNXT_ULP_ACT_BIT_COUNT |
+ BNXT_ULP_ACT_BIT_DEC_TTL |
+ BNXT_ULP_ACT_BIT_SHARED_SAMPLE |
+ BNXT_ULP_ACT_BIT_MULTIPLE_PORT |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .act_tid = 8
+ },
+ [16] = {
+ .act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
BNXT_ULP_ACT_BIT_COUNT |
BNXT_ULP_ACT_BIT_SET_MAC_SRC |
BNXT_ULP_ACT_BIT_SET_MAC_DST |
@@ -142,10 +211,11 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {
BNXT_ULP_ACT_BIT_SHARED_SAMPLE |
BNXT_ULP_ACT_BIT_MULTIPLE_PORT |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
- .act_tid = 7
+ .act_tid = 9
},
- [15] = {
+ [17] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
BNXT_ULP_ACT_BIT_SHARED_SAMPLE |
BNXT_ULP_ACT_BIT_MULTIPLE_PORT |
BNXT_ULP_ACT_BIT_SET_MAC_SRC |
@@ -154,32 +224,37 @@ struct bnxt_ulp_act_match_info ulp_act_match_list[] = {
BNXT_ULP_ACT_BIT_GENEVE_ENCAP |
BNXT_ULP_ACT_BIT_COUNT |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
- .act_tid = 8
+ .act_tid = 10
},
- [16] = {
+ [18] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
BNXT_ULP_ACT_BIT_SHARED_SAMPLE |
BNXT_ULP_ACT_BIT_MULTIPLE_PORT |
BNXT_ULP_ACT_BIT_VF_TO_VF |
BNXT_ULP_ACT_BIT_COUNT |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
- .act_tid = 9
+ .act_tid = 11
},
- [17] = {
+ [19] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
+ BNXT_ULP_ACT_BIT_GENERIC |
BNXT_ULP_ACT_BIT_SHARED |
BNXT_ULP_ACT_BIT_SAMPLE |
BNXT_ULP_ACT_BIT_VF_TO_VF |
BNXT_ULP_ACT_BIT_COUNT |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
- .act_tid = 10
+ .act_tid = 12
},
- [18] = {
+ [20] = {
.act_bitmap = { .bits =
+ BNXT_ULP_ACT_BIT_NON_GENERIC |
+ BNXT_ULP_ACT_BIT_GENERIC |
BNXT_ULP_ACT_BIT_DELETE |
BNXT_ULP_ACT_BIT_SHARED_SAMPLE |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
- .act_tid = 10
+ .act_tid = 12
}
};
@@ -5047,15 +5047,742 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
},
[126] = {
.app_id = 0,
+ .hdr_bitmap = { .bits =
+ 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_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB01A100000000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [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,
+ },
+ },
+ [127] = {
+ .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_VXLAN |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB006840000000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .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,
+ [120] = 19,
+ [121] = 20,
+ [122] = 21,
+ [123] = 22,
+ },
+ },
+ [128] = {
+ .app_id = 0,
+ .hdr_bitmap = { .bits =
+ 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_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB01A170000000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [6] = 2,
+ [7] = 21,
+ [8] = 3,
+ [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,
+ },
+ },
+ [129] = {
+ .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_VXLAN |
+ BNXT_ULP_HDR_BIT_I_ETH |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB00685C000000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [6] = 2,
+ [7] = 23,
+ [8] = 3,
+ [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,
+ },
+ },
+ [130] = {
+ .app_id = 0,
+ .hdr_bitmap = { .bits =
+ 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_IPV6 |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB01A105800000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [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,
+ },
+ },
+ [131] = {
+ .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_VXLAN |
+ BNXT_ULP_HDR_BIT_I_IPV6 |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB006841600000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .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,
+ [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,
+ },
+ },
+ [132] = {
+ .app_id = 0,
+ .hdr_bitmap = { .bits =
+ 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_IPV4 |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB01A101600000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [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,
+ },
+ },
+ [133] = {
+ .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_VXLAN |
+ BNXT_ULP_HDR_BIT_I_IPV4 |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB006840580000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [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,
+ },
+ },
+ [134] = {
+ .app_id = 0,
+ .hdr_bitmap = { .bits =
+ 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_IPV6 |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB01A170B00000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [6] = 2,
+ [7] = 21,
+ [8] = 3,
+ [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,
+ },
+ },
+ [135] = {
+ .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_VXLAN |
+ BNXT_ULP_HDR_BIT_I_ETH |
+ BNXT_ULP_HDR_BIT_I_IPV6 |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB00685C2C0000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [6] = 2,
+ [7] = 23,
+ [8] = 3,
+ [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,
+ },
+ },
+ [136] = {
+ .app_id = 0,
+ .hdr_bitmap = { .bits =
+ 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_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB01A1702C0000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [6] = 2,
+ [7] = 21,
+ [8] = 3,
+ [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,
+ },
+ },
+ [137] = {
+ .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_VXLAN |
+ BNXT_ULP_HDR_BIT_I_ETH |
+ BNXT_ULP_HDR_BIT_I_IPV4 |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB00685C0B0000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [6] = 2,
+ [7] = 23,
+ [8] = 3,
+ [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,
+ },
+ },
+ [138] = {
+ .app_id = 0,
+ .hdr_bitmap = { .bits =
+ 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_TCP |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB01A160000000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [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,
+ },
+ },
+ [139] = {
+ .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_VXLAN |
+ BNXT_ULP_HDR_BIT_I_TCP |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB006858000000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .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,
+ [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,
+ },
+ },
+ [140] = {
+ .app_id = 0,
+ .hdr_bitmap = { .bits =
+ 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_UDP |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB01A160000000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [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,
+ },
+ },
+ [141] = {
+ .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_VXLAN |
+ BNXT_ULP_HDR_BIT_I_UDP |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB006858000000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .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,
+ [101] = 23,
+ [102] = 16,
+ [103] = 24,
+ [104] = 17,
+ [105] = 25,
+ [106] = 18,
+ [107] = 26,
+ [120] = 19,
+ [121] = 20,
+ [122] = 21,
+ [123] = 22,
+ },
+ },
+ [142] = {
+ .app_id = 0,
.hdr_bitmap = { .bits =
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_TCP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00A170000000000,
+ .field_opt_bitmap = 0xB01A17C000000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
@@ -5075,6 +5802,15 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[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,
@@ -5085,7 +5821,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 20,
},
},
- [127] = {
+ [143] = {
.app_id = 0,
.hdr_bitmap = { .bits =
BNXT_ULP_HDR_BIT_O_ETH |
@@ -5093,9 +5829,10 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
BNXT_ULP_HDR_BIT_O_UDP |
BNXT_ULP_HDR_BIT_T_VXLAN |
BNXT_ULP_HDR_BIT_I_ETH |
+ BNXT_ULP_HDR_BIT_I_TCP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00285C000000000,
+ .field_opt_bitmap = 0xB00685F000000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
@@ -5117,6 +5854,15 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[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,
@@ -5127,7 +5873,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 22,
},
},
- [128] = {
+ [144] = {
.app_id = 0,
.hdr_bitmap = { .bits =
BNXT_ULP_HDR_BIT_O_ETH |
@@ -5135,10 +5881,10 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
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_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00A170B00000000,
+ .field_opt_bitmap = 0xB01A17C000000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
@@ -5151,21 +5897,119 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[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] = 24,
+ [102] = 14,
+ [103] = 25,
+ [104] = 15,
+ [105] = 26,
+ [106] = 16,
+ [107] = 27,
+ [120] = 17,
+ [121] = 18,
+ [122] = 19,
+ [123] = 20,
+ },
+ },
+ [145] = {
+ .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_VXLAN |
+ BNXT_ULP_HDR_BIT_I_ETH |
+ BNXT_ULP_HDR_BIT_I_UDP |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB00685F000000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [6] = 2,
+ [7] = 23,
+ [8] = 3,
+ [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,
+ },
+ },
+ [146] = {
+ .app_id = 0,
+ .hdr_bitmap = { .bits =
+ 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_IPV6 |
+ BNXT_ULP_HDR_BIT_I_TCP |
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR },
+ .field_man_bitmap = 0x0,
+ .field_opt_bitmap = 0xB01A105E00000000,
+ .field_exclude_bitmap = 0x0,
+ .class_tid = 2,
+ .flow_pattern_id = 1,
+ .field_list = {
+ [1] = 1,
+ [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,
@@ -5176,29 +6020,26 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 20,
},
},
- [129] = {
+ [147] = {
.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_VXLAN |
- BNXT_ULP_HDR_BIT_I_ETH |
BNXT_ULP_HDR_BIT_I_IPV6 |
+ BNXT_ULP_HDR_BIT_I_TCP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00285C2C0000000,
+ .field_opt_bitmap = 0xB006841780000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
.field_list = {
[1] = 1,
[6] = 2,
- [7] = 23,
[8] = 3,
- [9] = 24,
[10] = 4,
- [11] = 25,
[32] = 5,
[34] = 6,
[36] = 7,
@@ -5209,14 +6050,23 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[46] = 12,
[48] = 13,
[50] = 14,
- [53] = 26,
- [55] = 27,
- [57] = 28,
- [59] = 29,
- [61] = 30,
- [63] = 31,
- [65] = 32,
- [67] = 33,
+ [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,
@@ -5227,39 +6077,36 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 22,
},
},
- [130] = {
+ [148] = {
.app_id = 0,
.hdr_bitmap = { .bits =
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_TCP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00A1702C0000000,
+ .field_opt_bitmap = 0xB01A101780000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
.field_list = {
[1] = 1,
[6] = 2,
- [7] = 21,
[8] = 3,
- [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,
+ [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,
@@ -5268,6 +6115,15 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[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,
@@ -5278,49 +6134,55 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 20,
},
},
- [131] = {
+ [149] = {
.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_VXLAN |
- BNXT_ULP_HDR_BIT_I_ETH |
BNXT_ULP_HDR_BIT_I_IPV4 |
+ BNXT_ULP_HDR_BIT_I_TCP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00285C0B0000000,
+ .field_opt_bitmap = 0xB0068405E0000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
.field_list = {
[1] = 1,
[6] = 2,
- [7] = 23,
[8] = 3,
- [9] = 24,
[10] = 4,
- [11] = 25,
[32] = 5,
- [33] = 26,
+ [33] = 23,
[34] = 6,
- [35] = 27,
+ [35] = 24,
[36] = 7,
- [37] = 28,
+ [37] = 25,
[38] = 8,
- [39] = 29,
+ [39] = 26,
[40] = 9,
- [41] = 30,
+ [41] = 27,
[42] = 10,
- [43] = 31,
+ [43] = 28,
[44] = 11,
- [45] = 32,
+ [45] = 29,
[46] = 12,
- [47] = 33,
+ [47] = 30,
[48] = 13,
- [49] = 34,
+ [49] = 31,
[50] = 14,
- [51] = 35,
+ [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,
@@ -5331,79 +6193,76 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 22,
},
},
- [132] = {
+ [150] = {
.app_id = 0,
.hdr_bitmap = { .bits =
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_TCP |
+ BNXT_ULP_HDR_BIT_I_IPV6 |
+ BNXT_ULP_HDR_BIT_I_UDP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00A17C000000000,
+ .field_opt_bitmap = 0xB01A105E00000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
.field_list = {
[1] = 1,
[6] = 2,
- [7] = 21,
[8] = 3,
- [9] = 22,
[10] = 4,
- [11] = 23,
[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,
- [83] = 24,
- [85] = 25,
- [87] = 26,
- [89] = 27,
- [91] = 28,
- [93] = 29,
- [95] = 30,
- [97] = 31,
- [99] = 32,
+ [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,
},
},
- [133] = {
+ [151] = {
.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_VXLAN |
- BNXT_ULP_HDR_BIT_I_ETH |
- BNXT_ULP_HDR_BIT_I_TCP |
+ BNXT_ULP_HDR_BIT_I_IPV6 |
+ BNXT_ULP_HDR_BIT_I_UDP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00285F000000000,
+ .field_opt_bitmap = 0xB006841780000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
.field_list = {
[1] = 1,
[6] = 2,
- [7] = 23,
[8] = 3,
- [9] = 24,
[10] = 4,
- [11] = 25,
[32] = 5,
[34] = 6,
[36] = 7,
@@ -5414,48 +6273,58 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[46] = 12,
[48] = 13,
[50] = 14,
- [83] = 26,
- [85] = 27,
- [87] = 28,
- [89] = 29,
- [91] = 30,
- [93] = 31,
- [95] = 32,
- [97] = 33,
- [99] = 34,
+ [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,
},
},
- [134] = {
+ [152] = {
.app_id = 0,
.hdr_bitmap = { .bits =
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_UDP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00A17C000000000,
+ .field_opt_bitmap = 0xB01A101780000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
.field_list = {
[1] = 1,
[6] = 2,
- [7] = 21,
[8] = 3,
- [9] = 22,
[10] = 4,
- [11] = 23,
+ [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,
@@ -5465,67 +6334,74 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[64] = 11,
[66] = 12,
[100] = 13,
- [101] = 24,
+ [101] = 31,
[102] = 14,
- [103] = 25,
+ [103] = 32,
[104] = 15,
- [105] = 26,
+ [105] = 33,
[106] = 16,
- [107] = 27,
+ [107] = 34,
[120] = 17,
[121] = 18,
[122] = 19,
[123] = 20,
},
},
- [135] = {
+ [153] = {
.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_VXLAN |
- BNXT_ULP_HDR_BIT_I_ETH |
+ BNXT_ULP_HDR_BIT_I_IPV4 |
BNXT_ULP_HDR_BIT_I_UDP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00285F000000000,
+ .field_opt_bitmap = 0xB0068405E0000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
.field_list = {
[1] = 1,
[6] = 2,
- [7] = 23,
[8] = 3,
- [9] = 24,
[10] = 4,
- [11] = 25,
[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] = 26,
+ [101] = 33,
[102] = 16,
- [103] = 27,
+ [103] = 34,
[104] = 17,
- [105] = 28,
+ [105] = 35,
[106] = 18,
- [107] = 29,
+ [107] = 36,
[120] = 19,
[121] = 20,
[122] = 21,
[123] = 22,
},
},
- [136] = {
+ [154] = {
.app_id = 0,
.hdr_bitmap = { .bits =
BNXT_ULP_HDR_BIT_O_ETH |
@@ -5537,7 +6413,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
BNXT_ULP_HDR_BIT_I_TCP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00A170BC0000000,
+ .field_opt_bitmap = 0xB01A170BC0000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
@@ -5584,7 +6460,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 20,
},
},
- [137] = {
+ [155] = {
.app_id = 0,
.hdr_bitmap = { .bits =
BNXT_ULP_HDR_BIT_O_ETH |
@@ -5596,7 +6472,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
BNXT_ULP_HDR_BIT_I_TCP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00285C2F0000000,
+ .field_opt_bitmap = 0xB00685C2F0000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
@@ -5645,7 +6521,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 22,
},
},
- [138] = {
+ [156] = {
.app_id = 0,
.hdr_bitmap = { .bits =
BNXT_ULP_HDR_BIT_O_ETH |
@@ -5657,7 +6533,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
BNXT_ULP_HDR_BIT_I_TCP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00A1702F0000000,
+ .field_opt_bitmap = 0xB01A1702F0000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
@@ -5706,7 +6582,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 20,
},
},
- [139] = {
+ [157] = {
.app_id = 0,
.hdr_bitmap = { .bits =
BNXT_ULP_HDR_BIT_O_ETH |
@@ -5718,7 +6594,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
BNXT_ULP_HDR_BIT_I_TCP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00285C0BC000000,
+ .field_opt_bitmap = 0xB00685C0BC000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
@@ -5769,7 +6645,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 22,
},
},
- [140] = {
+ [158] = {
.app_id = 0,
.hdr_bitmap = { .bits =
BNXT_ULP_HDR_BIT_O_ETH |
@@ -5781,7 +6657,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
BNXT_ULP_HDR_BIT_I_UDP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00A170BC0000000,
+ .field_opt_bitmap = 0xB01A170BC0000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
@@ -5823,7 +6699,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 20,
},
},
- [141] = {
+ [159] = {
.app_id = 0,
.hdr_bitmap = { .bits =
BNXT_ULP_HDR_BIT_O_ETH |
@@ -5835,7 +6711,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
BNXT_ULP_HDR_BIT_I_UDP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00285C2F0000000,
+ .field_opt_bitmap = 0xB00685C2F0000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
@@ -5879,7 +6755,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 22,
},
},
- [142] = {
+ [160] = {
.app_id = 0,
.hdr_bitmap = { .bits =
BNXT_ULP_HDR_BIT_O_ETH |
@@ -5891,7 +6767,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
BNXT_ULP_HDR_BIT_I_UDP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00A1702F0000000,
+ .field_opt_bitmap = 0xB01A1702F0000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
@@ -5935,7 +6811,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 20,
},
},
- [143] = {
+ [161] = {
.app_id = 0,
.hdr_bitmap = { .bits =
BNXT_ULP_HDR_BIT_O_ETH |
@@ -5947,7 +6823,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
BNXT_ULP_HDR_BIT_I_UDP |
BNXT_ULP_FLOW_DIR_BITMASK_EGR },
.field_man_bitmap = 0x0,
- .field_opt_bitmap = 0xB00285C0BC000000,
+ .field_opt_bitmap = 0xB00685C0BC000000,
.field_exclude_bitmap = 0x0,
.class_tid = 2,
.flow_pattern_id = 1,
@@ -5993,7 +6869,7 @@ struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
[123] = 22,
},
},
- [144] = {
+ [162] = {
.app_id = 0,
.hdr_bitmap = { .bits =
BNXT_ULP_HDR_BIT_O_ETH |
@@ -11,8 +11,8 @@
#define BNXT_ULP_LOG2_MAX_NUM_DEV 2.32192809488736
#define BNXT_ULP_GEN_TBL_MAX_SZ 56
#define BNXT_ULP_ALLOCATOR_TBL_MAX_SZ 2
-#define BNXT_ULP_CLASS_MATCH_LIST_MAX_SZ 145
-#define BNXT_ULP_ACT_MATCH_LIST_MAX_SZ 19
+#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
@@ -35,9 +35,9 @@
#define ULP_THOR_CLASS_TBL_LIST_SIZE 175
#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 717
#define ULP_THOR_CLASS_KEY_EXT_LIST_SIZE 628
-#define ULP_THOR_CLASS_IDENT_LIST_SIZE 53
+#define ULP_THOR_CLASS_IDENT_LIST_SIZE 52
#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 1280
-#define ULP_THOR_CLASS_COND_LIST_SIZE 3828
+#define ULP_THOR_CLASS_COND_LIST_SIZE 3834
#define ULP_THOR_CLASS_COND_OPER_LIST_SIZE 15
#define ULP_THOR2_CLASS_TMPL_LIST_SIZE 5
#define ULP_THOR2_CLASS_TBL_LIST_SIZE 125
@@ -47,29 +47,29 @@
#define ULP_THOR2_CLASS_RESULT_FIELD_LIST_SIZE 1516
#define ULP_THOR2_CLASS_COND_LIST_SIZE 3302
#define ULP_THOR2_CLASS_COND_OPER_LIST_SIZE 7
-#define ULP_WH_PLUS_ACT_TMPL_LIST_SIZE 11
-#define ULP_WH_PLUS_ACT_TBL_LIST_SIZE 154
+#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 11
-#define ULP_THOR_ACT_TBL_LIST_SIZE 117
-#define ULP_THOR_ACT_KEY_INFO_LIST_SIZE 88
-#define ULP_THOR_ACT_KEY_EXT_LIST_SIZE 0
-#define ULP_THOR_ACT_IDENT_LIST_SIZE 24
-#define ULP_THOR_ACT_RESULT_FIELD_LIST_SIZE 644
-#define ULP_THOR_ACT_COND_LIST_SIZE 111
-#define ULP_THOR_ACT_COND_OPER_LIST_SIZE 2
-#define ULP_THOR2_ACT_TMPL_LIST_SIZE 11
-#define ULP_THOR2_ACT_TBL_LIST_SIZE 109
-#define ULP_THOR2_ACT_KEY_INFO_LIST_SIZE 64
-#define ULP_THOR2_ACT_KEY_EXT_LIST_SIZE 0
-#define ULP_THOR2_ACT_IDENT_LIST_SIZE 37
-#define ULP_THOR2_ACT_RESULT_FIELD_LIST_SIZE 591
-#define ULP_THOR2_ACT_COND_LIST_SIZE 86
+#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 110
+#define ULP_THOR2_ACT_KEY_INFO_LIST_SIZE 79
+#define ULP_THOR2_ACT_KEY_EXT_LIST_SIZE 4
+#define ULP_THOR2_ACT_IDENT_LIST_SIZE 39
+#define ULP_THOR2_ACT_RESULT_FIELD_LIST_SIZE 441
+#define ULP_THOR2_ACT_COND_LIST_SIZE 97
#define ULP_THOR2_ACT_COND_OPER_LIST_SIZE 0
enum bnxt_ulp_act_bit {
@@ -115,7 +115,9 @@ enum bnxt_ulp_act_bit {
BNXT_ULP_ACT_BIT_GENEVE_DECAP = 0x0000008000000000,
BNXT_ULP_ACT_BIT_GENEVE_ENCAP = 0x0000010000000000,
BNXT_ULP_ACT_BIT_MULTIPLE_PORT = 0x0000020000000000,
- BNXT_ULP_ACT_BIT_LAST = 0x0000040000000000
+ BNXT_ULP_ACT_BIT_NON_GENERIC = 0x0000040000000000,
+ BNXT_ULP_ACT_BIT_GENERIC = 0x0000080000000000,
+ BNXT_ULP_ACT_BIT_LAST = 0x0000100000000000
};
enum bnxt_ulp_cf_bit {
@@ -177,7 +179,9 @@ enum bnxt_ulp_hdr_bit {
BNXT_ULP_HDR_BIT_L2_ONLY = 0x0000000080000000,
BNXT_ULP_HDR_BIT_O_L4_FLOW = 0x0000000100000000,
BNXT_ULP_HDR_BIT_I_L4_FLOW = 0x0000000200000000,
- BNXT_ULP_HDR_BIT_LAST = 0x0000000400000000
+ BNXT_ULP_HDR_BIT_NON_GENERIC = 0x0000000400000000,
+ BNXT_ULP_HDR_BIT_GENERIC = 0x0000000800000000,
+ BNXT_ULP_HDR_BIT_LAST = 0x0000001000000000
};
enum bnxt_ulp_accept_opc {
@@ -928,7 +932,7 @@ enum bnxt_ulp_feature_bit {
};
enum bnxt_ulp_flow_dir_bitmask {
- BNXT_ULP_FLOW_DIR_BITMASK_ING = 0x0000000000000000,
+ BNXT_ULP_FLOW_DIR_BITMASK_ING = 0x4000000000000000,
BNXT_ULP_FLOW_DIR_BITMASK_EGR = 0x8000000000000000
};
@@ -1423,13 +1423,13 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = {
BNXT_ULP_DIRECTION_EGRESS] = {
.name = "EGRESS GENERIC_TABLE_SHARED_MIRROR",
.gen_tbl_type = BNXT_ULP_GEN_TBL_TYPE_KEY_LIST,
- .result_num_entries = 0,
- .result_num_bytes = 0,
- .key_num_bytes = 0,
+ .result_num_entries = 32,
+ .result_num_bytes = 5,
+ .key_num_bytes = 1,
.partial_key_num_bytes = 0,
.num_buckets = 0,
.hash_tbl_entries = 0,
- .result_byte_order = BNXT_ULP_BYTE_ORDER_LE,
+ .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
},
[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE << 1 |
BNXT_ULP_DIRECTION_INGRESS] = {
@@ -1591,13 +1591,13 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = {
BNXT_ULP_DIRECTION_EGRESS] = {
.name = "EGRESS GENERIC_TABLE_VXLAN_ENCAP_IPV6_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 = 8,
+ .key_num_bytes = 30,
.partial_key_num_bytes = 0,
- .num_buckets = 0,
- .hash_tbl_entries = 0,
- .result_byte_order = BNXT_ULP_BYTE_ORDER_LE,
+ .num_buckets = 8,
+ .hash_tbl_entries = 16384,
+ .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
},
[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_IPV6_CACHE << 1 |
BNXT_ULP_DIRECTION_INGRESS] = {
@@ -1939,25 +1939,25 @@ const struct bnxt_ulp_generic_tbl_params ulp_thor2_generic_tbl_params[] = {
BNXT_ULP_DIRECTION_INGRESS] = {
.name = "INGRESS GENERIC_TABLE_FLOW_CHAIN_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 = 32,
+ .result_num_bytes = 8,
+ .key_num_bytes = 4,
.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 = 128,
+ .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
},
[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_CACHE << 1 |
BNXT_ULP_DIRECTION_EGRESS] = {
.name = "EGRESS GENERIC_TABLE_FLOW_CHAIN_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 = 32,
+ .result_num_bytes = 8,
+ .key_num_bytes = 4,
.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 = 128,
+ .result_byte_order = BNXT_ULP_BYTE_ORDER_LE
},
[BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_L2_CNTXT << 1 |
BNXT_ULP_DIRECTION_INGRESS] = {
@@ -2063,12 +2063,12 @@ const struct bnxt_ulp_allocator_tbl_params ulp_thor2_allocator_tbl_params[] = {
[BNXT_ULP_RESOURCE_SUB_TYPE_ALLOCATOR_TABLE_JUMP_INDEX << 1 |
BNXT_ULP_DIRECTION_INGRESS] = {
.name = "INGRESS ALLOCATOR_TABLE_JUMP_INDEX",
- .num_entries = 0,
+ .num_entries = 32,
},
[BNXT_ULP_RESOURCE_SUB_TYPE_ALLOCATOR_TABLE_JUMP_INDEX << 1 |
BNXT_ULP_DIRECTION_EGRESS] = {
.name = "EGRESS ALLOCATOR_TABLE_JUMP_INDEX",
- .num_entries = 0,
+ .num_entries = 32,
}
};
@@ -2099,6 +2099,8 @@ const struct bnxt_ulp_template_device_tbls ulp_template_wh_plus_tbls[] = {
.tbl_list_size = ULP_WH_PLUS_ACT_TBL_LIST_SIZE,
.key_info_list = ulp_wh_plus_act_key_info_list,
.key_info_list_size = ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE,
+ .key_ext_list = ulp_wh_plus_act_key_ext_list,
+ .key_ext_list_size = ULP_WH_PLUS_ACT_KEY_EXT_LIST_SIZE,
.ident_list = ulp_wh_plus_act_ident_list,
.ident_list_size = ULP_WH_PLUS_ACT_IDENT_LIST_SIZE,
.cond_list = ulp_wh_plus_act_cond_list,
@@ -2137,6 +2139,8 @@ const struct bnxt_ulp_template_device_tbls ulp_template_thor_tbls[] = {
.tbl_list_size = ULP_THOR_ACT_TBL_LIST_SIZE,
.key_info_list = ulp_thor_act_key_info_list,
.key_info_list_size = ULP_THOR_ACT_KEY_INFO_LIST_SIZE,
+ .key_ext_list = ulp_thor_act_key_ext_list,
+ .key_ext_list_size = ULP_THOR_ACT_KEY_EXT_LIST_SIZE,
.ident_list = ulp_thor_act_ident_list,
.ident_list_size = ULP_THOR_ACT_IDENT_LIST_SIZE,
.cond_list = ulp_thor_act_cond_list,
@@ -2175,6 +2179,8 @@ const struct bnxt_ulp_template_device_tbls ulp_template_thor2_tbls[] = {
.tbl_list_size = ULP_THOR2_ACT_TBL_LIST_SIZE,
.key_info_list = ulp_thor2_act_key_info_list,
.key_info_list_size = ULP_THOR2_ACT_KEY_INFO_LIST_SIZE,
+ .key_ext_list = ulp_thor2_act_key_ext_list,
+ .key_ext_list_size = ULP_THOR2_ACT_KEY_EXT_LIST_SIZE,
.ident_list = ulp_thor2_act_ident_list,
.ident_list_size = ULP_THOR2_ACT_IDENT_LIST_SIZE,
.cond_list = ulp_thor2_act_cond_list,
@@ -2344,7 +2350,9 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = {
.min_flow_priority = 65535,
.max_flow_priority = 0,
.vxlan_port = 4789,
- .vxlan_ip_port = 0
+ .vxlan_ip_port = 0,
+ .default_class_bits = 0,
+ .default_act_bits = BNXT_ULP_ACT_BIT_NON_GENERIC
},
{
.app_id = 0,
@@ -2357,7 +2365,8 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = {
.vxlan_port = 0,
.vxlan_ip_port = 0,
.num_key_recipes_per_dir = 256,
- .feature_bits = BNXT_ULP_FEATURE_BIT_MULTI_TUNNEL_FLOW
+ .default_class_bits = 0,
+ .default_act_bits = BNXT_ULP_ACT_BIT_GENERIC
},
{
.app_id = 0,
@@ -2378,7 +2387,9 @@ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = {
.em_rx_key_max_sz = 112,
.em_tx_key_max_sz = 112,
.pbl_page_sz_in_bytes = 4096,
- .num_key_recipes_per_dir = 256
+ .num_key_recipes_per_dir = 256,
+ .default_class_bits = 0,
+ .default_act_bits = BNXT_ULP_ACT_BIT_GENERIC
}
};
@@ -33,6 +33,9 @@ extern struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_act_tmpl_list[];
extern struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_act_tbl_list[];
+extern struct
+bnxt_ulp_mapper_field_info ulp_wh_plus_act_key_ext_list[];
+
extern struct
bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[];
@@ -109,6 +112,9 @@ extern struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[];
extern struct bnxt_ulp_mapper_ident_info ulp_thor_act_ident_list[];
+extern struct
+bnxt_ulp_mapper_field_info ulp_thor_act_key_ext_list[];
+
extern struct
bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[];
@@ -158,6 +164,9 @@ extern struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[];
extern struct
bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[];
+extern struct
+bnxt_ulp_mapper_field_info ulp_thor2_act_key_ext_list[];
+
extern struct
bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[];
@@ -13,106 +13,230 @@ 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 = 16,
+ .num_tbls = 24,
.start_tbl_idx = 0,
.reject_info = {
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
.cond_start_idx = 0,
- .cond_nums = 4 }
+ .cond_nums = 2 }
},
/* act_tid: 2, ingress */
[2] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR2,
- .num_tbls = 12,
- .start_tbl_idx = 16,
+ .num_tbls = 1,
+ .start_tbl_idx = 24,
.reject_info = {
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
- .cond_start_idx = 19,
+ .cond_start_idx = 24,
.cond_nums = 0 }
},
/* act_tid: 3, ingress */
[3] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR2,
- .num_tbls = 9,
- .start_tbl_idx = 28,
+ .num_tbls = 12,
+ .start_tbl_idx = 25,
.reject_info = {
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
- .cond_start_idx = 23,
+ .cond_start_idx = 24,
.cond_nums = 0 }
},
/* act_tid: 4, ingress */
[4] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR2,
- .num_tbls = 7,
+ .num_tbls = 1,
.start_tbl_idx = 37,
.reject_info = {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
.cond_start_idx = 28,
- .cond_nums = 1 }
+ .cond_nums = 0 }
},
/* act_tid: 5, ingress */
[5] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR2,
- .num_tbls = 19,
- .start_tbl_idx = 44,
+ .num_tbls = 1,
+ .start_tbl_idx = 38,
.reject_info = {
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
- .cond_start_idx = 33,
+ .cond_start_idx = 28,
.cond_nums = 0 }
},
- /* act_tid: 6, egress */
+ /* act_tid: 6, ingress */
[6] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR2,
- .num_tbls = 6,
- .start_tbl_idx = 63,
+ .num_tbls = 19,
+ .start_tbl_idx = 39,
.reject_info = {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
- .cond_start_idx = 48,
- .cond_nums = 4 }
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 28,
+ .cond_nums = 0 }
},
/* act_tid: 7, egress */
[7] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR2,
- .num_tbls = 7,
- .start_tbl_idx = 69,
+ .num_tbls = 42,
+ .start_tbl_idx = 58,
.reject_info = {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 54,
- .cond_nums = 1 }
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+ .cond_start_idx = 43,
+ .cond_nums = 2 }
},
/* act_tid: 8, egress */
[8] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR2,
- .num_tbls = 21,
- .start_tbl_idx = 76,
+ .num_tbls = 1,
+ .start_tbl_idx = 100,
.reject_info = {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 58,
- .cond_nums = 2 }
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 92,
+ .cond_nums = 0 }
},
/* act_tid: 9, egress */
[9] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR2,
- .num_tbls = 6,
- .start_tbl_idx = 97,
+ .num_tbls = 1,
+ .start_tbl_idx = 101,
.reject_info = {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
- .cond_start_idx = 78,
- .cond_nums = 2 }
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 92,
+ .cond_nums = 0 }
},
/* act_tid: 10, egress */
[10] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR2,
- .num_tbls = 6,
+ .num_tbls = 1,
+ .start_tbl_idx = 102,
+ .reject_info = {
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 92,
+ .cond_nums = 0 }
+ },
+ /* act_tid: 11, egress */
+ [11] = {
+ .device_name = BNXT_ULP_DEVICE_ID_THOR2,
+ .num_tbls = 1,
.start_tbl_idx = 103,
+ .reject_info = {
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 92,
+ .cond_nums = 0 }
+ },
+ /* act_tid: 12, egress */
+ [12] = {
+ .device_name = BNXT_ULP_DEVICE_ID_THOR2,
+ .num_tbls = 6,
+ .start_tbl_idx = 104,
.reject_info = {
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
- .cond_start_idx = 81,
+ .cond_start_idx = 92,
.cond_nums = 4 }
}
};
struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
+ { /* act_tid: 1, , table: flow_chain_cache.rd */
+ .description = "flow_chain_cache.rd",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+ .resource_sub_type =
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_CACHE,
+ .direction = TF_DIR_RX,
+ .true_message = "Reject due to unsupported jump action.",
+ .execute_info = {
+ .cond_true_goto = 1023,
+ .cond_false_goto = 5,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 2,
+ .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 = 0,
+ .blob_key_bit_size = 32,
+ .key_bit_size = 32,
+ .key_num_fields = 1,
+ .ident_start_idx = 0,
+ .ident_nums = 1
+ },
+ { /* act_tid: 1, , table: control.flow_chain */
+ .description = "control.flow_chain",
+ .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 = 3,
+ .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: jump_index_table.alloc */
+ .description = "jump_index_table.alloc",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_ALLOCATOR_TABLE,
+ .resource_sub_type =
+ BNXT_ULP_RESOURCE_SUB_TYPE_ALLOCATOR_TABLE_JUMP_INDEX,
+ .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 = 4,
+ .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 = 0,
+ .result_bit_size = 0,
+ .result_num_fields = 0
+ },
+ { /* act_tid: 1, , table: control.metadata_cal */
+ .description = "control.metadata_cal",
+ .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 = 4,
+ .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_BIT_OR,
+ .func_oper_size = 16,
+ .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
+ .func_opr1 = BNXT_ULP_RF_IDX_JUMP_META_IDX,
+ .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+ .func_opr2 = ULP_THOR2_SYM_CHAIN_META_VAL,
+ .func_dst_opr = BNXT_ULP_RF_IDX_JUMP_META }
+ },
+ { /* act_tid: 1, , table: flow_chain_cache.write */
+ .description = "flow_chain_cache.write",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+ .resource_sub_type =
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_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 = 4,
+ .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 = 1,
+ .blob_key_bit_size = 32,
+ .key_bit_size = 32,
+ .key_num_fields = 1,
+ .result_start_idx = 0,
+ .result_bit_size = 64,
+ .result_num_fields = 2
+ },
{ /* act_tid: 1, , table: shared_meter_tbl_cache.rd */
.description = "shared_meter_tbl_cache.rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
@@ -129,17 +253,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_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 = 0,
+ .key_start_idx = 2,
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .ident_start_idx = 0,
+ .ident_start_idx = 1,
.ident_nums = 1
},
{ /* act_tid: 1, , table: control.meter_chk */
.description = "control.meter_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
+ .true_message = "Reject due to unknown meter.",
.execute_info = {
.cond_true_goto = 1023,
.cond_false_goto = 1,
@@ -166,17 +291,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_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 = 1,
+ .key_start_idx = 3,
.blob_key_bit_size = 5,
.key_bit_size = 5,
.key_num_fields = 1,
- .ident_start_idx = 1,
+ .ident_start_idx = 2,
.ident_nums = 1
},
{ /* act_tid: 1, , table: control.mirror */
.description = "control.mirror",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
+ .true_message = "Reject due to non-existent handle",
.execute_info = {
.cond_true_goto = 1023,
.cond_false_goto = 1,
@@ -186,43 +312,59 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 1, , table: control.check_mods */
- .description = "control.check_mods",
+ { /* act_tid: 1, , table: control.do_mod */
+ .description = "control.do_mod",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
.execute_info = {
- .cond_true_goto = 4,
- .cond_false_goto = 1,
+ .cond_true_goto = 1,
+ .cond_false_goto = 4,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
.cond_start_idx = 8,
- .cond_nums = 3 },
+ .cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
- },
- { /* act_tid: 1, , table: mod_record.ing_no_ttl */
- .description = "mod_record.ing_no_ttl",
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+ .func_info = {
+ .func_opc = BNXT_ULP_FUNC_OPC_BIT_AND,
+ .func_src1 = BNXT_ULP_FUNC_SRC_ACTION_BITMAP,
+ .func_opr1 = BNXT_ULP_FUNC_SRC_ACTION_BITMAP,
+ .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+ .func_opr2 = BNXT_ULP_ACT_BIT_DEC_TTL |
+ BNXT_ULP_ACT_BIT_SET_MAC_SRC |
+ BNXT_ULP_ACT_BIT_SET_MAC_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV4_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV4_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV6_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV6_DST |
+ BNXT_ULP_ACT_BIT_SET_TP_SRC |
+ BNXT_ULP_ACT_BIT_SET_TP_DST |
+ BNXT_ULP_ACT_BIT_JUMP,
+ .func_dst_opr = BNXT_ULP_RF_IDX_RF_0 }
+ },
+ { /* act_tid: 1, , table: mod_record.ttl_0 */
+ .description = "mod_record.ttl_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_true_goto = 2,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
- .cond_start_idx = 11,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 9,
.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 = 0,
+ .result_start_idx = 2,
.result_bit_size = 0,
.result_num_fields = 0,
- .encap_num_fields = 18
+ .encap_num_fields = 36
},
- { /* act_tid: 1, , table: mod_record.ing_ttl */
- .description = "mod_record.ing_ttl",
+ { /* act_tid: 1, , table: mod_record.non_ttl_0 */
+ .description = "mod_record.non_ttl_0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
.resource_type = CFA_RSUBTYPE_CMM_ACT,
.resource_sub_type =
@@ -232,16 +374,16 @@ 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 = 12,
+ .cond_start_idx = 10,
.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 = 18,
+ .result_start_idx = 38,
.result_bit_size = 0,
.result_num_fields = 0,
- .encap_num_fields = 26
+ .encap_num_fields = 28
},
{ /* act_tid: 1, , table: control.mod_handle_to_offset */
.description = "control.mod_handle_to_offset",
@@ -251,7 +393,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 = 13,
+ .cond_start_idx = 11,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -273,17 +415,17 @@ 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_OR,
- .cond_start_idx = 13,
+ .cond_start_idx = 11,
.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 = 2,
+ .key_start_idx = 4,
.blob_key_bit_size = 19,
.key_bit_size = 19,
.key_num_fields = 2,
- .ident_start_idx = 2,
+ .ident_start_idx = 3,
.ident_nums = 2
},
{ /* act_tid: 1, , table: control.tunnel_cache_check_act */
@@ -294,7 +436,7 @@ 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 = 15,
+ .cond_start_idx = 13,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -310,14 +452,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 = 16,
+ .cond_start_idx = 14,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_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_NOP,
.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
- .result_start_idx = 44,
+ .result_start_idx = 66,
.result_bit_size = 128,
.result_num_fields = 2
},
@@ -329,7 +471,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 = 16,
+ .cond_start_idx = 14,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -350,16 +492,16 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.direction = TF_DIR_RX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 1,
+ .cond_false_goto = 2,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 16,
- .cond_nums = 2 },
+ .cond_start_idx = 14,
+ .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 = 46,
+ .result_start_idx = 68,
.result_bit_size = 128,
.result_num_fields = 2
},
@@ -371,7 +513,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 = 18,
+ .cond_start_idx = 15,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -383,6 +525,60 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 8,
.func_dst_opr = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 }
},
+ { /* act_tid: 1, , table: control.queue_and_rss_test */
+ .description = "control.queue_and_rss_test",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+ .direction = TF_DIR_RX,
+ .true_message = "Reject due to both queue and rss set",
+ .execute_info = {
+ .cond_true_goto = 1,
+ .cond_false_goto = 1,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 15,
+ .cond_nums = 2 },
+ .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+ },
+ { /* act_tid: 1, , table: vnic_interface_rss_config.0 */
+ .description = "vnic_interface_rss_config.0",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_VNIC_TABLE,
+ .resource_sub_type =
+ BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_RSS,
+ .direction = TF_DIR_RX,
+ .execute_info = {
+ .cond_true_goto = 2,
+ .cond_false_goto = 1,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 17,
+ .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 = 70,
+ .result_bit_size = 0,
+ .result_num_fields = 0
+ },
+ { /* act_tid: 1, , table: vnic_interface_queue_config.0 */
+ .description = "vnic_interface_queue_config.0",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_VNIC_TABLE,
+ .resource_sub_type =
+ BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_QUEUE,
+ .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 = 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 = 70,
+ .result_bit_size = 0,
+ .result_num_fields = 0
+ },
{ /* act_tid: 1, , table: cmm_full_act_record.0 */
.description = "cmm_full_act_record.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
@@ -392,16 +588,16 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.direction = TF_DIR_RX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 0,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 18,
- .cond_nums = 1 },
+ .cond_false_goto = 1,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 19,
+ .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 = 48,
+ .result_start_idx = 70,
.result_bit_size = 192,
.result_num_fields = 18
},
@@ -413,7 +609,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 = 19,
+ .cond_start_idx = 24,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -425,7 +621,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 32,
.func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR }
},
- { /* act_tid: 2, , table: control.delete_chk */
+ { /* act_tid: 2, , table: control.reject */
+ .description = "control.reject",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+ .direction = TF_DIR_RX,
+ .true_message = "Thor 2 not supporting non-generic template",
+ .execute_info = {
+ .cond_true_goto = 1023,
+ .cond_false_goto = 0,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 24,
+ .cond_nums = 0 },
+ .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+ },
+ { /* act_tid: 3, , table: control.delete_chk */
.description = "control.delete_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -433,12 +643,12 @@ 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 = 19,
+ .cond_start_idx = 24,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 2, , table: shared_mirror_record.del_chk */
+ { /* act_tid: 3, , 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,
@@ -449,21 +659,21 @@ 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 = 20,
+ .cond_start_idx = 25,
.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 = 4,
+ .key_start_idx = 6,
.blob_key_bit_size = 5,
.key_bit_size = 5,
.key_num_fields = 1,
- .ident_start_idx = 4,
+ .ident_start_idx = 5,
.ident_nums = 1
},
- { /* act_tid: 2, , table: control.mirror_del_exist_chk */
+ { /* act_tid: 3, , table: control.mirror_del_exist_chk */
.description = "control.mirror_del_exist_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -471,12 +681,12 @@ 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 = 20,
+ .cond_start_idx = 25,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 2, , table: control.mirror_ref_cnt_chk */
+ { /* act_tid: 3, , table: control.mirror_ref_cnt_chk */
.description = "control.mirror_ref_cnt_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -484,7 +694,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 = 21,
+ .cond_start_idx = 26,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE,
@@ -497,7 +707,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 1,
.func_dst_opr = BNXT_ULP_RF_IDX_CC }
},
- { /* act_tid: 2, , table: control.create */
+ { /* act_tid: 3, , table: control.create */
.description = "control.create",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -505,13 +715,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 = 22,
+ .cond_start_idx = 27,
.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: 2, , table: mirror_tbl.alloc */
+ { /* act_tid: 3, , table: mirror_tbl.alloc */
.description = "mirror_tbl.alloc",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR,
@@ -522,7 +732,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 = 22,
+ .cond_start_idx = 27,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0,
@@ -530,11 +740,12 @@ 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 = 66,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 88,
.result_bit_size = 128,
.result_num_fields = 12
},
- { /* act_tid: 2, , table: cmm_stat_record.0 */
+ { /* act_tid: 3, , table: cmm_stat_record.0 */
.description = "cmm_stat_record.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_STAT,
.resource_type = CFA_RSUBTYPE_CMM_ACT,
@@ -545,7 +756,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 = 22,
+ .cond_start_idx = 27,
.cond_nums = 1 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL,
@@ -553,11 +764,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,
.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
- .result_start_idx = 78,
+ .result_start_idx = 100,
.result_bit_size = 128,
.result_num_fields = 2
},
- { /* act_tid: 2, , table: control.stat_handle_to_offset */
+ { /* act_tid: 3, , table: control.stat_handle_to_offset */
.description = "control.stat_handle_to_offset",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -565,7 +776,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 = 23,
+ .cond_start_idx = 28,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -577,7 +788,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 8,
.func_dst_opr = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 }
},
- { /* act_tid: 2, , table: cmm_full_act_record.0 */
+ { /* act_tid: 3, , table: cmm_full_act_record.0 */
.description = "cmm_full_act_record.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
.resource_type = CFA_RSUBTYPE_CMM_ACT,
@@ -588,7 +799,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 = 23,
+ .cond_start_idx = 28,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
@@ -596,11 +807,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,
.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
- .result_start_idx = 80,
+ .result_start_idx = 102,
.result_bit_size = 192,
.result_num_fields = 18
},
- { /* act_tid: 2, , table: control.act_handle_to_offset */
+ { /* act_tid: 3, , table: control.act_handle_to_offset */
.description = "control.act_handle_to_offset",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -608,7 +819,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 = 23,
+ .cond_start_idx = 28,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -620,7 +831,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 32,
.func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR }
},
- { /* act_tid: 2, , table: mirror_tbl.wr */
+ { /* act_tid: 3, , table: mirror_tbl.wr */
.description = "mirror_tbl.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = CFA_RSUBTYPE_IDX_TBL_MIRROR,
@@ -631,18 +842,19 @@ 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 = 23,
+ .cond_start_idx = 28,
.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,
- .result_start_idx = 98,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 120,
.result_bit_size = 128,
.result_num_fields = 12
},
- { /* act_tid: 2, , table: shared_mirror_record.wr */
+ { /* act_tid: 3, , 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,
@@ -653,7 +865,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 = 28,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
@@ -661,525 +873,228 @@ 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 = 5,
+ .key_start_idx = 7,
.blob_key_bit_size = 5,
.key_bit_size = 5,
.key_num_fields = 1,
- .result_start_idx = 110,
+ .result_start_idx = 132,
.result_bit_size = 37,
.result_num_fields = 2
},
- { /* act_tid: 3, , table: shared_mirror_record.rd */
- .description = "shared_mirror_record.rd",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
+ { /* act_tid: 4, , table: control.reject */
+ .description = "control.reject",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
+ .true_message = "Thor 2 not supporting non-generic template",
.execute_info = {
- .cond_true_goto = 1,
- .cond_false_goto = 2,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 23,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
- .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+ .cond_true_goto = 1023,
+ .cond_false_goto = 0,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 28,
+ .cond_nums = 0 },
.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 = 5,
- .key_bit_size = 5,
- .key_num_fields = 1,
- .ident_start_idx = 5,
- .ident_nums = 1
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 3, , table: control.mirror */
- .description = "control.mirror",
+ { /* act_tid: 5, , table: control.reject */
+ .description = "control.reject",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
+ .true_message = "Thor 2 not supporting non-generic template",
.execute_info = {
.cond_true_goto = 1023,
- .cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 24,
- .cond_nums = 1 },
+ .cond_false_goto = 0,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 28,
+ .cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 3, , table: mod_record.ing_no_ttl */
- .description = "mod_record.ing_no_ttl",
- .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,
+ { /* act_tid: 6, , table: control.create_check */
+ .description = "control.create_check",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 1,
+ .cond_false_goto = 10,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 25,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL,
+ .cond_start_idx = 28,
+ .cond_nums = 2 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 112,
- .result_bit_size = 0,
- .result_num_fields = 0,
- .encap_num_fields = 24
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 3, , table: mod_record.ing_ttl */
- .description = "mod_record.ing_ttl",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
- .resource_type = CFA_RSUBTYPE_CMM_ACT,
+ { /* act_tid: 6, , table: meter_profile_tbl_cache.rd */
+ .description = "meter_profile_tbl_cache.rd",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_METER_PROFILE_TBL_CACHE,
.direction = TF_DIR_RX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 1,
+ .cond_false_goto = 3,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 26,
+ .cond_start_idx = 30,
.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 = 136,
- .result_bit_size = 0,
- .result_num_fields = 0,
- .encap_num_fields = 32
- },
- { /* act_tid: 3, , table: control.mod_handle_to_offset */
- .description = "control.mod_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 = 27,
- .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,
- .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_MOD_HNDL,
- .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 8,
- .func_dst_opr = BNXT_ULP_RF_IDX_MODIFY_PTR }
+ .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP,
+ .key_start_idx = 8,
+ .blob_key_bit_size = 32,
+ .key_bit_size = 32,
+ .key_num_fields = 1,
+ .ident_start_idx = 6,
+ .ident_nums = 0
},
- { /* act_tid: 3, , table: cmm_stat_record.0 */
- .description = "cmm_stat_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_STAT,
- .resource_type = CFA_RSUBTYPE_CMM_ACT,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
+ { /* act_tid: 6, , table: control.shared_meter_profile_0 */
+ .description = "control.shared_meter_profile_0",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 2,
+ .cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 27,
+ .cond_start_idx = 31,
.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 = 168,
- .result_bit_size = 128,
- .result_num_fields = 2
+ .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+ .fdb_operand = BNXT_ULP_RF_IDX_RID
},
- { /* act_tid: 3, , table: control.stat_handle_to_offset */
- .description = "control.stat_handle_to_offset",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+ { /* act_tid: 6, , table: meter_profile_tbl_cache.wr */
+ .description = "meter_profile_tbl_cache.wr",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+ .resource_type = TF_TBL_TYPE_METER_PROF,
+ .resource_sub_type =
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_METER_PROFILE_TBL_CACHE,
.direction = TF_DIR_RX,
.execute_info = {
- .cond_true_goto = 1,
+ .cond_true_goto = 0,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 28,
+ .cond_start_idx = 32,
.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_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_STAT_HNDL,
- .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 8,
- .func_dst_opr = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 }
+ .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+ .fdb_operand = BNXT_ULP_RF_IDX_RID,
+ .key_start_idx = 9,
+ .blob_key_bit_size = 32,
+ .key_bit_size = 32,
+ .key_num_fields = 1,
+ .result_start_idx = 134,
+ .result_bit_size = 97,
+ .result_num_fields = 12
},
- { /* act_tid: 3, , table: cmm_full_act_record.0 */
- .description = "cmm_full_act_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
- .resource_type = CFA_RSUBTYPE_CMM_ACT,
+ { /* act_tid: 6, , table: shared_meter_tbl_cache.rd */
+ .description = "shared_meter_tbl_cache.rd",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_METER_TBL_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 = 28,
- .cond_nums = 0 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
+ .cond_false_goto = 1023,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .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_PUSH_FID,
- .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
- .result_start_idx = 170,
- .result_bit_size = 192,
- .result_num_fields = 18
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+ .ref_cnt_opcode = BNXT_ULP_REF_CNT_OPC_NOP,
+ .key_start_idx = 10,
+ .blob_key_bit_size = 32,
+ .key_bit_size = 32,
+ .key_num_fields = 1,
+ .ident_start_idx = 6,
+ .ident_nums = 0
},
- { /* act_tid: 3, , table: control.act_handle_to_offset */
- .description = "control.act_handle_to_offset",
+ { /* act_tid: 6, , table: control.meter_created_chk */
+ .description = "control.meter_created_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.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 = 28,
- .cond_nums = 0 },
+ .cond_true_goto = 1,
+ .cond_false_goto = 1023,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 33,
+ .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_HANDLE_TO_OFFSET,
- .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
- .func_opr1 = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
- .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 32,
- .func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR }
+ .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+ .fdb_operand = BNXT_ULP_RF_IDX_RID
},
- { /* act_tid: 4, , table: shared_mirror_record.rd */
- .description = "shared_mirror_record.rd",
+ { /* act_tid: 6, , table: meter_profile_tbl_cache.rd2 */
+ .description = "meter_profile_tbl_cache.rd2",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_METER_PROFILE_TBL_CACHE,
.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 = 29,
- .cond_nums = 1 },
+ .cond_false_goto = 1,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 34,
+ .cond_nums = 0 },
.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
- .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+ .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 = 7,
- .blob_key_bit_size = 5,
- .key_bit_size = 5,
+ .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+ .fdb_operand = BNXT_ULP_RF_IDX_RID,
+ .key_start_idx = 11,
+ .blob_key_bit_size = 32,
+ .key_bit_size = 32,
.key_num_fields = 1,
.ident_start_idx = 6,
- .ident_nums = 1
+ .ident_nums = 11
},
- { /* act_tid: 4, , table: control.mirror */
- .description = "control.mirror",
+ { /* act_tid: 6, , table: control.shared_meter_profile_chk */
+ .description = "control.shared_meter_profile_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
.execute_info = {
.cond_true_goto = 1023,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 30,
+ .cond_start_idx = 34,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 4, , table: vnic_interface_rss_config.0 */
- .description = "vnic_interface_rss_config.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_VNIC_TABLE,
+ { /* act_tid: 6, , table: meter_tbl.0 */
+ .description = "meter_tbl.0",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+ .resource_type = CFA_RSUBTYPE_IDX_TBL_METER_INST,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_RSS,
+ 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_AND,
- .cond_start_idx = 31,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_VNIC_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_RSS_VNIC,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 35,
+ .cond_nums = 0 },
+ .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_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_PUSH_FID,
- .result_start_idx = 188,
- .result_bit_size = 0,
- .result_num_fields = 0
+ .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 = 146,
+ .result_bit_size = 128,
+ .result_num_fields = 18
},
- { /* act_tid: 4, , table: cmm_stat_record.0 */
- .description = "cmm_stat_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_STAT,
- .resource_type = CFA_RSUBTYPE_CMM_ACT,
+ { /* act_tid: 6, , table: shared_meter_tbl_cache.wr */
+ .description = "shared_meter_tbl_cache.wr",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
- .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 = 32,
- .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 = 188,
- .result_bit_size = 128,
- .result_num_fields = 2
- },
- { /* act_tid: 4, , table: control.stat_handle_to_offset */
- .description = "control.stat_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 = 33,
- .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_STAT_HNDL,
- .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 8,
- .func_dst_opr = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 }
- },
- { /* act_tid: 4, , table: cmm_full_act_record.0 */
- .description = "cmm_full_act_record.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 = 33,
- .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 = 190,
- .result_bit_size = 192,
- .result_num_fields = 18
- },
- { /* act_tid: 4, , table: control.act_handle_to_offset */
- .description = "control.act_handle_to_offset",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
- .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 = 33,
- .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_ACT_HNDL,
- .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 32,
- .func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR }
- },
- { /* act_tid: 5, , table: control.create_check */
- .description = "control.create_check",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
- .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 = 33,
- .cond_nums = 2 },
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
- },
- { /* act_tid: 5, , table: meter_profile_tbl_cache.rd */
- .description = "meter_profile_tbl_cache.rd",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_METER_PROFILE_TBL_CACHE,
- .direction = TF_DIR_RX,
- .execute_info = {
- .cond_true_goto = 1,
- .cond_false_goto = 3,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 35,
- .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,
- .blob_key_bit_size = 32,
- .key_bit_size = 32,
- .key_num_fields = 1,
- .ident_start_idx = 7,
- .ident_nums = 0
- },
- { /* act_tid: 5, , table: control.shared_meter_profile_0 */
- .description = "control.shared_meter_profile_0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
- .direction = TF_DIR_RX,
- .execute_info = {
- .cond_true_goto = 1,
- .cond_false_goto = 1023,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 36,
- .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: 5, , table: meter_profile_tbl_cache.wr */
- .description = "meter_profile_tbl_cache.wr",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_type = TF_TBL_TYPE_METER_PROF,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_METER_PROFILE_TBL_CACHE,
- .direction = TF_DIR_RX,
- .execute_info = {
- .cond_true_goto = 0,
- .cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .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 = 9,
- .blob_key_bit_size = 32,
- .key_bit_size = 32,
- .key_num_fields = 1,
- .result_start_idx = 208,
- .result_bit_size = 97,
- .result_num_fields = 12
- },
- { /* act_tid: 5, , table: shared_meter_tbl_cache.rd */
- .description = "shared_meter_tbl_cache.rd",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_METER_TBL_CACHE,
- .direction = TF_DIR_RX,
- .execute_info = {
- .cond_true_goto = 1,
- .cond_false_goto = 1023,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 37,
- .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,
- .blob_key_bit_size = 32,
- .key_bit_size = 32,
- .key_num_fields = 1,
- .ident_start_idx = 7,
- .ident_nums = 0
- },
- { /* act_tid: 5, , table: control.meter_created_chk */
- .description = "control.meter_created_chk",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
- .direction = TF_DIR_RX,
- .execute_info = {
- .cond_true_goto = 1,
- .cond_false_goto = 1023,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .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,
- .fdb_operand = BNXT_ULP_RF_IDX_RID
- },
- { /* act_tid: 5, , table: meter_profile_tbl_cache.rd2 */
- .description = "meter_profile_tbl_cache.rd2",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_METER_PROFILE_TBL_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 = 39,
- .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,
- .blob_key_bit_size = 32,
- .key_bit_size = 32,
- .key_num_fields = 1,
- .ident_start_idx = 7,
- .ident_nums = 11
- },
- { /* act_tid: 5, , table: control.shared_meter_profile_chk */
- .description = "control.shared_meter_profile_chk",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
- .direction = TF_DIR_RX,
- .execute_info = {
- .cond_true_goto = 1023,
- .cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 39,
- .cond_nums = 1 },
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
- },
- { /* act_tid: 5, , table: meter_tbl.0 */
- .description = "meter_tbl.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = CFA_RSUBTYPE_IDX_TBL_METER_INST,
- .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 = 40,
- .cond_nums = 0 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_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_PUSH_RID_REGFILE,
- .fdb_operand = BNXT_ULP_RF_IDX_RID,
- .result_start_idx = 220,
- .result_bit_size = 128,
- .result_num_fields = 18
- },
- { /* act_tid: 5, , table: shared_meter_tbl_cache.wr */
- .description = "shared_meter_tbl_cache.wr",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_METER_TBL_CACHE,
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_METER_TBL_CACHE,
.direction = TF_DIR_RX,
.execute_info = {
.cond_true_goto = 0,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 40,
+ .cond_start_idx = 35,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
@@ -1190,11 +1105,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .result_start_idx = 238,
+ .result_start_idx = 164,
.result_bit_size = 74,
.result_num_fields = 3
},
- { /* act_tid: 5, , table: control.delete_check */
+ { /* act_tid: 6, , table: control.delete_check */
.description = "control.delete_check",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -1202,12 +1117,12 @@ 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 = 40,
+ .cond_start_idx = 35,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 5, , table: meter_profile_tbl_cache.del_chk */
+ { /* act_tid: 6, , table: meter_profile_tbl_cache.del_chk */
.description = "meter_profile_tbl_cache.del_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1217,7 +1132,7 @@ 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 = 41,
+ .cond_start_idx = 36,
.cond_nums = 1 },
.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
@@ -1228,10 +1143,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .ident_start_idx = 18,
+ .ident_start_idx = 17,
.ident_nums = 1
},
- { /* act_tid: 5, , table: control.mtr_prof_ref_cnt_chk */
+ { /* act_tid: 6, , table: control.mtr_prof_ref_cnt_chk */
.description = "control.mtr_prof_ref_cnt_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -1239,7 +1154,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 = 42,
+ .cond_start_idx = 37,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE,
@@ -1252,7 +1167,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 1,
.func_dst_opr = BNXT_ULP_RF_IDX_CC }
},
- { /* act_tid: 5, , table: shared_meter_tbl_cache.del_chk */
+ { /* act_tid: 6, , table: shared_meter_tbl_cache.del_chk */
.description = "shared_meter_tbl_cache.del_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1262,7 +1177,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 = 43,
+ .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,
@@ -1273,10 +1188,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .ident_start_idx = 19,
+ .ident_start_idx = 18,
.ident_nums = 1
},
- { /* act_tid: 5, , table: control.shared_mtr_ref_cnt_chk */
+ { /* act_tid: 6, , table: control.shared_mtr_ref_cnt_chk */
.description = "control.shared_mtr_ref_cnt_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -1284,7 +1199,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 = 44,
+ .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,
@@ -1297,7 +1212,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 1,
.func_dst_opr = BNXT_ULP_RF_IDX_CC }
},
- { /* act_tid: 5, , table: control.update_check */
+ { /* act_tid: 6, , table: control.update_check */
.description = "control.update_check",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -1305,12 +1220,12 @@ 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 = 45,
+ .cond_start_idx = 40,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 5, , table: shared_meter_tbl_cache.rd_update */
+ { /* act_tid: 6, , table: shared_meter_tbl_cache.rd_update */
.description = "shared_meter_tbl_cache.rd_update",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1320,7 +1235,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 = 45,
+ .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,
@@ -1331,10 +1246,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .ident_start_idx = 20,
+ .ident_start_idx = 19,
.ident_nums = 1
},
- { /* act_tid: 5, , table: meter_tbl.update_rd */
+ { /* act_tid: 6, , table: meter_tbl.update_rd */
.description = "meter_tbl.update_rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = CFA_RSUBTYPE_IDX_TBL_METER_INST,
@@ -1345,17 +1260,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 = 46,
+ .cond_start_idx = 41,
.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,
- .ident_start_idx = 21,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .ident_start_idx = 20,
.ident_nums = 13,
.result_bit_size = 128
},
- { /* act_tid: 5, , table: meter_tbl.update_wr */
+ { /* act_tid: 6, , table: meter_tbl.update_wr */
.description = "meter_tbl.update_wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = CFA_RSUBTYPE_IDX_TBL_METER_INST,
@@ -1366,59 +1282,122 @@ 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 = 48,
+ .cond_start_idx = 43,
.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,
- .result_start_idx = 241,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 167,
.result_bit_size = 128,
.result_num_fields = 18
},
- { /* act_tid: 6, , table: mod_record.ing_ttl */
- .description = "mod_record.ing_ttl",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
- .resource_type = CFA_RSUBTYPE_CMM_ACT,
+ { /* act_tid: 7, , table: flow_chain_cache.rd */
+ .description = "flow_chain_cache.rd",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_CACHE,
.direction = TF_DIR_TX,
+ .true_message = "Reject due to unsupported jump action.",
.execute_info = {
- .cond_true_goto = 1,
- .cond_false_goto = 2,
+ .cond_true_goto = 1023,
+ .cond_false_goto = 5,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 52,
+ .cond_start_idx = 45,
.cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL,
+ .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,
- .result_start_idx = 259,
+ .key_start_idx = 16,
+ .blob_key_bit_size = 32,
+ .key_bit_size = 32,
+ .key_num_fields = 1,
+ .ident_start_idx = 33,
+ .ident_nums = 1
+ },
+ { /* act_tid: 7, , table: control.flow_chain */
+ .description = "control.flow_chain",
+ .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 = 46,
+ .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: jump_index_table.alloc */
+ .description = "jump_index_table.alloc",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_ALLOCATOR_TABLE,
+ .resource_sub_type =
+ BNXT_ULP_RESOURCE_SUB_TYPE_ALLOCATOR_TABLE_JUMP_INDEX,
+ .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 = 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 = 185,
.result_bit_size = 0,
- .result_num_fields = 0,
- .encap_num_fields = 24
+ .result_num_fields = 0
},
- { /* act_tid: 6, , table: control.mod_handle_to_offset */
- .description = "control.mod_handle_to_offset",
+ { /* act_tid: 7, , table: control.metadata_cal */
+ .description = "control.metadata_cal",
.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 = 53,
+ .cond_start_idx = 47,
.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_opc = BNXT_ULP_FUNC_OPC_BIT_OR,
+ .func_oper_size = 16,
.func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
- .func_opr1 = BNXT_ULP_RF_IDX_CMM_MOD_HNDL,
+ .func_opr1 = BNXT_ULP_RF_IDX_JUMP_META_IDX,
.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 8,
- .func_dst_opr = BNXT_ULP_RF_IDX_MODIFY_PTR }
+ .func_opr2 = ULP_THOR2_SYM_CHAIN_META_VAL,
+ .func_dst_opr = BNXT_ULP_RF_IDX_JUMP_META }
+ },
+ { /* act_tid: 7, , table: flow_chain_cache.write */
+ .description = "flow_chain_cache.write",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+ .resource_sub_type =
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_FLOW_CHAIN_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 = 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 = 17,
+ .blob_key_bit_size = 32,
+ .key_bit_size = 32,
+ .key_num_fields = 1,
+ .result_start_idx = 185,
+ .result_bit_size = 64,
+ .result_num_fields = 2
},
- { /* act_tid: 6, , table: cmm_stat_record.0 */
+ { /* act_tid: 7, , table: cmm_stat_record.0 */
.description = "cmm_stat_record.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_STAT,
.resource_type = CFA_RSUBTYPE_CMM_ACT,
@@ -1429,18 +1408,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 = 53,
+ .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 = 283,
+ .result_start_idx = 187,
.result_bit_size = 128,
.result_num_fields = 2
},
- { /* act_tid: 6, , table: control.stat_handle_to_offset */
+ { /* act_tid: 7, , table: control.stat_handle_to_offset */
.description = "control.stat_handle_to_offset",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
@@ -1448,7 +1427,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 = 54,
+ .cond_start_idx = 48,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1460,72 +1439,118 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 8,
.func_dst_opr = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 }
},
- { /* act_tid: 6, , table: cmm_full_act_record.0 */
- .description = "cmm_full_act_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
- .resource_type = CFA_RSUBTYPE_CMM_ACT,
+ { /* act_tid: 7, , table: shared_mirror_record.rd */
+ .description = "shared_mirror_record.rd",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+ .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
.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 = 54,
- .cond_nums = 0 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
+ .cond_false_goto = 2,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .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,
- .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
- .result_start_idx = 285,
- .result_bit_size = 192,
- .result_num_fields = 18
+ .key_start_idx = 18,
+ .blob_key_bit_size = 5,
+ .key_bit_size = 5,
+ .key_num_fields = 1,
+ .ident_start_idx = 34,
+ .ident_nums = 1
},
- { /* act_tid: 6, , table: control.act_handle_to_offset */
- .description = "control.act_handle_to_offset",
+ { /* act_tid: 7, , table: control.mirror */
+ .description = "control.mirror",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
+ .true_message = "Reject due to non-existent handle",
.execute_info = {
- .cond_true_goto = 0,
- .cond_false_goto = 0,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 54,
- .cond_nums = 0 },
+ .cond_true_goto = 1023,
+ .cond_false_goto = 1,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 49,
+ .cond_nums = 1 },
+ .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+ },
+ { /* act_tid: 7, , table: control.do_mod */
+ .description = "control.do_mod",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+ .direction = TF_DIR_TX,
+ .execute_info = {
+ .cond_true_goto = 1,
+ .cond_false_goto = 5,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 50,
+ .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_HANDLE_TO_OFFSET,
- .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
- .func_opr1 = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
+ .func_opc = BNXT_ULP_FUNC_OPC_BIT_AND,
+ .func_src1 = BNXT_ULP_FUNC_SRC_ACTION_BITMAP,
+ .func_opr1 = BNXT_ULP_FUNC_SRC_ACTION_BITMAP,
.func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 32,
- .func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR }
+ .func_opr2 = BNXT_ULP_ACT_BIT_DEC_TTL |
+ BNXT_ULP_ACT_BIT_SET_MAC_SRC |
+ BNXT_ULP_ACT_BIT_SET_MAC_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV4_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV4_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV6_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV6_DST |
+ BNXT_ULP_ACT_BIT_SET_TP_SRC |
+ BNXT_ULP_ACT_BIT_SET_TP_DST |
+ BNXT_ULP_ACT_BIT_VF_TO_VF |
+ BNXT_ULP_ACT_BIT_JUMP,
+ .func_dst_opr = BNXT_ULP_RF_IDX_RF_0 }
+ },
+ { /* act_tid: 7, , table: control.vf_to_vf_calc */
+ .description = "control.vf_to_vf_calc",
+ .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_AND,
+ .cond_start_idx = 51,
+ .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_BIT_OR,
+ .func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
+ .func_opr1 = BNXT_ULP_CF_IDX_VNIC,
+ .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_1 }
},
- { /* act_tid: 7, , table: mod_record.egr_no_ttl */
- .description = "mod_record.egr_no_ttl",
+ { /* act_tid: 7, , table: mod_record.ttl_0 */
+ .description = "mod_record.ttl_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_TX,
.execute_info = {
- .cond_true_goto = 1,
+ .cond_true_goto = 2,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 55,
+ .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 = 303,
+ .result_start_idx = 189,
.result_bit_size = 0,
.result_num_fields = 0,
- .encap_num_fields = 24
+ .encap_num_fields = 36
},
- { /* act_tid: 7, , table: mod_record.egr_ttl */
- .description = "mod_record.egr_ttl",
+ { /* act_tid: 7, , table: mod_record.non_ttl_0 */
+ .description = "mod_record.non_ttl_0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
.resource_type = CFA_RSUBTYPE_CMM_ACT,
.resource_sub_type =
@@ -1535,16 +1560,16 @@ 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 = 56,
+ .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 = 327,
+ .result_start_idx = 225,
.result_bit_size = 0,
.result_num_fields = 0,
- .encap_num_fields = 32
+ .encap_num_fields = 28
},
{ /* act_tid: 7, , table: control.mod_handle_to_offset */
.description = "control.mod_handle_to_offset",
@@ -1554,7 +1579,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 = 57,
+ .cond_start_idx = 74,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1566,213 +1591,189 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 8,
.func_dst_opr = BNXT_ULP_RF_IDX_MODIFY_PTR }
},
- { /* act_tid: 7, , table: cmm_stat_record.0 */
- .description = "cmm_stat_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_STAT,
- .resource_type = CFA_RSUBTYPE_CMM_ACT,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
+ { /* act_tid: 7, , table: control.do_tunnel_check */
+ .description = "control.do_tunnel_check",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 2,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 57,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL,
+ .cond_false_goto = 24,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+ .cond_start_idx = 74,
+ .cond_nums = 2 },
.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 = 359,
- .result_bit_size = 128,
- .result_num_fields = 2
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 7, , table: control.stat_handle_to_offset */
- .description = "control.stat_handle_to_offset",
+ { /* act_tid: 7, , table: control.do_tunnel_vlan_exclusion */
+ .description = "control.do_tunnel_vlan_exclusion",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
+ .true_message = "Tunnel Encap + Push VLAN unsupported.",
.execute_info = {
- .cond_true_goto = 1,
+ .cond_true_goto = 1023,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 58,
- .cond_nums = 0 },
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+ .cond_start_idx = 76,
+ .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_HANDLE_TO_OFFSET,
- .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
- .func_opr1 = BNXT_ULP_RF_IDX_CMM_STAT_HNDL,
- .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 8,
- .func_dst_opr = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 }
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 7, , table: cmm_full_act_record.0 */
- .description = "cmm_full_act_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
- .resource_type = CFA_RSUBTYPE_CMM_ACT,
+ { /* act_tid: 7, , table: source_property_cache.rd */
+ .description = "source_property_cache.rd",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_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 = 58,
- .cond_nums = 0 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
+ .cond_false_goto = 6,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 77,
+ .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,
- .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
- .result_start_idx = 361,
- .result_bit_size = 192,
- .result_num_fields = 18
+ .key_start_idx = 19,
+ .blob_key_bit_size = 85,
+ .key_bit_size = 85,
+ .key_num_fields = 3,
+ .ident_start_idx = 35,
+ .ident_nums = 1
},
- { /* act_tid: 7, , table: control.act_handle_to_offset */
- .description = "control.act_handle_to_offset",
+ { /* act_tid: 7, , table: control.sp_rec_v4 */
+ .description = "control.sp_rec_v4",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.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 = 58,
- .cond_nums = 0 },
+ .cond_true_goto = 1,
+ .cond_false_goto = 4,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 78,
+ .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_HANDLE_TO_OFFSET,
- .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
- .func_opr1 = BNXT_ULP_RF_IDX_CMM_ACT_HNDL,
- .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 32,
- .func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR }
+ .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
+ .fdb_operand = BNXT_ULP_RF_IDX_RID
},
- { /* act_tid: 8, , table: cmm_stat_record.0 */
- .description = "cmm_stat_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_STAT,
+ { /* act_tid: 7, , 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_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 2,
+ .cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 60,
+ .cond_start_idx = 79,
.cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_CMM_STAT_HNDL,
+ .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_FID,
- .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
- .result_start_idx = 379,
- .result_bit_size = 128,
- .result_num_fields = 2
+ .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
+ .fdb_operand = BNXT_ULP_RF_IDX_RID,
+ .result_start_idx = 253,
+ .result_bit_size = 0,
+ .result_num_fields = 0,
+ .encap_num_fields = 3
},
- { /* act_tid: 8, , table: control.stat_handle_to_offset */
- .description = "control.stat_handle_to_offset",
+ { /* act_tid: 7, , table: control.srp_handle_to_offset */
+ .description = "control.srp_handle_to_offset",
.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 = 61,
+ .cond_start_idx = 80,
.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_STAT_HNDL,
+ .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_FLOW_CNTR_PTR_0 }
+ .func_dst_opr = BNXT_ULP_RF_IDX_MAIN_SP_PTR }
},
- { /* act_tid: 8, , table: mod_record.egr_set_mac */
- .description = "mod_record.egr_set_mac",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
- .resource_type = CFA_RSUBTYPE_CMM_ACT,
+ { /* act_tid: 7, , table: source_property_cache.wr */
+ .description = "source_property_cache.wr",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE,
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 2,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
- .cond_start_idx = 61,
- .cond_nums = 2 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL,
+ .cond_false_goto = 1,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .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,
- .result_start_idx = 381,
- .result_bit_size = 0,
- .result_num_fields = 0,
- .encap_num_fields = 18
+ .key_start_idx = 22,
+ .blob_key_bit_size = 85,
+ .key_bit_size = 85,
+ .key_num_fields = 3,
+ .result_start_idx = 256,
+ .result_bit_size = 64,
+ .result_num_fields = 2
},
- { /* act_tid: 8, , table: control.mod_handle_to_offset */
- .description = "control.mod_handle_to_offset",
+ { /* act_tid: 7, , table: control.do_vxlan_check */
+ .description = "control.do_vxlan_check",
.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 = 63,
- .cond_nums = 0 },
+ .cond_false_goto = 11,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+ .cond_start_idx = 80,
+ .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_HANDLE_TO_OFFSET,
- .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
- .func_opr1 = BNXT_ULP_RF_IDX_CMM_MOD_HNDL,
- .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 8,
- .func_dst_opr = BNXT_ULP_RF_IDX_MODIFY_PTR }
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 8, , table: source_property_cache.rd */
- .description = "source_property_cache.rd",
+ { /* act_tid: 7, , table: vxlan_encap_rec_cache.rd */
+ .description = "vxlan_encap_rec_cache.rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE,
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_REC_CACHE,
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
.cond_false_goto = 5,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 63,
+ .cond_start_idx = 81,
.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 = 16,
- .blob_key_bit_size = 85,
- .key_bit_size = 85,
- .key_num_fields = 3,
- .ident_start_idx = 34,
+ .key_start_idx = 25,
+ .blob_key_bit_size = 141,
+ .key_bit_size = 141,
+ .key_num_fields = 6,
+ .ident_start_idx = 36,
.ident_nums = 1
},
- { /* act_tid: 8, , table: control.sp_rec_v4 */
- .description = "control.sp_rec_v4",
+ { /* act_tid: 7, , table: control.vxlan_v4_encap */
+ .description = "control.vxlan_v4_encap",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 4,
+ .cond_false_goto = 17,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 64,
+ .cond_start_idx = 82,
.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: 8, , table: sp_smac_ipv4.0 */
- .description = "sp_smac_ipv4.0",
+ { /* act_tid: 7, , table: ext_tun_vxlan_encap_record.ipv4_vxlan */
+ .description = "ext_tun_vxlan_encap_record.ipv4_vxlan",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
.resource_type = CFA_RSUBTYPE_CMM_ACT,
.resource_sub_type =
@@ -1781,102 +1782,102 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.execute_info = {
.cond_true_goto = 1,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 65,
- .cond_nums = 1 },
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 83,
+ .cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_CMM_SRP_HNDL,
+ .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 = 399,
+ .result_start_idx = 258,
.result_bit_size = 0,
.result_num_fields = 0,
- .encap_num_fields = 3
+ .encap_num_fields = 25
},
- { /* act_tid: 8, , table: control.srp_handle_to_offset */
- .description = "control.srp_handle_to_offset",
+ { /* act_tid: 7, , table: control.enc_handle_to_offset */
+ .description = "control.enc_handle_to_offset",
.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 = 66,
+ .cond_start_idx = 83,
.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_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_MAIN_SP_PTR }
+ .func_dst_opr = BNXT_ULP_RF_IDX_ENCAP_PTR_0 }
},
- { /* act_tid: 8, , table: source_property_cache.wr */
- .description = "source_property_cache.wr",
+ { /* act_tid: 7, , table: vxlan_encap_rec_cache.wr */
+ .description = "vxlan_encap_rec_cache.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE,
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_REC_CACHE,
.direction = TF_DIR_TX,
.execute_info = {
- .cond_true_goto = 1,
+ .cond_true_goto = 14,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 66,
+ .cond_start_idx = 83,
.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 = 19,
- .blob_key_bit_size = 85,
- .key_bit_size = 85,
- .key_num_fields = 3,
- .result_start_idx = 402,
+ .key_start_idx = 31,
+ .blob_key_bit_size = 141,
+ .key_bit_size = 141,
+ .key_num_fields = 6,
+ .result_start_idx = 283,
.result_bit_size = 64,
.result_num_fields = 2
},
- { /* act_tid: 8, , table: vxlan_encap_rec_cache.rd */
- .description = "vxlan_encap_rec_cache.rd",
+ { /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.rd */
+ .description = "vxlan_encap_ipv6_rec_cache.rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_REC_CACHE,
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_IPV6_REC_CACHE,
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 10,
+ .cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 66,
- .cond_nums = 2 },
+ .cond_start_idx = 83,
+ .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 = 22,
- .blob_key_bit_size = 141,
- .key_bit_size = 141,
+ .key_start_idx = 37,
+ .blob_key_bit_size = 237,
+ .key_bit_size = 237,
.key_num_fields = 6,
- .ident_start_idx = 35,
+ .ident_start_idx = 37,
.ident_nums = 1
},
- { /* act_tid: 8, , table: control.vxlan_v4_encap */
- .description = "control.vxlan_v4_encap",
+ { /* act_tid: 7, , table: control.vxlan_v6_encap */
+ .description = "control.vxlan_v6_encap",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 4,
+ .cond_false_goto = 12,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 68,
+ .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: 8, , table: ext_tun_vxlan_encap_record.ipv4_vxlan */
- .description = "ext_tun_vxlan_encap_record.ipv4_vxlan",
+ { /* act_tid: 7, , table: ext_tun_vxlan_encap_record.ipv6_vxlan */
+ .description = "ext_tun_vxlan_encap_record.ipv6_vxlan",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
.resource_type = CFA_RSUBTYPE_CMM_ACT,
.resource_sub_type =
@@ -1885,28 +1886,28 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.execute_info = {
.cond_true_goto = 1,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 69,
- .cond_nums = 2 },
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 85,
+ .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 = 404,
+ .result_start_idx = 285,
.result_bit_size = 0,
.result_num_fields = 0,
- .encap_num_fields = 25
+ .encap_num_fields = 23
},
- { /* act_tid: 8, , table: control.enc_handle_to_offset */
- .description = "control.enc_handle_to_offset",
+ { /* act_tid: 7, , table: control.v6_vxlan_enc_handle_to_offset */
+ .description = "control.v6_vxlan_enc_handle_to_offset",
.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 = 71,
+ .cond_start_idx = 85,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1918,31 +1919,31 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 8,
.func_dst_opr = BNXT_ULP_RF_IDX_ENCAP_PTR_0 }
},
- { /* act_tid: 8, , table: vxlan_encap_rec_cache.wr */
- .description = "vxlan_encap_rec_cache.wr",
+ { /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.wr */
+ .description = "vxlan_encap_ipv6_rec_cache.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_REC_CACHE,
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_IPV6_REC_CACHE,
.direction = TF_DIR_TX,
.execute_info = {
- .cond_true_goto = 1,
+ .cond_true_goto = 9,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 71,
+ .cond_start_idx = 85,
.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 = 28,
- .blob_key_bit_size = 141,
- .key_bit_size = 141,
+ .key_start_idx = 43,
+ .blob_key_bit_size = 237,
+ .key_bit_size = 237,
.key_num_fields = 6,
- .result_start_idx = 429,
+ .result_start_idx = 308,
.result_bit_size = 64,
.result_num_fields = 2
},
- { /* act_tid: 8, , table: geneve_encap_rec_cache.rd */
+ { /* act_tid: 7, , table: geneve_encap_rec_cache.rd */
.description = "geneve_encap_rec_cache.rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1950,36 +1951,36 @@ 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 = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 71,
+ .cond_start_idx = 85,
.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 = 34,
+ .key_start_idx = 49,
.blob_key_bit_size = 493,
.key_bit_size = 493,
.key_num_fields = 15,
- .ident_start_idx = 36,
+ .ident_start_idx = 38,
.ident_nums = 1
},
- { /* act_tid: 8, , table: control.geneve_encap */
+ { /* act_tid: 7, , table: control.geneve_encap */
.description = "control.geneve_encap",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 4,
+ .cond_false_goto = 7,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 72,
+ .cond_start_idx = 86,
.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: 8, , table: ext_tun_geneve_encap_record.ipv4_vxlan */
+ { /* act_tid: 7, , table: ext_tun_geneve_encap_record.ipv4_vxlan */
.description = "ext_tun_geneve_encap_record.ipv4_vxlan",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
.resource_type = CFA_RSUBTYPE_CMM_ACT,
@@ -1987,22 +1988,22 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
BNXT_ULP_RESOURCE_SUB_TYPE_CMM_TABLE_ACT,
.direction = TF_DIR_TX,
.execute_info = {
- .cond_true_goto = 1,
+ .cond_true_goto = 2,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 73,
- .cond_nums = 2 },
+ .cond_start_idx = 87,
+ .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 = 431,
+ .result_start_idx = 310,
.result_bit_size = 0,
.result_num_fields = 0,
.encap_num_fields = 31
},
- { /* act_tid: 8, , table: ext_tun_geneve_encap_record.ipv6_geneve */
+ { /* act_tid: 7, , table: ext_tun_geneve_encap_record.ipv6_geneve */
.description = "ext_tun_geneve_encap_record.ipv6_geneve",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
.resource_type = CFA_RSUBTYPE_CMM_ACT,
@@ -2013,43 +2014,105 @@ 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 = 75,
- .cond_nums = 2 },
+ .cond_start_idx = 88,
+ .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 = 462,
+ .result_start_idx = 341,
.result_bit_size = 0,
.result_num_fields = 0,
.encap_num_fields = 29
},
- { /* act_tid: 8, , table: geneve_encap_rec_cache.wr */
+ { /* act_tid: 7, , table: control.geneve_enc_handle_to_offset */
+ .description = "control.geneve_enc_handle_to_offset",
+ .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 = 89,
+ .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: geneve_encap_rec_cache.wr */
.description = "geneve_encap_rec_cache.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GENEVE_ENCAP_REC_CACHE,
.direction = TF_DIR_TX,
.execute_info = {
- .cond_true_goto = 1,
+ .cond_true_goto = 3,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 77,
- .cond_nums = 1 },
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .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 = 49,
+ .key_start_idx = 64,
.blob_key_bit_size = 493,
.key_bit_size = 493,
.key_num_fields = 15,
- .result_start_idx = 491,
+ .result_start_idx = 370,
.result_bit_size = 64,
.result_num_fields = 2
},
- { /* act_tid: 8, , table: cmm_full_act_record.0 */
+ { /* act_tid: 7, , table: ext_vtag_encap_record.0 */
+ .description = "ext_vtag_encap_record.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_TX,
+ .execute_info = {
+ .cond_true_goto = 1,
+ .cond_false_goto = 1,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 89,
+ .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 = 372,
+ .result_bit_size = 0,
+ .result_num_fields = 0,
+ .encap_num_fields = 11
+ },
+ { /* act_tid: 7, , table: control.vtag_enc_handle_to_offset */
+ .description = "control.vtag_enc_handle_to_offset",
+ .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 = 90,
+ .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: cmm_full_act_record.0 */
.description = "cmm_full_act_record.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
.resource_type = CFA_RSUBTYPE_CMM_ACT,
@@ -2060,18 +2123,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 = 78,
+ .cond_start_idx = 90,
.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 = 493,
+ .result_start_idx = 383,
.result_bit_size = 192,
.result_num_fields = 18
},
- { /* act_tid: 8, , table: control.act_handle_to_offset */
+ { /* act_tid: 7, , table: control.act_handle_to_offset */
.description = "control.act_handle_to_offset",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
@@ -2079,7 +2142,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 = 78,
+ .cond_start_idx = 92,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2091,7 +2154,63 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 32,
.func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR }
},
- { /* act_tid: 9, , table: mod_record.meta */
+ { /* act_tid: 8, , table: control.reject */
+ .description = "control.reject",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+ .direction = TF_DIR_TX,
+ .true_message = "Thor 2 not supporting non-generic template",
+ .execute_info = {
+ .cond_true_goto = 1023,
+ .cond_false_goto = 0,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 92,
+ .cond_nums = 0 },
+ .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+ },
+ { /* act_tid: 9, , table: control.reject */
+ .description = "control.reject",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+ .direction = TF_DIR_TX,
+ .true_message = "Thor 2 not supporting non-generic template",
+ .execute_info = {
+ .cond_true_goto = 1023,
+ .cond_false_goto = 0,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 92,
+ .cond_nums = 0 },
+ .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+ },
+ { /* act_tid: 10, , table: control.reject */
+ .description = "control.reject",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+ .direction = TF_DIR_TX,
+ .true_message = "Thor 2 not supporting non-generic template",
+ .execute_info = {
+ .cond_true_goto = 1023,
+ .cond_false_goto = 0,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 92,
+ .cond_nums = 0 },
+ .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+ },
+ { /* act_tid: 11, , table: control.reject */
+ .description = "control.reject",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+ .direction = TF_DIR_TX,
+ .true_message = "Thor 2 not supporting non-generic template",
+ .execute_info = {
+ .cond_true_goto = 1023,
+ .cond_false_goto = 0,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 92,
+ .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,
@@ -2102,7 +2221,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 = 80,
+ .cond_start_idx = 96,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_CMM_MOD_HNDL,
@@ -2115,12 +2234,12 @@ 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 = 511,
+ .result_start_idx = 401,
.result_bit_size = 0,
.result_num_fields = 0,
.encap_num_fields = 20
},
- { /* act_tid: 9, , table: control.mod_handle_to_offset */
+ { /* act_tid: 12, , table: control.mod_handle_to_offset */
.description = "control.mod_handle_to_offset",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
@@ -2128,7 +2247,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 = 80,
+ .cond_start_idx = 96,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2140,7 +2259,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 8,
.func_dst_opr = BNXT_ULP_RF_IDX_MODIFY_PTR }
},
- { /* act_tid: 9, , table: cmm_stat_record.0 */
+ { /* act_tid: 12, , table: cmm_stat_record.0 */
.description = "cmm_stat_record.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_STAT,
.resource_type = CFA_RSUBTYPE_CMM_ACT,
@@ -2151,18 +2270,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 = 80,
+ .cond_start_idx = 96,
.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 = 531,
+ .result_start_idx = 421,
.result_bit_size = 128,
.result_num_fields = 2
},
- { /* act_tid: 9, , table: control.stat_handle_to_offset */
+ { /* act_tid: 12, , table: control.stat_handle_to_offset */
.description = "control.stat_handle_to_offset",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
@@ -2170,7 +2289,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 = 81,
+ .cond_start_idx = 97,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2182,7 +2301,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_act_tbl_list[] = {
.func_opr2 = 8,
.func_dst_opr = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 }
},
- { /* act_tid: 9, , table: cmm_full_act_record.0 */
+ { /* act_tid: 12, , table: cmm_full_act_record.0 */
.description = "cmm_full_act_record.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_TABLE,
.resource_type = CFA_RSUBTYPE_CMM_ACT,
@@ -2193,18 +2312,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 = 81,
+ .cond_start_idx = 97,
.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 = 533,
+ .result_start_idx = 423,
.result_bit_size = 192,
.result_num_fields = 18
},
- { /* act_tid: 9, , table: control.act_handle_to_offset */
+ { /* act_tid: 12, , table: control.act_handle_to_offset */
.description = "control.act_handle_to_offset",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
@@ -2212,7 +2331,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 = 81,
+ .cond_start_idx = 97,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -2223,162 +2342,31 @@ 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: 10, , 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 = 85,
- .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,
- .func_info = {
- .func_opc = BNXT_ULP_FUNC_OPC_BIT_OR,
- .func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
- .func_opr1 = BNXT_ULP_CF_IDX_VNIC,
- .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 = 551,
- .result_bit_size = 0,
- .result_num_fields = 0,
- .encap_num_fields = 20
- },
- { /* act_tid: 10, , table: control.mod_handle_to_offset */
- .description = "control.mod_handle_to_offset",
- .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 = 85,
- .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_MOD_HNDL,
- .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 8,
- .func_dst_opr = BNXT_ULP_RF_IDX_MODIFY_PTR }
- },
- { /* act_tid: 10, , table: cmm_stat_record.0 */
- .description = "cmm_stat_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CMM_STAT,
- .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 = 2,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 85,
- .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 = 571,
- .result_bit_size = 128,
- .result_num_fields = 2
- },
- { /* act_tid: 10, , table: control.stat_handle_to_offset */
- .description = "control.stat_handle_to_offset",
- .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_STAT_HNDL,
- .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 8,
- .func_dst_opr = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 }
- },
- { /* act_tid: 10, , table: cmm_full_act_record.0 */
- .description = "cmm_full_act_record.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_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 },
- .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 = 573,
- .result_bit_size = 192,
- .result_num_fields = 18
- },
- { /* act_tid: 10, , table: control.act_handle_to_offset */
- .description = "control.act_handle_to_offset",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
- .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 = 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_ACT_HNDL,
- .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
- .func_opr2 = 32,
- .func_dst_opr = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR }
- }
-};
-
-struct bnxt_ulp_mapper_cond_list_info ulp_thor2_act_cond_oper_list[] = {
-};
-
-struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
- /* cond_reject: thor2, act_tid: 1 */
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
+ }
+};
+
+struct bnxt_ulp_mapper_cond_list_info ulp_thor2_act_cond_oper_list[] = {
+};
+
+struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
+ /* cond_reject: thor2, act_tid: 1 */
+ {
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_QUEUE
},
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_POP_VLAN
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
+ /* cond_execute: act_tid: 1, flow_chain_cache.rd:2*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SET_VLAN_VID
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
+ /* cond_execute: act_tid: 1, control.flow_chain:3*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SET_VLAN_PCP
+ .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+ .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
/* cond_execute: act_tid: 1, shared_meter_tbl_cache.rd:4*/
{
@@ -2400,30 +2388,22 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
.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_mods:8*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
- },
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SET_MAC_SRC
- },
+ /* cond_execute: act_tid: 1, control.do_mod:8*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SET_MAC_DST
+ .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+ .cond_operand = BNXT_ULP_RF_IDX_RF_0
},
- /* cond_execute: act_tid: 1, mod_record.ing_no_ttl:11*/
+ /* cond_execute: act_tid: 1, mod_record.ttl_0:9*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
},
- /* cond_execute: act_tid: 1, mod_record.ing_ttl:12*/
+ /* cond_execute: act_tid: 1, mod_record.non_ttl_0:10*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
.cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
},
- /* cond_execute: act_tid: 1, tunnel_cache.f1_f2_act_rd:13*/
+ /* cond_execute: act_tid: 1, tunnel_cache.f1_f2_act_rd:11*/
{
.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
.cond_operand = BNXT_ULP_HDR_BIT_F1
@@ -2432,96 +2412,79 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
.cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
.cond_operand = BNXT_ULP_HDR_BIT_F2
},
- /* cond_execute: act_tid: 1, control.tunnel_cache_check_act:15*/
+ /* cond_execute: act_tid: 1, control.tunnel_cache_check_act:13*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 1, cmm_stat_record.0:16*/
+ /* cond_execute: act_tid: 1, cmm_stat_record.0:14*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_COUNT
},
- {
- .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_F1
- },
- /* cond_execute: act_tid: 1, cmm_full_act_record.0:18*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_F1
- },
- /* cond_execute: act_tid: 2, control.delete_chk:19*/
+ /* cond_execute: act_tid: 1, control.queue_and_rss_test:15*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DELETE
- },
- /* cond_execute: act_tid: 2, control.mirror_del_exist_chk:20*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ .cond_operand = BNXT_ULP_ACT_BIT_QUEUE
},
- /* cond_execute: act_tid: 2, control.mirror_ref_cnt_chk:21*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_CC
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_RSS
},
- /* cond_execute: act_tid: 2, cmm_stat_record.0:22*/
+ /* cond_execute: act_tid: 1, vnic_interface_rss_config.0:17*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_COUNT
+ .cond_operand = BNXT_ULP_ACT_BIT_RSS
},
- /* cond_execute: act_tid: 3, shared_mirror_record.rd:23*/
+ /* cond_execute: act_tid: 1, vnic_interface_queue_config.0:18*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
+ .cond_operand = BNXT_ULP_ACT_BIT_QUEUE
},
- /* cond_execute: act_tid: 3, control.mirror:24*/
+ /* field_cond: act_tid: 1, cmm_full_act_record.0:19*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_DROP
},
- /* cond_execute: act_tid: 3, mod_record.ing_no_ttl:25*/
+ /* field_cond: act_tid: 1, cmm_full_act_record.0:20*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_RSS
},
- /* cond_execute: act_tid: 3, mod_record.ing_ttl:26*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
+ .cond_operand = BNXT_ULP_ACT_BIT_QUEUE
},
- /* cond_execute: act_tid: 3, cmm_stat_record.0:27*/
+ /* field_cond: act_tid: 1, cmm_full_act_record.0:22*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_COUNT
+ .cond_operand = BNXT_ULP_ACT_BIT_VXLAN_DECAP
},
- /* cond_reject: thor2, act_tid: 4 */
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_QUEUE
+ .cond_operand = BNXT_ULP_ACT_BIT_GENEVE_DECAP
},
- /* cond_execute: act_tid: 4, shared_mirror_record.rd:29*/
+ /* cond_execute: act_tid: 3, control.delete_chk:24*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
+ .cond_operand = BNXT_ULP_ACT_BIT_DELETE
},
- /* cond_execute: act_tid: 4, control.mirror:30*/
+ /* cond_execute: act_tid: 3, control.mirror_del_exist_chk:25*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 4, vnic_interface_rss_config.0:31*/
+ /* cond_execute: act_tid: 3, control.mirror_ref_cnt_chk:26*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_RSS
+ .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+ .cond_operand = BNXT_ULP_RF_IDX_CC
},
- /* cond_execute: act_tid: 4, cmm_stat_record.0:32*/
+ /* cond_execute: act_tid: 3, cmm_stat_record.0:27*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_COUNT
},
- /* cond_execute: act_tid: 5, control.create_check:33*/
+ /* cond_execute: act_tid: 6, control.create_check:28*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
.cond_operand = BNXT_ULP_ACT_BIT_UPDATE
@@ -2530,62 +2493,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: 5, meter_profile_tbl_cache.rd:35*/
+ /* cond_execute: act_tid: 6, meter_profile_tbl_cache.rd:30*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_METER_PROFILE
},
- /* cond_execute: act_tid: 5, control.shared_meter_profile_0:36*/
+ /* cond_execute: act_tid: 6, control.shared_meter_profile_0:31*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 5, shared_meter_tbl_cache.rd:37*/
+ /* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd:32*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER
},
- /* cond_execute: act_tid: 5, control.meter_created_chk:38*/
+ /* cond_execute: act_tid: 6, control.meter_created_chk:33*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 5, control.shared_meter_profile_chk:39*/
+ /* cond_execute: act_tid: 6, control.shared_meter_profile_chk:34*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 5, control.delete_check:40*/
+ /* cond_execute: act_tid: 6, control.delete_check:35*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_DELETE
},
- /* cond_execute: act_tid: 5, meter_profile_tbl_cache.del_chk:41*/
+ /* cond_execute: act_tid: 6, meter_profile_tbl_cache.del_chk:36*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_METER_PROFILE
},
- /* cond_execute: act_tid: 5, control.mtr_prof_ref_cnt_chk:42*/
+ /* cond_execute: act_tid: 6, control.mtr_prof_ref_cnt_chk:37*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_CC
},
- /* cond_execute: act_tid: 5, shared_meter_tbl_cache.del_chk:43*/
+ /* cond_execute: act_tid: 6, shared_meter_tbl_cache.del_chk:38*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER
},
- /* cond_execute: act_tid: 5, control.shared_mtr_ref_cnt_chk:44*/
+ /* cond_execute: act_tid: 6, control.shared_mtr_ref_cnt_chk:39*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_CC
},
- /* cond_execute: act_tid: 5, shared_meter_tbl_cache.rd_update:45*/
+ /* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd_update:40*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER
},
- /* cond_execute: act_tid: 5, meter_tbl.update_rd:46*/
+ /* cond_execute: act_tid: 6, meter_tbl.update_rd:41*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
@@ -2594,169 +2557,249 @@ 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: 6 */
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SET_VLAN_PCP
- },
+ /* cond_reject: thor2, act_tid: 7 */
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SET_VLAN_VID
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
+ .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
},
+ /* 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_SHARED_SAMPLE
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 6, mod_record.ing_ttl:52*/
+ /* cond_execute: act_tid: 7, control.flow_chain:46*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
+ .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+ .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 6, cmm_stat_record.0:53*/
+ /* 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_reject: thor2, act_tid: 7 */
+ /* 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, mod_record.egr_no_ttl:55*/
+ /* cond_execute: act_tid: 7, control.mirror:49*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
+ .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+ .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 7, mod_record.egr_ttl:56*/
+ /* cond_execute: act_tid: 7, control.do_mod:50*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
+ .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+ .cond_operand = BNXT_ULP_RF_IDX_RF_0
},
- /* cond_execute: act_tid: 7, cmm_stat_record.0:57*/
+ /* 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_COUNT
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_reject: thor2, act_tid: 8 */
+ /* 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_SHARED_SAMPLE
+ .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
},
+ /* field_cond: act_tid: 7, mod_record.ttl_0:53*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
- .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, cmm_stat_record.0:60*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_COUNT
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 8, mod_record.egr_set_mac:61*/
+ /* 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_SET_MAC_SRC
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SET_MAC_DST
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 8, source_property_cache.rd:63*/
+ /* field_cond: act_tid: 7, mod_record.ttl_0:57*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
- .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, control.sp_rec_v4:64*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 8, sp_smac_ipv4.0:65*/
+ /* field_cond: act_tid: 7, mod_record.ttl_0:59*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
- .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, vxlan_encap_rec_cache.rd:66*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+ .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:61*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, control.vxlan_v4_encap:68*/
+ /* field_cond: act_tid: 7, mod_record.ttl_0:62*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 8, ext_tun_vxlan_encap_record.ipv4_vxlan:69*/
+ /* cond_execute: act_tid: 7, mod_record.non_ttl_0:63*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+ .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:64*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, geneve_encap_rec_cache.rd:71*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 8, control.geneve_encap:72*/
+ /* field_cond: act_tid: 7, mod_record.non_ttl_0:66*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, ext_tun_geneve_encap_record.ipv4_vxlan:73*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+ .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*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, ext_tun_geneve_encap_record.ipv6_geneve:75*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+ .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*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, geneve_encap_rec_cache.wr:77*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_reject: thor2, act_tid: 9 */
+ /* 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_SHARED_SAMPLE
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
+ /* 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_MULTIPLE_PORT
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 9, cmm_stat_record.0:80*/
+ /* 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_COUNT
+ .cond_operand = BNXT_ULP_ACT_BIT_VXLAN_ENCAP
},
- /* cond_reject: thor2, act_tid: 10 */
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SHARED
+ .cond_operand = BNXT_ULP_ACT_BIT_GENEVE_ENCAP
},
+ /* cond_execute: act_tid: 7, control.do_tunnel_vlan_exclusion:76*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SAMPLE
+ .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
+ },
+ /* cond_execute: act_tid: 7, source_property_cache.rd:77*/
+ {
+ .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:78*/
+ {
+ .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+ .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ },
+ /* cond_execute: act_tid: 7, sp_smac_ipv4.0:79*/
+ {
+ .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.do_vxlan_check:80*/
+ {
+ .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:81*/
+ {
+ .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:82*/
+ {
+ .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:83*/
+ {
+ .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:84*/
+ {
+ .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:85*/
+ {
+ .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:86*/
+ {
+ .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: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, ext_tun_geneve_encap_record.ipv6_geneve:88*/
+ {
+ .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:89*/
+ {
+ .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:90*/
+ {
+ .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:91*/
+ {
+ .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 */
+ {
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_SHARED
+ },
+ {
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_SAMPLE
},
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
@@ -2766,7 +2809,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_SHARED_SAMPLE
},
- /* cond_execute: act_tid: 10, cmm_stat_record.0:85*/
+ /* cond_execute: act_tid: 12, cmm_stat_record.0:96*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_COUNT
@@ -2774,6 +2817,52 @@ struct bnxt_ulp_mapper_cond_info ulp_thor2_act_cond_list[] = {
};
struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
+ /* act_tid: 1, , table: flow_chain_cache.rd */
+ {
+ .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_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff}
+ }
+ },
+ /* act_tid: 1, , 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_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff}
+ }
+ },
/* act_tid: 1, , table: shared_meter_tbl_cache.rd */
{
.field_info_mask = {
@@ -2857,7 +2946,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff}
}
},
- /* act_tid: 2, , table: shared_mirror_record.del_chk */
+ /* act_tid: 3, , table: shared_mirror_record.del_chk */
{
.field_info_mask = {
.description = "shared_index",
@@ -2877,7 +2966,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
}
},
- /* act_tid: 2, , table: shared_mirror_record.wr */
+ /* act_tid: 3, , table: shared_mirror_record.wr */
{
.field_info_mask = {
.description = "shared_index",
@@ -2897,50 +2986,56 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}
}
},
- /* act_tid: 3, , table: shared_mirror_record.rd */
+ /* act_tid: 6, , table: meter_profile_tbl_cache.rd */
{
.field_info_mask = {
- .description = "shared_index",
- .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 = "shared_index",
- .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_ACT_PROP,
.field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
}
},
- /* act_tid: 4, , table: shared_mirror_record.rd */
+ /* act_tid: 6, , table: meter_profile_tbl_cache.wr */
{
.field_info_mask = {
- .description = "shared_index",
- .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 = "shared_index",
- .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_ACT_PROP,
.field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
}
},
- /* act_tid: 5, , table: meter_profile_tbl_cache.rd */
+ /* act_tid: 6, , table: shared_meter_tbl_cache.rd */
{
.field_info_mask = {
- .description = "sw_meter_profile_id",
+ .description = "sw_meter_id",
.field_bit_size = 32,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -2951,16 +3046,16 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
0xff}
},
.field_info_spec = {
- .description = "sw_meter_profile_id",
+ .description = "sw_meter_id",
.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_PROF_ID >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
+ (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
}
},
- /* act_tid: 5, , table: meter_profile_tbl_cache.wr */
+ /* act_tid: 6, , table: meter_profile_tbl_cache.rd2 */
{
.field_info_mask = {
.description = "sw_meter_profile_id",
@@ -2983,7 +3078,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
}
},
- /* act_tid: 5, , table: shared_meter_tbl_cache.rd */
+ /* act_tid: 6, , table: shared_meter_tbl_cache.wr */
{
.field_info_mask = {
.description = "sw_meter_id",
@@ -3006,7 +3101,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
}
},
- /* act_tid: 5, , table: meter_profile_tbl_cache.rd2 */
+ /* act_tid: 6, , table: meter_profile_tbl_cache.del_chk */
{
.field_info_mask = {
.description = "sw_meter_profile_id",
@@ -3029,7 +3124,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
}
},
- /* act_tid: 5, , table: shared_meter_tbl_cache.wr */
+ /* act_tid: 6, , table: shared_meter_tbl_cache.del_chk */
{
.field_info_mask = {
.description = "sw_meter_id",
@@ -3052,10 +3147,10 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
}
},
- /* act_tid: 5, , table: meter_profile_tbl_cache.del_chk */
+ /* act_tid: 6, , table: shared_meter_tbl_cache.rd_update */
{
.field_info_mask = {
- .description = "sw_meter_profile_id",
+ .description = "sw_meter_id",
.field_bit_size = 32,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -3066,19 +3161,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
0xff}
},
.field_info_spec = {
- .description = "sw_meter_profile_id",
+ .description = "sw_meter_id",
.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_PROF_ID >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
+ (BNXT_ULP_ACT_PROP_IDX_METER_INST_ID >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
}
},
- /* act_tid: 5, , table: shared_meter_tbl_cache.del_chk */
+ /* act_tid: 7, , table: flow_chain_cache.rd */
{
.field_info_mask = {
- .description = "sw_meter_id",
+ .description = "group_id",
.field_bit_size = 32,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -3089,19 +3184,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
0xff}
},
.field_info_spec = {
- .description = "sw_meter_id",
+ .description = "group_id",
.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}
+ (BNXT_ULP_ACT_PROP_IDX_JUMP >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff}
}
},
- /* act_tid: 5, , table: shared_meter_tbl_cache.rd_update */
+ /* act_tid: 7, , table: flow_chain_cache.write */
{
.field_info_mask = {
- .description = "sw_meter_id",
+ .description = "group_id",
.field_bit_size = 32,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ONES,
@@ -3112,16 +3207,36 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
0xff}
},
.field_info_spec = {
- .description = "sw_meter_id",
+ .description = "group_id",
.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}
+ (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 = "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: 8, , table: source_property_cache.rd */
+ /* act_tid: 7, , table: source_property_cache.rd */
{
.field_info_mask = {
.description = "smac",
@@ -3189,7 +3304,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
}
},
- /* act_tid: 8, , table: source_property_cache.wr */
+ /* act_tid: 7, , table: source_property_cache.wr */
{
.field_info_mask = {
.description = "smac",
@@ -3257,7 +3372,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
}
},
- /* act_tid: 8, , table: vxlan_encap_rec_cache.rd */
+ /* act_tid: 7, , table: vxlan_encap_rec_cache.rd */
{
.field_info_mask = {
.description = "dmac",
@@ -3386,7 +3501,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
}
},
- /* act_tid: 8, , table: vxlan_encap_rec_cache.wr */
+ /* act_tid: 7, , table: vxlan_encap_rec_cache.wr */
{
.field_info_mask = {
.description = "dmac",
@@ -3515,7 +3630,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
BNXT_ULP_PORT_TABLE_TABLE_SCOPE & 0xff}
}
},
- /* act_tid: 8, , table: geneve_encap_rec_cache.rd */
+ /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.rd */
{
.field_info_mask = {
.description = "dmac",
@@ -3541,39 +3656,6 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
}
},
{
- .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,
@@ -3600,22 +3682,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}
}
},
{
@@ -3660,195 +3731,157 @@ 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_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_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_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_ONES,
- .field_opr1 = {
- 0xff,
- 0xff}
+ .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_ENC_FIELD,
- .field_opr1 = {
- (BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE & 0xff}
+ .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}
- },
- .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,
+ .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_W0 >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff}
+ (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
}
},
{
.field_info_mask = {
- .description = "opt_w1",
- .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}
- },
- .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,
+ 0xff,
+ 0xff,
+ 0xff,
+ 0xff,
+ 0xff,
0xff,
0xff,
0xff,
0xff}
},
.field_info_spec = {
- .description = "opt_w2",
- .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_W2 >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff}
+ (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}
}
},
{
.field_info_mask = {
- .description = "opt_w3",
- .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_w3",
- .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_W3 >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff}
+ (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
}
},
{
.field_info_mask = {
- .description = "opt_w4",
- .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_w4",
- .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_W4 >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff}
+ (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
}
},
{
.field_info_mask = {
- .description = "opt_w5",
- .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_w5",
- .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_W5 >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff}
+ (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
}
},
{
@@ -3865,7 +3898,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
}
},
- /* act_tid: 8, , table: geneve_encap_rec_cache.wr */
+ /* act_tid: 7, , table: geneve_encap_rec_cache.rd */
{
.field_info_mask = {
.description = "dmac",
@@ -4013,13 +4046,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
.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_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_ZERO
+ .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}
}
},
{
@@ -4027,13 +4066,19 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
.description = "proto_type",
.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 = "proto_type",
.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_GENEVE_PROTO_TYPE >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE & 0xff}
}
},
{
@@ -4202,894 +4247,423 @@ struct bnxt_ulp_mapper_key_info ulp_thor2_act_key_info_list[] = {
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
}
- }
-};
-
-struct bnxt_ulp_mapper_field_info ulp_thor2_act_key_ext_list[] = {
-};
-
-struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
- /* act_tid: 1, , table: mod_record.ing_no_ttl */
- {
- .description = "metadata_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
+ /* act_tid: 7, , table: geneve_encap_rec_cache.wr */
{
- .description = "rem_ivlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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}
+ }
},
{
- .description = "rep_add_ivlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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
+ }
},
{
- .description = "rep_add_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = 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
+ }
},
{
- .description = "ttl_update",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "tun_md_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "reserved_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l2_dmac_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_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_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_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_CONST,
- .field_opr2 = {
- 1},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_sip_ipv6_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_dip_ipv6_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_sip_ipv4_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_dip_ipv4_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l4_sport_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l4_dport_en",
- .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_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
- },
- /* act_tid: 1, , table: mod_record.ing_ttl */
- {
- .description = "metadata_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ivlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rep_add_ivlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rep_add_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_update",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- {
- .description = "tun_md_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "reserved_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l2_dmac_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_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_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_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_CONST,
- .field_opr2 = {
- 1},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_sip_ipv6_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_dip_ipv6_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_sip_ipv4_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_dip_ipv4_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l4_sport_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l4_dport_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "alt_pfid",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "alt_vid",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_rsvd",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_tl3_dec",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CF,
- .field_opr1 = {
- (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
- BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
- },
- {
- .description = "ttl_il3_dec",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CF,
- .field_opr1 = {
- (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
- BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
- },
- {
- .description = "ttl_otl3_rdir",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_tl3_rdir",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_il3_rdir",
- .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_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
- },
- /* act_tid: 1, , table: cmm_stat_record.f1_flow */
- {
- .description = "packet_count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "byte_count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 1, , table: cmm_stat_record.0 */
- {
- .description = "packet_count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "byte_count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 1, , table: cmm_full_act_record.0 */
- {
- .description = "type",
- .field_bit_size = 3,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- {
- .description = "drop",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
- .field_opr1 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
- },
- {
- .description = "vlan_del_rpt",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "vnic_or_vport",
- .field_bit_size = 11,
- .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_DROP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
- .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 = "dest_op",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "decap_func",
- .field_bit_size = 5,
- .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_VXLAN_DECAP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr2 = {
- ULP_THOR2_SYM_DECAP_FUNC_THRU_TUN},
- .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr3 = {
- ULP_THOR2_SYM_DECAP_FUNC_NONE}
- },
- {
- .description = "mirror",
- .field_bit_size = 5,
- .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_SHARED_SAMPLE >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr2 = {
- (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "meter_ptr",
- .field_bit_size = 10,
- .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_METER >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_METER & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr2 = {
- (BNXT_ULP_RF_IDX_METER_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_METER_PTR_0 & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat0_ptr",
- .field_bit_size = 28,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
- },
- {
- .description = "stat0_ing_egr",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat0_ctr_type",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat1_ptr",
- .field_bit_size = 28,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_F1 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_F1 & 0xff}
- },
- {
- .description = "stat1_ing_egr",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat1_ctr_type",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "mod_rec_ptr",
- .field_bit_size = 28,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_MODIFY_PTR >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MODIFY_PTR & 0xff}
- },
- {
- .description = "encap_ptr",
- .field_bit_size = 28,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "src_ptr",
- .field_bit_size = 28,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rsvd0",
- .field_bit_size = 7,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 2, , 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: 2, , table: cmm_stat_record.0 */
- {
- .description = "packet_count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "byte_count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 2, , table: cmm_full_act_record.0 */
- {
- .description = "type",
- .field_bit_size = 3,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- {
- .description = "drop",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "vlan_del_rpt",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "vnic_or_vport",
- .field_bit_size = 11,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
- },
- {
- .description = "dest_op",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "decap_func",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "mirror",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "meter_ptr",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat0_ptr",
- .field_bit_size = 28,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
- },
- {
- .description = "stat0_ing_egr",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat0_ctr_type",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat1_ptr",
- .field_bit_size = 28,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat1_ing_egr",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = 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}
+ }
},
{
- .description = "stat1_ctr_type",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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}
+ }
},
{
- .description = "mod_rec_ptr",
- .field_bit_size = 28,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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
+ }
},
{
- .description = "encap_ptr",
- .field_bit_size = 28,
- .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
+ }
},
{
- .description = "src_ptr",
- .field_bit_size = 28,
- .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}
+ }
},
{
- .description = "rsvd0",
- .field_bit_size = 7,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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}
+ }
},
- /* act_tid: 2, , table: mirror_tbl.wr */
{
- .description = "reserved1",
- .field_bit_size = 21,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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}
+ }
},
{
- .description = "arp_relative",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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}
+ }
},
{
- .description = "action_hint",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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}
+ }
},
{
- .description = "sample_mode",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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}
+ }
},
{
- .description = "trunc_mode",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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}
+ }
},
{
- .description = "ignore_drop",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = 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
+ }
+ }
+};
+
+struct bnxt_ulp_mapper_field_info ulp_thor2_act_key_ext_list[] = {
{
- .description = "copy_mode",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .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 = {
- 3}
- },
- {
- .description = "mirr_cond",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
+ (20 >> 8) & 0xff,
+ 20 & 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_ACT_PROP,
+ .field_opr3 = {
+ (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
+ },
{
- .description = "act_rec_ptr",
- .field_bit_size = 26,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+ .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 = {
- (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
- },
+ (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 = "samp_cfg",
- .field_bit_size = 32,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
+ .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 = {
- 0xff,
- 0xff,
- 0xff,
- 0xff}
- },
+ (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},
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+ },
{
- .description = "padding1",
- .field_bit_size = 32,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 2, , table: shared_mirror_record.wr */
+ .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 = {
+ (91 >> 8) & 0xff,
+ 91 & 0xff,
+ (1 >> 8) & 0xff,
+ 1 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr2 = {
+ (ULP_THOR2_SYM_LOOPBACK_PORT >> 8) & 0xff,
+ ULP_THOR2_SYM_LOOPBACK_PORT & 0xff},
+ .field_src3 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr3 = {
+ (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
+ }
+};
+
+struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
+ /* act_tid: 1, , table: jump_index_table.alloc */
+ /* act_tid: 1, , table: flow_chain_cache.write */
{
.description = "rid",
.field_bit_size = 32,
@@ -5100,20 +4674,33 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
BNXT_ULP_RF_IDX_RID & 0xff}
},
{
- .description = "mirror_id",
- .field_bit_size = 5,
+ .description = "metadata",
+ .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}
+ (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_JUMP_META & 0xff}
},
- /* act_tid: 3, , table: mod_record.ing_no_ttl */
+ /* act_tid: 1, , table: mod_record.ttl_0 */
{
.description = "metadata_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_SRC1_THEN_SRC2_ELSE_SRC3,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+ .field_opr1 = {
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 56) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
+ ((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_opr2 = {
+ 1},
+ .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "rem_ovlan",
@@ -5143,7 +4730,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.description = "ttl_update",
.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}
},
{
.description = "tun_md_en",
@@ -5310,6 +4899,135 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
+ .description = "metadata_rsvd",
+ .field_bit_size = 10,
+ .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_JUMP >> 56) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
+ ((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_ZERO,
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+ },
+ {
+ .description = "metadata_op",
+ .field_bit_size = 2,
+ .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_JUMP >> 56) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
+ ((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_opr2 = {
+ ULP_THOR2_SYM_METADATA_OP_NORMAL},
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+ },
+ {
+ .description = "metadata_prof",
+ .field_bit_size = 4,
+ .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_JUMP >> 56) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
+ ((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_opr2 = {
+ ULP_THOR2_SYM_META_PROFILE_0},
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+ },
+ {
+ .description = "metadata_data",
+ .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 = {
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 56) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
+ ((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_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 = "alt_pfid",
+ .field_bit_size = 5,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "alt_vid",
+ .field_bit_size = 12,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "ttl_rsvd",
+ .field_bit_size = 10,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "ttl_tl3_dec",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+ .field_opr1 = {
+ (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
+ BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
+ },
+ {
+ .description = "ttl_il3_dec",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+ .field_opr1 = {
+ (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
+ BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
+ },
+ {
+ .description = "ttl_otl3_rdir",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "ttl_tl3_rdir",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "ttl_il3_rdir",
+ .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_SRC1_THEN_SRC2_ELSE_SRC3,
@@ -5469,12 +5187,25 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
},
- /* act_tid: 3, , table: mod_record.ing_ttl */
+ /* act_tid: 1, , table: mod_record.non_ttl_0 */
{
.description = "metadata_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_SRC1_THEN_SRC2_ELSE_SRC3,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+ .field_opr1 = {
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 56) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
+ ((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_opr2 = {
+ 1},
+ .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "rem_ovlan",
@@ -5504,9 +5235,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.description = "ttl_update",
.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 = "tun_md_en",
@@ -5673,58 +5402,79 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "alt_pfid",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "alt_vid",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_rsvd",
+ .description = "metadata_rsvd",
.field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_tl3_dec",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CF,
- .field_opr1 = {
- (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
- BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
- },
- {
- .description = "ttl_il3_dec",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
.field_opr1 = {
- (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
- BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 56) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
+ ((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_ZERO,
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
},
{
- .description = "ttl_otl3_rdir",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .description = "metadata_op",
+ .field_bit_size = 2,
+ .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_JUMP >> 56) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
+ ((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_opr2 = {
+ ULP_THOR2_SYM_METADATA_OP_NORMAL},
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
},
{
- .description = "ttl_tl3_rdir",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .description = "metadata_prof",
+ .field_bit_size = 4,
+ .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_JUMP >> 56) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
+ ((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_opr2 = {
+ ULP_THOR2_SYM_META_PROFILE_0},
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
},
{
- .description = "ttl_il3_rdir",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .description = "metadata_data",
+ .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 = {
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 56) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
+ ((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_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 = "l2_dmac",
@@ -5886,7 +5636,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
},
- /* act_tid: 3, , table: cmm_stat_record.0 */
+ /* act_tid: 1, , table: cmm_stat_record.f1_flow */
{
.description = "packet_count",
.field_bit_size = 64,
@@ -5899,7 +5649,22 @@ 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: 3, , table: cmm_full_act_record.0 */
+ /* act_tid: 1, , table: cmm_stat_record.0 */
+ {
+ .description = "packet_count",
+ .field_bit_size = 64,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "byte_count",
+ .field_bit_size = 64,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ /* act_tid: 1, , table: vnic_interface_rss_config.0 */
+ /* act_tid: 1, , table: vnic_interface_queue_config.0 */
+ /* act_tid: 1, , table: cmm_full_act_record.0 */
{
.description = "type",
.field_bit_size = 3,
@@ -5926,28 +5691,34 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
{
.description = "vlan_del_rpt",
.field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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_POP_VLAN >> 56) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 48) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 40) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 32) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 24) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 16) & 0xff,
+ ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 8) & 0xff,
+ (uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr2 = {
+ ULP_THOR2_SYM_VLAN_DEL_RPT_STRIP_OUTER},
+ .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "vnic_or_vport",
.field_bit_size = 11,
- .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_TERNARY_LIST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
.field_opr1 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff},
+ (19 >> 8) & 0xff,
+ 19 & 0xff,
+ (1 >> 8) & 0xff,
+ 1 & 0xff},
.field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
- .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_src3 = BNXT_ULP_FIELD_SRC_NEXT
},
{
.description = "dest_op",
@@ -5958,34 +5729,35 @@ 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_OR,
+ .field_opr1 = {
+ (22 >> 8) & 0xff,
+ 22 & 0xff,
+ (2 >> 8) & 0xff,
+ 2 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr2 = {
+ ULP_THOR2_SYM_DECAP_FUNC_THRU_TUN},
+ .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "mirror",
.field_bit_size = 5,
- .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_RF,
.field_opr1 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr2 = {
(BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+ BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff}
},
{
.description = "meter_ptr",
.field_bit_size = 10,
.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_METER_PTR_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_METER_PTR_0 & 0xff}
},
{
.description = "stat0_ptr",
@@ -6012,7 +5784,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.description = "stat1_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_FLOW_CNTR_PTR_F1 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_F1 & 0xff}
},
{
.description = "stat1_ing_egr",
@@ -6053,8 +5828,80 @@ 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: 4, , table: vnic_interface_rss_config.0 */
- /* act_tid: 4, , table: cmm_stat_record.0 */
+ /* act_tid: 3, , 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: 3, , table: cmm_stat_record.0 */
{
.description = "packet_count",
.field_bit_size = 64,
@@ -6067,7 +5914,7 @@ 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: 4, , table: cmm_full_act_record.0 */
+ /* act_tid: 3, , table: cmm_full_act_record.0 */
{
.description = "type",
.field_bit_size = 3,
@@ -6092,10 +5939,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.description = "vnic_or_vport",
.field_bit_size = 11,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
- (BNXT_ULP_RF_IDX_RSS_VNIC >> 8) & 0xff,
- BNXT_ULP_RF_IDX_RSS_VNIC & 0xff}
+ (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
},
{
.description = "dest_op",
@@ -6112,22 +5959,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
{
.description = "mirror",
.field_bit_size = 5,
- .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_SHARED_SAMPLE >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr2 = {
- (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "meter_ptr",
@@ -6151,54 +5984,156 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "stat0_ctr_type",
+ .description = "stat0_ctr_type",
+ .field_bit_size = 2,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "stat1_ptr",
+ .field_bit_size = 28,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "stat1_ing_egr",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "stat1_ctr_type",
+ .field_bit_size = 2,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "mod_rec_ptr",
+ .field_bit_size = 28,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "encap_ptr",
+ .field_bit_size = 28,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "src_ptr",
+ .field_bit_size = 28,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "rsvd0",
+ .field_bit_size = 7,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ /* act_tid: 3, , 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 = "stat1_ptr",
- .field_bit_size = 28,
+ .description = "trunc_mode",
+ .field_bit_size = 2,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "stat1_ing_egr",
+ .description = "ignore_drop",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "stat1_ctr_type",
+ .description = "copy_mode",
.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}
},
{
- .description = "mod_rec_ptr",
- .field_bit_size = 28,
+ .description = "mirr_cond",
+ .field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "encap_ptr",
- .field_bit_size = 28,
+ .description = "act_rec_ptr",
+ .field_bit_size = 26,
.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_ACTION_PTR >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
},
{
- .description = "src_ptr",
- .field_bit_size = 28,
+ .description = "reserved2",
+ .field_bit_size = 6,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "rsvd0",
- .field_bit_size = 7,
+ .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: 5, , table: meter_profile_tbl_cache.wr */
+ /* act_tid: 3, , 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}
+ },
+ /* act_tid: 6, , table: meter_profile_tbl_cache.wr */
{
.description = "rid",
.field_bit_size = 32,
@@ -6305,202 +6240,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
(BNXT_ULP_ACT_PROP_IDX_METER_PROF_EIR >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_EIR & 0xff}
- },
- /* act_tid: 5, , table: meter_tbl.0 */
- {
- .description = "bkt_c",
- .field_bit_size = 27,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- (134217727 >> 24) & 0xff,
- (134217727 >> 16) & 0xff,
- (134217727 >> 8) & 0xff,
- 134217727 & 0xff}
- },
- {
- .description = "bkt_e",
- .field_bit_size = 27,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- (134217727 >> 24) & 0xff,
- (134217727 >> 16) & 0xff,
- (134217727 >> 8) & 0xff,
- 134217727 & 0xff}
- },
- {
- .description = "mtr_val",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL & 0xff}
- },
- {
- .description = "ecn_rmp_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN & 0xff}
- },
- {
- .description = "cf",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_CF_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_CF_0 & 0xff}
- },
- {
- .description = "pm",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_PM_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_PM_0 & 0xff}
- },
- {
- .description = "rfc2698",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_RFC2698_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_RFC2698_0 & 0xff}
- },
- {
- .description = "cbsm",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_CBSM_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_CBSM_0 & 0xff}
- },
- {
- .description = "ebsm",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_EBSM_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_EBSM_0 & 0xff}
- },
- {
- .description = "cbnd",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_CBND_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_CBND_0 & 0xff}
- },
- {
- .description = "ebnd",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_EBND_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_EBND_0 & 0xff}
- },
- {
- .description = "cbs",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_CBS_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_CBS_0 & 0xff}
- },
- {
- .description = "ebs",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_EBS_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_EBS_0 & 0xff}
- },
- {
- .description = "cir",
- .field_bit_size = 17,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_CIR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_CIR_0 & 0xff}
- },
- {
- .description = "eir",
- .field_bit_size = 17,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_EIR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_EIR_0 & 0xff}
- },
- {
- .description = "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 = "rsvd",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "prot_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- /* act_tid: 5, , table: shared_meter_tbl_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 = "meter_ptr",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_METER_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_METER_PTR_0 & 0xff}
- },
- {
- .description = "sw_meter_profile_id",
- .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_PROF_ID >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_EIR & 0xff}
},
- /* act_tid: 5, , table: meter_tbl.update_wr */
+ /* act_tid: 6, , table: meter_tbl.0 */
{
.description = "bkt_c",
.field_bit_size = 27,
@@ -6526,36 +6268,20 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
{
.description = "mtr_val",
.field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL_UPDATE >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL_UPDATE & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr2 = {
(BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr3 = {
- (BNXT_ULP_RF_IDX_RF_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_RF_0 & 0xff}
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL & 0xff}
},
{
.description = "ecn_rmp_en",
.field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN_UPDATE >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN_UPDATE & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr2 = {
(BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr3 = {
- (BNXT_ULP_RF_IDX_RF_1 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_RF_1 & 0xff}
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN & 0xff}
},
{
.description = "cf",
@@ -6660,7 +6386,12 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.description = "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}
},
{
.description = "rsvd",
@@ -6676,307 +6407,258 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.field_opr1 = {
1}
},
- /* act_tid: 6, , table: mod_record.ing_ttl */
+ /* act_tid: 6, , table: shared_meter_tbl_cache.wr */
{
- .description = "metadata_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ivlan",
- .field_bit_size = 1,
+ .description = "rid",
+ .field_bit_size = 32,
.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_RID >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_RID & 0xff}
},
{
- .description = "rep_add_ivlan",
- .field_bit_size = 1,
+ .description = "meter_ptr",
+ .field_bit_size = 10,
.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_METER_PTR_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_METER_PTR_0 & 0xff}
},
{
- .description = "rep_add_ovlan",
- .field_bit_size = 1,
+ .description = "sw_meter_profile_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_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
},
+ /* act_tid: 6, , table: meter_tbl.update_wr */
{
- .description = "ttl_update",
- .field_bit_size = 1,
+ .description = "bkt_c",
+ .field_bit_size = 27,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_CONST,
.field_opr1 = {
- 1}
- },
- {
- .description = "tun_md_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "reserved_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l2_dmac_en",
- .field_bit_size = 1,
- .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_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_sip_ipv6_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_dip_ipv6_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_sip_ipv4_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_dip_ipv4_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l4_sport_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l4_dport_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "alt_pfid",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "alt_vid",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_rsvd",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ (134217727 >> 24) & 0xff,
+ (134217727 >> 16) & 0xff,
+ (134217727 >> 8) & 0xff,
+ 134217727 & 0xff}
},
{
- .description = "ttl_tl3_dec",
- .field_bit_size = 1,
+ .description = "bkt_e",
+ .field_bit_size = 27,
.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_ACT_T_DEC_TTL >> 8) & 0xff,
- BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
+ (134217727 >> 24) & 0xff,
+ (134217727 >> 16) & 0xff,
+ (134217727 >> 8) & 0xff,
+ 134217727 & 0xff}
},
{
- .description = "ttl_il3_dec",
+ .description = "mtr_val",
.field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
- (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
- BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
+ (BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL_UPDATE >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL_UPDATE & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr2 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL & 0xff},
+ .field_src3 = BNXT_ULP_FIELD_SRC_RF,
+ .field_opr3 = {
+ (BNXT_ULP_RF_IDX_RF_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_RF_0 & 0xff}
},
{
- .description = "ttl_otl3_rdir",
+ .description = "ecn_rmp_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_SRC1_THEN_SRC2_ELSE_SRC3,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN_UPDATE >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN_UPDATE & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr2 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN & 0xff},
+ .field_src3 = BNXT_ULP_FIELD_SRC_RF,
+ .field_opr3 = {
+ (BNXT_ULP_RF_IDX_RF_1 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_RF_1 & 0xff}
},
{
- .description = "ttl_tl3_rdir",
+ .description = "cf",
.field_bit_size = 1,
.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_CF_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_CF_0 & 0xff}
},
{
- .description = "ttl_il3_rdir",
+ .description = "pm",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 6, , table: cmm_stat_record.0 */
- {
- .description = "packet_count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "byte_count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 6, , table: cmm_full_act_record.0 */
- {
- .description = "type",
- .field_bit_size = 3,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_RF,
.field_opr1 = {
- 1}
+ (BNXT_ULP_RF_IDX_PM_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_PM_0 & 0xff}
},
{
- .description = "drop",
+ .description = "rfc2698",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+ .field_src1 = BNXT_ULP_FIELD_SRC_RF,
.field_opr1 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
- },
- {
- .description = "vlan_del_rpt",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ (BNXT_ULP_RF_IDX_RFC2698_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_RFC2698_0 & 0xff}
},
{
- .description = "vnic_or_vport",
- .field_bit_size = 11,
+ .description = "cbsm",
+ .field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_src1 = BNXT_ULP_FIELD_SRC_RF,
.field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
+ (BNXT_ULP_RF_IDX_CBSM_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_CBSM_0 & 0xff}
},
{
- .description = "dest_op",
- .field_bit_size = 2,
+ .description = "ebsm",
+ .field_bit_size = 1,
.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_EBSM_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_EBSM_0 & 0xff}
},
{
- .description = "decap_func",
- .field_bit_size = 5,
+ .description = "cbnd",
+ .field_bit_size = 1,
.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_CBND_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_CBND_0 & 0xff}
},
{
- .description = "mirror",
- .field_bit_size = 5,
+ .description = "ebnd",
+ .field_bit_size = 1,
.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_EBND_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_EBND_0 & 0xff}
},
{
- .description = "meter_ptr",
- .field_bit_size = 10,
+ .description = "cbs",
+ .field_bit_size = 12,
.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_CBS_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_CBS_0 & 0xff}
},
{
- .description = "stat0_ptr",
- .field_bit_size = 28,
+ .description = "ebs",
+ .field_bit_size = 12,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_RF,
.field_opr1 = {
- (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
+ (BNXT_ULP_RF_IDX_EBS_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_EBS_0 & 0xff}
},
{
- .description = "stat0_ing_egr",
- .field_bit_size = 1,
+ .description = "cir",
+ .field_bit_size = 17,
.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_CIR_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_CIR_0 & 0xff}
},
{
- .description = "stat0_ctr_type",
- .field_bit_size = 2,
+ .description = "eir",
+ .field_bit_size = 17,
.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_EIR_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_EIR_0 & 0xff}
},
{
- .description = "stat1_ptr",
- .field_bit_size = 28,
+ .description = "scope",
+ .field_bit_size = 5,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "stat1_ing_egr",
+ .description = "rsvd",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "stat1_ctr_type",
- .field_bit_size = 2,
+ .description = "prot_en",
+ .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}
},
+ /* act_tid: 7, , table: jump_index_table.alloc */
+ /* act_tid: 7, , table: flow_chain_cache.write */
{
- .description = "mod_rec_ptr",
- .field_bit_size = 28,
+ .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_MODIFY_PTR >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MODIFY_PTR & 0xff}
+ (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_RID & 0xff}
},
{
- .description = "encap_ptr",
- .field_bit_size = 28,
+ .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_RF,
+ .field_opr1 = {
+ (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_JUMP_META & 0xff}
},
+ /* act_tid: 7, , table: cmm_stat_record.0 */
{
- .description = "src_ptr",
- .field_bit_size = 28,
+ .description = "packet_count",
+ .field_bit_size = 64,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "rsvd0",
- .field_bit_size = 7,
+ .description = "byte_count",
+ .field_bit_size = 64,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
- /* act_tid: 7, , table: mod_record.egr_no_ttl */
+ /* act_tid: 7, , table: mod_record.ttl_0 */
{
.description = "metadata_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_OR,
+ .field_opr1 = {
+ (53 >> 8) & 0xff,
+ 53 & 0xff,
+ (2 >> 8) & 0xff,
+ 2 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr2 = {
+ 1},
+ .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "rem_ovlan",
@@ -7006,7 +6688,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.description = "ttl_update",
.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}
},
{
.description = "tun_md_en",
@@ -7173,6 +6857,118 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.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 = {
+ (55 >> 8) & 0xff,
+ 55 & 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 = {
+ (57 >> 8) & 0xff,
+ 57 & 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 = {
+ (59 >> 8) & 0xff,
+ 59 & 0xff,
+ (2 >> 8) & 0xff,
+ 2 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+ .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 = {
+ (61 >> 8) & 0xff,
+ 61 & 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 = {
+ (1 >> 8) & 0xff,
+ 1 & 0xff}
+ },
+ {
+ .description = "alt_pfid",
+ .field_bit_size = 5,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "alt_vid",
+ .field_bit_size = 12,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "ttl_rsvd",
+ .field_bit_size = 10,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "ttl_tl3_dec",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+ .field_opr1 = {
+ (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
+ BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
+ },
+ {
+ .description = "ttl_il3_dec",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_CF,
+ .field_opr1 = {
+ (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
+ BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
+ },
+ {
+ .description = "ttl_otl3_rdir",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "ttl_tl3_rdir",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "ttl_il3_rdir",
+ .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_SRC1_THEN_SRC2_ELSE_SRC3,
@@ -7332,12 +7128,21 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
},
- /* act_tid: 7, , table: mod_record.egr_ttl */
+ /* act_tid: 7, , table: mod_record.non_ttl_0 */
{
.description = "metadata_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_OR,
+ .field_opr1 = {
+ (64 >> 8) & 0xff,
+ 64 & 0xff,
+ (2 >> 8) & 0xff,
+ 2 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr2 = {
+ 1},
+ .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "rem_ovlan",
@@ -7367,9 +7172,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.description = "ttl_update",
.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 = "tun_md_en",
@@ -7536,58 +7339,62 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "alt_pfid",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "alt_vid",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_rsvd",
+ .description = "metadata_rsvd",
.field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_tl3_dec",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CF,
- .field_opr1 = {
- (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
- BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
- },
- {
- .description = "ttl_il3_dec",
- .field_bit_size = 1,
- .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_OR,
.field_opr1 = {
- (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
- BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
+ (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 = "ttl_otl3_rdir",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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 = "ttl_tl3_rdir",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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_ZERO,
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
},
{
- .description = "ttl_il3_rdir",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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 = {
+ (2 >> 8) & 0xff,
+ 2 & 0xff}
},
{
.description = "l2_dmac",
@@ -7749,350 +7556,314 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
},
- /* act_tid: 7, , table: cmm_stat_record.0 */
- {
- .description = "packet_count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "byte_count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 7, , table: cmm_full_act_record.0 */
+ /* act_tid: 7, , table: sp_smac_ipv4.0 */
{
- .description = "type",
- .field_bit_size = 3,
+ .description = "smac",
+ .field_bit_size = 48,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
.field_opr1 = {
- 1}
+ (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
},
{
- .description = "drop",
- .field_bit_size = 1,
+ .description = "ipv4_src_addr",
+ .field_bit_size = 32,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
.field_opr1 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
+ (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff}
},
{
- .description = "vlan_del_rpt",
- .field_bit_size = 2,
+ .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 = "vnic_or_vport",
- .field_bit_size = 11,
+ .description = "rid",
+ .field_bit_size = 32,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_src1 = BNXT_ULP_FIELD_SRC_RF,
.field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
- },
- {
- .description = "dest_op",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "decap_func",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "mirror",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "meter_ptr",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_RID & 0xff}
},
{
- .description = "stat0_ptr",
- .field_bit_size = 28,
+ .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_FLOW_CNTR_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
+ (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
},
+ /* act_tid: 7, , table: ext_tun_vxlan_encap_record.ipv4_vxlan */
{
- .description = "stat0_ing_egr",
+ .description = "ecv_valid",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat0_ctr_type",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat1_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_CONST,
+ .field_opr1 = {
+ ULP_THOR2_SYM_ECV_VALID_YES}
},
{
- .description = "stat1_ing_egr",
+ .description = "ecv_custom_en",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "stat1_ctr_type",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "mod_rec_ptr",
- .field_bit_size = 28,
+ .description = "ecv_vtag_type",
+ .field_bit_size = 4,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
- (BNXT_ULP_RF_IDX_MODIFY_PTR >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MODIFY_PTR & 0xff}
- },
- {
- .description = "encap_ptr",
- .field_bit_size = 28,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "src_ptr",
- .field_bit_size = 28,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rsvd0",
- .field_bit_size = 7,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 8, , table: cmm_stat_record.0 */
- {
- .description = "packet_count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "byte_count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 8, , table: mod_record.egr_set_mac */
- {
- .description = "metadata_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff}
},
{
- .description = "rem_ovlan",
+ .description = "ecv_l2_en",
.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 = {
+ ULP_THOR2_SYM_ECV_L2_EN_YES}
},
{
- .description = "rem_ivlan",
- .field_bit_size = 1,
+ .description = "ecv_l3_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_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff}
},
{
- .description = "rep_add_ivlan",
- .field_bit_size = 1,
+ .description = "ecv_l4_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_ECV_L4_TYPE_UDP_CSUM}
},
{
- .description = "rep_add_ovlan",
- .field_bit_size = 1,
+ .description = "ecv_tun_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_ECV_TUN_TYPE_VXLAN}
},
{
- .description = "ttl_update",
- .field_bit_size = 1,
+ .description = "enc_eth_dmac",
+ .field_bit_size = 48,
.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_ETH_DMAC >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
},
{
- .description = "tun_md_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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_ENC_HDR_BIT,
+ .field_opr1 = {
+ ((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_ENC_FIELD_O_VLAN_TCI >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_O_VLAN_TCI & 0xff},
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
},
{
- .description = "reserved_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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_ENC_HDR_BIT,
+ .field_opr1 = {
+ ((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_ENC_FIELD_O_VLAN_TYPE >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_O_VLAN_TYPE & 0xff},
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
},
{
- .description = "l2_dmac_en",
- .field_bit_size = 1,
+ .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_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_CONST,
+ ((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 = {
- 1},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+ (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 = "l2_smac_en",
- .field_bit_size = 1,
+ .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_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_CONST,
+ ((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 = {
- 1},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+ (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_sip_ipv6_en",
- .field_bit_size = 1,
+ .description = "enc_ipv4_ihl",
+ .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_IPV4_IHL >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV4_IHL & 0xff}
},
{
- .description = "l3_dip_ipv6_en",
- .field_bit_size = 1,
+ .description = "enc_ipv4_tos",
+ .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_IPV4_TOS >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV4_TOS & 0xff}
},
{
- .description = "l3_sip_ipv4_en",
- .field_bit_size = 1,
+ .description = "enc_ipv4_pkt_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_ENC_FIELD,
+ .field_opr1 = {
+ (BNXT_ULP_ENC_FIELD_IPV4_PKT_ID >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV4_PKT_ID & 0xff}
},
{
- .description = "l3_dip_ipv4_en",
- .field_bit_size = 1,
+ .description = "enc_ipv4_frag",
+ .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_IPV4_FRAG >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV4_FRAG & 0xff}
},
{
- .description = "l4_sport_en",
- .field_bit_size = 1,
+ .description = "enc_ipv4_ttl",
+ .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_IPV4_TTL >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV4_TTL & 0xff}
},
{
- .description = "l4_dport_en",
- .field_bit_size = 1,
+ .description = "enc_ipv4_proto",
+ .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_IPV4_PROTO >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV4_PROTO & 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,
+ .description = "enc_ipv4_daddr",
+ .field_bit_size = 32,
+ .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_IPV4_DADDR >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}
},
{
- .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,
+ .description = "enc_udp_sport",
+ .field_bit_size = 16,
+ .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_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
+ (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
},
- /* act_tid: 8, , table: sp_smac_ipv4.0 */
{
- .description = "smac",
- .field_bit_size = 48,
+ .description = "enc_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_ETH_SMAC >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
+ (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
},
{
- .description = "ipv4_src_addr",
- .field_bit_size = 32,
+ .description = "enc_vxlan_flags",
+ .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_VXLAN_FLAGS >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_VXLAN_FLAGS & 0xff}
},
{
- .description = "reserved",
- .field_bit_size = 48,
+ .description = "enc_vxlan_rsvd0",
+ .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_RSVD0 >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_VXLAN_RSVD0 & 0xff}
},
- /* act_tid: 8, , table: source_property_cache.wr */
+ {
+ .description = "enc_vxlan_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}
+ },
+ {
+ .description = "enc_vxlan_rsvd1",
+ .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_VXLAN_RSVD1 >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_VXLAN_RSVD1 & 0xff}
+ },
+ /* act_tid: 7, , table: vxlan_encap_rec_cache.wr */
{
.description = "rid",
.field_bit_size = 32,
@@ -8103,15 +7874,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
BNXT_ULP_RF_IDX_RID & 0xff}
},
{
- .description = "sp_rec_ptr",
+ .description = "enc_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}
+ (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
},
- /* act_tid: 8, , table: ext_tun_vxlan_encap_record.ipv4_vxlan */
+ /* act_tid: 7, , table: ext_tun_vxlan_encap_record.ipv6_vxlan */
{
.description = "ecv_valid",
.field_bit_size = 1,
@@ -8258,67 +8029,46 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
},
{
- .description = "enc_ipv4_ihl",
- .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_IHL >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_IPV4_IHL & 0xff}
- },
- {
- .description = "enc_ipv4_tos",
- .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_TOS >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_IPV4_TOS & 0xff}
- },
- {
- .description = "enc_ipv4_pkt_id",
- .field_bit_size = 16,
+ .description = "enc_ipv6_vtc",
+ .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_PKT_ID >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_IPV4_PKT_ID & 0xff}
+ (BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW & 0xff}
},
{
- .description = "enc_ipv4_frag",
+ .description = "enc_ipv6_zero",
.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_FRAG >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_IPV4_FRAG & 0xff}
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "enc_ipv4_ttl",
+ .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 = {
- (BNXT_ULP_ENC_FIELD_IPV4_TTL >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_IPV4_TTL & 0xff}
+ (BNXT_ULP_ENC_FIELD_IPV6_PROTO >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV6_PROTO & 0xff}
},
{
- .description = "enc_ipv4_proto",
+ .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 = {
- (BNXT_ULP_ENC_FIELD_IPV4_PROTO >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_IPV4_PROTO & 0xff}
+ (BNXT_ULP_ENC_FIELD_IPV6_TTL >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV6_TTL & 0xff}
},
{
- .description = "enc_ipv4_daddr",
- .field_bit_size = 32,
+ .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_IPV4_DADDR >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}
+ (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}
},
{
.description = "enc_udp_sport",
@@ -8374,7 +8124,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
(BNXT_ULP_ENC_FIELD_VXLAN_RSVD1 >> 8) & 0xff,
BNXT_ULP_ENC_FIELD_VXLAN_RSVD1 & 0xff}
},
- /* act_tid: 8, , table: vxlan_encap_rec_cache.wr */
+ /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.wr */
{
.description = "rid",
.field_bit_size = 32,
@@ -8393,7 +8143,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
(BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
},
- /* act_tid: 8, , table: ext_tun_geneve_encap_record.ipv4_vxlan */
+ /* act_tid: 7, , table: ext_tun_geneve_encap_record.ipv4_vxlan */
{
.description = "ecv_valid",
.field_bit_size = 1,
@@ -8710,7 +8460,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
(BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 >> 8) & 0xff,
BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff}
},
- /* act_tid: 8, , table: ext_tun_geneve_encap_record.ipv6_geneve */
+ /* act_tid: 7, , table: ext_tun_geneve_encap_record.ipv6_geneve */
{
.description = "ecv_valid",
.field_bit_size = 1,
@@ -8875,434 +8625,237 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.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 = {
- (BNXT_ULP_ENC_FIELD_IPV6_PROTO >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_IPV6_PROTO & 0xff}
- },
- {
- .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 = {
- (BNXT_ULP_ENC_FIELD_IPV6_TTL >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_IPV6_TTL & 0xff}
- },
- {
- .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_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}
- },
- {
- .description = "enc_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}
- },
- {
- .description = "enc_geneve_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 = "enc_geneve_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 = "enc_geneve_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 = "enc_geneve_rsvd1",
- .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_GENEVE_RSVD1 >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_GENEVE_RSVD1 & 0xff}
- },
- {
- .description = "enc_geneve_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}
- },
- {
- .description = "enc_geneve_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}
- },
- {
- .description = "enc_geneve_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}
- },
- {
- .description = "enc_geneve_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}
- },
- {
- .description = "enc_geneve_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}
- },
- {
- .description = "enc_geneve_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}
- },
- /* act_tid: 8, , table: geneve_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 = 32,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .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}
- },
- /* act_tid: 8, , table: cmm_full_act_record.0 */
- {
- .description = "type",
- .field_bit_size = 3,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- {
- .description = "drop",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
- .field_opr1 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
- },
- {
- .description = "vlan_del_rpt",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "vnic_or_vport",
- .field_bit_size = 11,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
- },
- {
- .description = "dest_op",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "decap_func",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "mirror",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "meter_ptr",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat0_ptr",
- .field_bit_size = 28,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
- },
- {
- .description = "stat0_ing_egr",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat0_ctr_type",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat1_ptr",
- .field_bit_size = 28,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stat1_ing_egr",
- .field_bit_size = 1,
- .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_IPV6_PROTO >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV6_PROTO & 0xff}
},
{
- .description = "stat1_ctr_type",
- .field_bit_size = 2,
+ .description = "enc_ipv6_ttl",
+ .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_IPV6_TTL >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV6_TTL & 0xff}
},
{
- .description = "mod_rec_ptr",
- .field_bit_size = 28,
+ .description = "enc_ipv6_daddr",
+ .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_MODIFY_PTR >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MODIFY_PTR & 0xff}
+ (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}
},
{
- .description = "encap_ptr",
- .field_bit_size = 28,
+ .description = "enc_udp_sport",
+ .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_ENCAP_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
+ (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
},
{
- .description = "src_ptr",
- .field_bit_size = 28,
+ .description = "enc_udp_dport",
+ .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_MAIN_SP_PTR >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
+ (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
},
{
- .description = "rsvd0",
- .field_bit_size = 7,
+ .description = "enc_geneve_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_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}
},
- /* act_tid: 9, , table: mod_record.meta */
{
- .description = "metadata_en",
- .field_bit_size = 1,
+ .description = "enc_geneve_proto_type",
+ .field_bit_size = 16,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
.field_opr1 = {
- 1}
+ (BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_GENEVE_PROTO_TYPE & 0xff}
},
{
- .description = "rem_ovlan",
- .field_bit_size = 1,
+ .description = "enc_geneve_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_GENEVE_VNI >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_GENEVE_VNI & 0xff}
},
{
- .description = "rem_ivlan",
- .field_bit_size = 1,
+ .description = "enc_geneve_rsvd1",
+ .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_GENEVE_RSVD1 >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_GENEVE_RSVD1 & 0xff}
},
{
- .description = "rep_add_ivlan",
- .field_bit_size = 1,
+ .description = "enc_geneve_opt_w0",
+ .field_bit_size = 32,
.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_GENEVE_OPT_W0 >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_GENEVE_OPT_W0 & 0xff}
},
{
- .description = "rep_add_ovlan",
- .field_bit_size = 1,
+ .description = "enc_geneve_opt_w1",
+ .field_bit_size = 32,
.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_GENEVE_OPT_W1 >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_GENEVE_OPT_W1 & 0xff}
},
{
- .description = "ttl_update",
- .field_bit_size = 1,
+ .description = "enc_geneve_opt_w2",
+ .field_bit_size = 32,
.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_GENEVE_OPT_W2 >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_GENEVE_OPT_W2 & 0xff}
},
{
- .description = "tun_md_en",
- .field_bit_size = 1,
+ .description = "enc_geneve_opt_w3",
+ .field_bit_size = 32,
.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_GENEVE_OPT_W3 >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_GENEVE_OPT_W3 & 0xff}
},
{
- .description = "reserved_en",
- .field_bit_size = 1,
+ .description = "enc_geneve_opt_w4",
+ .field_bit_size = 32,
.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_GENEVE_OPT_W4 >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_GENEVE_OPT_W4 & 0xff}
},
{
- .description = "l2_dmac_en",
- .field_bit_size = 1,
+ .description = "enc_geneve_opt_w5",
+ .field_bit_size = 32,
.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_GENEVE_OPT_W5 >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_GENEVE_OPT_W5 & 0xff}
},
+ /* act_tid: 7, , table: geneve_encap_rec_cache.wr */
{
- .description = "l2_smac_en",
- .field_bit_size = 1,
+ .description = "rid",
+ .field_bit_size = 32,
.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_RID >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_RID & 0xff}
},
{
- .description = "l3_sip_ipv6_en",
- .field_bit_size = 1,
+ .description = "enc_rec_ptr",
+ .field_bit_size = 32,
.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}
},
+ /* act_tid: 7, , table: ext_vtag_encap_record.0 */
{
- .description = "l3_dip_ipv6_en",
+ .description = "ecv_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}
},
{
- .description = "l3_sip_ipv4_en",
+ .description = "ecv_custom_en",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "l3_dip_ipv4_en",
- .field_bit_size = 1,
+ .description = "ecv_vtag_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_CONST,
+ .field_opr1 = {
+ ULP_THOR2_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
},
{
- .description = "l4_sport_en",
+ .description = "ecv_l2_en",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "l4_dport_en",
- .field_bit_size = 1,
+ .description = "ecv_l3_type",
+ .field_bit_size = 3,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "metadata_rsvd",
- .field_bit_size = 10,
+ .description = "ecv_l4_type",
+ .field_bit_size = 3,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "metadata_op",
- .field_bit_size = 2,
+ .description = "ecv_tun_type",
+ .field_bit_size = 3,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "metadata_prof",
- .field_bit_size = 4,
+ .description = "vtag_tpid",
+ .field_bit_size = 16,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
- (BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 >> 8) & 0xff,
- BNXT_ULP_GLB_RF_IDX_GLB_METADATA_TX_ACT_0 & 0xff}
+ (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff}
},
{
- .description = "metadata_data",
- .field_bit_size = 32,
+ .description = "vtag_pcp",
+ .field_bit_size = 3,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
- (BNXT_ULP_RF_IDX_RF_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_RF_0 & 0xff}
+ (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff}
},
- /* act_tid: 9, , table: cmm_stat_record.0 */
{
- .description = "packet_count",
- .field_bit_size = 64,
+ .description = "vtag_de",
+ .field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
- .description = "byte_count",
- .field_bit_size = 64,
+ .description = "vtag_vid",
+ .field_bit_size = 12,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff}
},
- /* act_tid: 9, , table: cmm_full_act_record.0 */
+ /* act_tid: 7, , table: cmm_full_act_record.0 */
{
.description = "type",
.field_bit_size = 3,
@@ -9335,11 +8888,21 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
{
.description = "vnic_or_vport",
.field_bit_size = 11,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
.field_opr1 = {
- (ULP_THOR2_SYM_LOOPBACK_PORT >> 8) & 0xff,
- ULP_THOR2_SYM_LOOPBACK_PORT & 0xff}
+ (90 >> 8) & 0xff,
+ 90 & 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_NEXT,
+ .field_opr3 = {
+ (3 >> 8) & 0xff,
+ 3 & 0xff}
},
{
.description = "dest_op",
@@ -9357,7 +8920,10 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.description = "mirror",
.field_bit_size = 5,
.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_MIRROR_ID_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff}
},
{
.description = "meter_ptr",
@@ -9378,9 +8944,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
.description = "stat0_ing_egr",
.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 = "stat0_ctr_type",
@@ -9419,7 +8983,10 @@ 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",
@@ -9433,7 +9000,7 @@ 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: 10, , table: mod_record.meta */
+ /* act_tid: 12, , table: mod_record.meta */
{
.description = "metadata_en",
.field_bit_size = 1,
@@ -9562,7 +9129,7 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
(BNXT_ULP_RF_IDX_RF_0 >> 8) & 0xff,
BNXT_ULP_RF_IDX_RF_0 & 0xff}
},
- /* act_tid: 10, , table: cmm_stat_record.0 */
+ /* act_tid: 12, , table: cmm_stat_record.0 */
{
.description = "packet_count",
.field_bit_size = 64,
@@ -9575,7 +9142,7 @@ 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: 10, , table: cmm_full_act_record.0 */
+ /* act_tid: 12, , table: cmm_full_act_record.0 */
{
.description = "type",
.field_bit_size = 3,
@@ -9709,6 +9276,13 @@ struct bnxt_ulp_mapper_field_info ulp_thor2_act_result_field_list[] = {
};
struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = {
+ /* act_tid: 1, , table: flow_chain_cache.rd */
+ {
+ .description = "metadata",
+ .regfile_idx = BNXT_ULP_RF_IDX_JUMP_META,
+ .ident_bit_size = 32,
+ .ident_bit_pos = 32
+ },
/* act_tid: 1, , table: shared_meter_tbl_cache.rd */
{
.description = "meter_ptr",
@@ -9736,28 +9310,14 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = {
.ident_bit_size = 64,
.ident_bit_pos = 54
},
- /* act_tid: 2, , table: shared_mirror_record.del_chk */
+ /* act_tid: 3, , table: shared_mirror_record.del_chk */
{
.description = "rid",
.regfile_idx = BNXT_ULP_RF_IDX_RID,
.ident_bit_size = 32,
.ident_bit_pos = 0
},
- /* act_tid: 3, , table: shared_mirror_record.rd */
- {
- .description = "mirror_id",
- .regfile_idx = BNXT_ULP_RF_IDX_MIRROR_ID_0,
- .ident_bit_size = 5,
- .ident_bit_pos = 32
- },
- /* act_tid: 4, , table: shared_mirror_record.rd */
- {
- .description = "mirror_id",
- .regfile_idx = BNXT_ULP_RF_IDX_MIRROR_ID_0,
- .ident_bit_size = 5,
- .ident_bit_pos = 32
- },
- /* act_tid: 5, , table: meter_profile_tbl_cache.rd2 */
+ /* act_tid: 6, , table: meter_profile_tbl_cache.rd2 */
{
.description = "cbnd",
.regfile_idx = BNXT_ULP_RF_IDX_CBND_0,
@@ -9824,28 +9384,28 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = {
.ident_bit_size = 1,
.ident_bit_pos = 34
},
- /* act_tid: 5, , table: meter_profile_tbl_cache.del_chk */
+ /* act_tid: 6, , table: meter_profile_tbl_cache.del_chk */
{
.description = "rid",
.regfile_idx = BNXT_ULP_RF_IDX_RID,
.ident_bit_size = 32,
.ident_bit_pos = 0
},
- /* act_tid: 5, , table: shared_meter_tbl_cache.del_chk */
+ /* act_tid: 6, , table: shared_meter_tbl_cache.del_chk */
{
.description = "rid",
.regfile_idx = BNXT_ULP_RF_IDX_RID,
.ident_bit_size = 32,
.ident_bit_pos = 0
},
- /* act_tid: 5, , table: shared_meter_tbl_cache.rd_update */
+ /* act_tid: 6, , table: shared_meter_tbl_cache.rd_update */
{
.description = "meter_ptr",
.regfile_idx = BNXT_ULP_RF_IDX_METER_PTR_0,
.ident_bit_size = 10,
.ident_bit_pos = 32
},
- /* act_tid: 5, , table: meter_tbl.update_rd */
+ /* act_tid: 6, , table: meter_tbl.update_rd */
{
.description = "cbnd",
.regfile_idx = BNXT_ULP_RF_IDX_CBND_0,
@@ -9924,21 +9484,42 @@ struct bnxt_ulp_mapper_ident_info ulp_thor2_act_ident_list[] = {
.ident_bit_size = 1,
.ident_bit_pos = 58
},
- /* act_tid: 8, , table: source_property_cache.rd */
+ /* act_tid: 7, , table: flow_chain_cache.rd */
+ {
+ .description = "metadata",
+ .regfile_idx = BNXT_ULP_RF_IDX_JUMP_META,
+ .ident_bit_size = 32,
+ .ident_bit_pos = 32
+ },
+ /* act_tid: 7, , table: shared_mirror_record.rd */
+ {
+ .description = "mirror_id",
+ .regfile_idx = BNXT_ULP_RF_IDX_MIRROR_ID_0,
+ .ident_bit_size = 5,
+ .ident_bit_pos = 32
+ },
+ /* act_tid: 7, , table: source_property_cache.rd */
{
.description = "sp_rec_ptr",
.regfile_idx = BNXT_ULP_RF_IDX_MAIN_SP_PTR,
.ident_bit_size = 32,
.ident_bit_pos = 32
},
- /* act_tid: 8, , table: vxlan_encap_rec_cache.rd */
+ /* act_tid: 7, , table: vxlan_encap_rec_cache.rd */
+ {
+ .description = "enc_rec_ptr",
+ .regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
+ .ident_bit_size = 32,
+ .ident_bit_pos = 32
+ },
+ /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.rd */
{
.description = "enc_rec_ptr",
.regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
.ident_bit_size = 32,
.ident_bit_pos = 32
},
- /* act_tid: 8, , table: geneve_encap_rec_cache.rd */
+ /* act_tid: 7, , table: geneve_encap_rec_cache.rd */
{
.description = "enc_rec_ptr",
.regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
@@ -168,6 +168,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.fdb_operand = BNXT_ULP_RF_IDX_RID,
.pri_opcode = BNXT_ULP_PRI_OPC_CONST,
.pri_operand = 0,
+ .track_type = CFA_TRACK_TYPE_SID,
.ident_start_idx = 8,
.ident_nums = 1
},
@@ -305,6 +306,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.fdb_operand = BNXT_ULP_RF_IDX_RID,
.pri_opcode = BNXT_ULP_PRI_OPC_CONST,
.pri_operand = 140,
+ .track_type = CFA_TRACK_TYPE_SID,
.ident_start_idx = 10,
.ident_nums = 1
},
@@ -326,6 +328,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 15,
.blob_key_bit_size = 256,
.key_bit_size = 256,
@@ -536,6 +539,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.fdb_operand = BNXT_ULP_RF_IDX_RID,
.pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
.pri_operand = ULP_THOR2_SYM_PROF_TCAM_PRI_APP,
+ .track_type = CFA_TRACK_TYPE_SID,
.ident_start_idx = 20,
.ident_nums = 1
},
@@ -555,6 +559,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 31,
.result_bit_size = 256,
.result_num_fields = 172
@@ -616,6 +621,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 206,
.result_bit_size = 256,
.result_num_fields = 172
@@ -679,6 +685,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.pri_opcode = BNXT_ULP_PRI_OPC_REGFILE,
.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 = 57,
.blob_key_bit_size = 256,
.key_bit_size = 256,
@@ -790,6 +797,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 396,
.result_bit_size = 256,
.result_num_fields = 172
@@ -916,6 +924,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.pri_operand = 0,
.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 = 587,
.result_bit_size = 128,
.result_num_fields = 15
@@ -1108,6 +1117,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.fdb_operand = BNXT_ULP_RF_IDX_RID,
.pri_opcode = BNXT_ULP_PRI_OPC_CONST,
.pri_operand = 0,
+ .track_type = CFA_TRACK_TYPE_SID,
.ident_start_idx = 35,
.ident_nums = 1
},
@@ -1127,6 +1137,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 602,
.result_bit_size = 256,
.result_num_fields = 172
@@ -1188,6 +1199,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 777,
.result_bit_size = 256,
.result_num_fields = 172
@@ -1252,6 +1264,7 @@ 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,
.critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
+ .track_type = CFA_TRACK_TYPE_SID,
.key_start_idx = 211,
.blob_key_bit_size = 256,
.key_bit_size = 256,
@@ -1363,6 +1376,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 967,
.result_bit_size = 256,
.result_num_fields = 172
@@ -1489,6 +1503,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.pri_operand = 0,
.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 = 1158,
.result_bit_size = 128,
.result_num_fields = 15
@@ -1511,6 +1526,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 1173,
.result_bit_size = 32,
.result_num_fields = 1
@@ -1533,6 +1549,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 1174,
.result_bit_size = 32,
.result_num_fields = 1
@@ -1555,6 +1572,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 1175,
.result_bit_size = 32,
.result_num_fields = 1
@@ -1577,6 +1595,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 1176,
.result_bit_size = 32,
.result_num_fields = 1
@@ -1599,6 +1618,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 1177,
.result_bit_size = 32,
.result_num_fields = 1
@@ -1621,6 +1641,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.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 = 1178,
.result_bit_size = 32,
.result_num_fields = 1
@@ -1747,6 +1768,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
.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 = 356,
.blob_key_bit_size = 256,
.key_bit_size = 256,
@@ -1860,6 +1882,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.fdb_operand = BNXT_ULP_RF_IDX_RID,
.pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
.pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_CATCHALL,
+ .track_type = CFA_TRACK_TYPE_SID,
.key_start_idx = 426,
.blob_key_bit_size = 256,
.key_bit_size = 256,
@@ -2045,6 +2068,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.fdb_operand = BNXT_ULP_RF_IDX_RID,
.pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
.pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP,
+ .track_type = CFA_TRACK_TYPE_SID,
.key_start_idx = 453,
.blob_key_bit_size = 256,
.key_bit_size = 256,
@@ -2074,6 +2098,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
.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 = 477,
.blob_key_bit_size = 256,
.key_bit_size = 256,
@@ -2249,6 +2274,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.fdb_operand = BNXT_ULP_RF_IDX_RID,
.pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
.pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_APP,
+ .track_type = CFA_TRACK_TYPE_SID,
.key_start_idx = 546,
.blob_key_bit_size = 256,
.key_bit_size = 256,
@@ -2432,6 +2458,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
.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 = 574,
.blob_key_bit_size = 256,
.key_bit_size = 256,
@@ -2522,6 +2549,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor2_class_tbl_list[] = {
.fdb_operand = BNXT_ULP_RF_IDX_RID,
.pri_opcode = BNXT_ULP_PRI_OPC_APP_PRI_OR_CONST,
.pri_operand = ULP_THOR2_SYM_L2_CTXT_PRI_CATCHALL,
+ .track_type = CFA_TRACK_TYPE_SID,
.key_start_idx = 643,
.blob_key_bit_size = 256,
.key_bit_size = 256,
@@ -13,101 +13,121 @@ struct bnxt_ulp_mapper_tmpl_info ulp_thor_act_tmpl_list[] = {
/* act_tid: 1, ingress */
[1] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR,
- .num_tbls = 14,
+ .num_tbls = 17,
.start_tbl_idx = 0,
.reject_info = {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
.cond_start_idx = 0,
- .cond_nums = 1 }
+ .cond_nums = 0 }
},
/* act_tid: 2, ingress */
[2] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR,
- .num_tbls = 10,
- .start_tbl_idx = 14,
+ .num_tbls = 1,
+ .start_tbl_idx = 17,
.reject_info = {
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
- .cond_start_idx = 17,
+ .cond_start_idx = 20,
.cond_nums = 0 }
},
/* act_tid: 3, ingress */
[3] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR,
- .num_tbls = 6,
- .start_tbl_idx = 24,
+ .num_tbls = 10,
+ .start_tbl_idx = 18,
.reject_info = {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 21,
- .cond_nums = 1 }
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 20,
+ .cond_nums = 0 }
},
/* act_tid: 4, ingress */
[4] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR,
- .num_tbls = 7,
- .start_tbl_idx = 30,
+ .num_tbls = 1,
+ .start_tbl_idx = 28,
.reject_info = {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 27,
- .cond_nums = 2 }
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 24,
+ .cond_nums = 0 }
},
/* act_tid: 5, ingress */
[5] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR,
- .num_tbls = 20,
- .start_tbl_idx = 37,
+ .num_tbls = 1,
+ .start_tbl_idx = 29,
.reject_info = {
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
- .cond_start_idx = 36,
+ .cond_start_idx = 24,
.cond_nums = 0 }
},
- /* act_tid: 6, egress */
+ /* act_tid: 6, ingress */
[6] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR,
- .num_tbls = 13,
- .start_tbl_idx = 57,
+ .num_tbls = 20,
+ .start_tbl_idx = 30,
.reject_info = {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 51,
- .cond_nums = 1 }
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 24,
+ .cond_nums = 0 }
},
/* act_tid: 7, egress */
[7] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR,
- .num_tbls = 6,
- .start_tbl_idx = 70,
+ .num_tbls = 39,
+ .start_tbl_idx = 50,
.reject_info = {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 65,
- .cond_nums = 1 }
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 39,
+ .cond_nums = 0 }
},
/* act_tid: 8, egress */
[8] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR,
- .num_tbls = 25,
- .start_tbl_idx = 76,
+ .num_tbls = 1,
+ .start_tbl_idx = 89,
.reject_info = {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 71,
- .cond_nums = 1 }
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 86,
+ .cond_nums = 0 }
},
/* act_tid: 9, egress */
[9] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR,
- .num_tbls = 5,
- .start_tbl_idx = 101,
+ .num_tbls = 1,
+ .start_tbl_idx = 90,
.reject_info = {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 103,
- .cond_nums = 1 }
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 86,
+ .cond_nums = 0 }
},
/* act_tid: 10, egress */
[10] = {
.device_name = BNXT_ULP_DEVICE_ID_THOR,
+ .num_tbls = 1,
+ .start_tbl_idx = 91,
+ .reject_info = {
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 86,
+ .cond_nums = 0 }
+ },
+ /* act_tid: 11, egress */
+ [11] = {
+ .device_name = BNXT_ULP_DEVICE_ID_THOR,
+ .num_tbls = 1,
+ .start_tbl_idx = 92,
+ .reject_info = {
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
+ .cond_start_idx = 86,
+ .cond_nums = 0 }
+ },
+ /* act_tid: 12, egress */
+ [12] = {
+ .device_name = BNXT_ULP_DEVICE_ID_THOR,
.num_tbls = 11,
- .start_tbl_idx = 106,
+ .start_tbl_idx = 93,
.reject_info = {
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
- .cond_start_idx = 107,
+ .cond_start_idx = 86,
.cond_nums = 0 }
}
};
@@ -123,7 +143,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 5,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 1,
+ .cond_start_idx = 0,
.cond_nums = 1 },
.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
@@ -142,9 +162,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.direction = TF_DIR_RX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 0,
+ .cond_false_goto = 4,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 2,
+ .cond_start_idx = 1,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
@@ -160,7 +180,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 3,
+ .cond_start_idx = 2,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_ALLOC_TBL_OPC_ALLOC,
.tbl_operand = BNXT_ULP_RF_IDX_JUMP_META_IDX,
@@ -179,7 +199,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 3,
+ .cond_start_idx = 2,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -202,7 +222,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 3,
+ .cond_start_idx = 2,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
@@ -226,7 +246,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 2,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 3,
+ .cond_start_idx = 2,
.cond_nums = 1 },
.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
@@ -243,11 +263,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.description = "control.meter_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
+ .true_message = "Reject due to unknown meter.",
.execute_info = {
.cond_true_goto = 1023,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 4,
+ .cond_start_idx = 3,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
@@ -263,7 +284,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 2,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 5,
+ .cond_start_idx = 4,
.cond_nums = 1 },
.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
@@ -280,36 +301,44 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.description = "control.mirror",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
+ .true_message = "Reject due to non-existent handle",
.execute_info = {
.cond_true_goto = 1023,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 6,
+ .cond_start_idx = 5,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 1, , table: int_flow_counter_tbl.0 */
- .description = "int_flow_counter_tbl.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_STATS_64,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
+ { /* act_tid: 1, , table: control.do_mod */
+ .description = "control.do_mod",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 1,
+ .cond_false_goto = 3,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 7,
+ .cond_start_idx = 6,
.cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
.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 = 2,
- .result_bit_size = 64,
- .result_num_fields = 1
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+ .func_info = {
+ .func_opc = BNXT_ULP_FUNC_OPC_BIT_AND,
+ .func_src1 = BNXT_ULP_FUNC_SRC_ACTION_BITMAP,
+ .func_opr1 = BNXT_ULP_FUNC_SRC_ACTION_BITMAP,
+ .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+ .func_opr2 = BNXT_ULP_ACT_BIT_DEC_TTL |
+ BNXT_ULP_ACT_BIT_SET_MAC_SRC |
+ BNXT_ULP_ACT_BIT_SET_MAC_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV4_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV4_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV6_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV6_DST |
+ BNXT_ULP_ACT_BIT_SET_TP_SRC |
+ BNXT_ULP_ACT_BIT_SET_TP_DST |
+ BNXT_ULP_ACT_BIT_JUMP,
+ .func_dst_opr = BNXT_ULP_RF_IDX_RF_0 }
},
{ /* act_tid: 1, , table: mod_record.ing_ttl */
.description = "mod_record.ing_ttl",
@@ -322,16 +351,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 2,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 8,
+ .cond_start_idx = 7,
.cond_nums = 1 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 3,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 2,
.result_bit_size = 0,
.result_num_fields = 0,
- .encap_num_fields = 29
+ .encap_num_fields = 35
},
{ /* act_tid: 1, , table: mod_record.ing_no_ttl */
.description = "mod_record.ing_no_ttl",
@@ -342,18 +372,95 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.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 = 0,
- .cond_nums = 2 },
+ .cond_false_goto = 1,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 8,
+ .cond_nums = 1 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 32,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 37,
.result_bit_size = 0,
.result_num_fields = 0,
- .encap_num_fields = 22
+ .encap_num_fields = 28
+ },
+ { /* act_tid: 1, , table: control.queue_and_rss_test */
+ .description = "control.queue_and_rss_test",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+ .direction = TF_DIR_RX,
+ .true_message = "Reject due to both queue and rss set",
+ .execute_info = {
+ .cond_true_goto = 1,
+ .cond_false_goto = 1,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 9,
+ .cond_nums = 2 },
+ .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+ },
+ { /* act_tid: 1, , table: vnic_interface_rss_config.0 */
+ .description = "vnic_interface_rss_config.0",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_VNIC_TABLE,
+ .resource_sub_type =
+ BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_RSS,
+ .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 = 11,
+ .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 = 65,
+ .result_bit_size = 0,
+ .result_num_fields = 0
+ },
+ { /* act_tid: 1, , table: vnic_interface_queue_config.0 */
+ .description = "vnic_interface_queue_config.0",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_VNIC_TABLE,
+ .resource_sub_type =
+ BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_QUEUE,
+ .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 = 12,
+ .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 = 65,
+ .result_bit_size = 0,
+ .result_num_fields = 0
+ },
+ { /* act_tid: 1, , table: int_flow_counter_tbl.0 */
+ .description = "int_flow_counter_tbl.0",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+ .resource_type = TF_TBL_TYPE_ACT_STATS_64,
+ .resource_sub_type =
+ BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
+ .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 = 13,
+ .cond_nums = 1 },
+ .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
+ .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
+ .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+ .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 65,
+ .result_bit_size = 64,
+ .result_num_fields = 1
},
{ /* act_tid: 1, , table: int_full_act_record.0 */
.description = "int_full_act_record.0",
@@ -364,42 +471,36 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.direction = TF_DIR_RX,
.execute_info = {
.cond_true_goto = 0,
- .cond_false_goto = 1,
+ .cond_false_goto = 0,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 13,
+ .cond_start_idx = 14,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
.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 = 54,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 66,
.result_bit_size = 128,
- .result_num_fields = 17
+ .result_num_fields = 17,
+ .encap_num_fields = 0
},
- { /* act_tid: 1, , table: int_compact_act_record.0 */
- .description = "int_compact_act_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_COMPACT_ACT_RECORD,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+ { /* act_tid: 2, , table: control.reject */
+ .description = "control.reject",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
+ .true_message = "Thor not supporting non-generic template",
.execute_info = {
- .cond_true_goto = 0,
+ .cond_true_goto = 1023,
.cond_false_goto = 0,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 15,
+ .cond_start_idx = 20,
.cond_nums = 0 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
.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_bit_size = 64,
- .result_num_fields = 13
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 2, , table: control.delete_chk */
+ { /* act_tid: 3, , table: control.delete_chk */
.description = "control.delete_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -407,12 +508,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 4,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 17,
+ .cond_start_idx = 20,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 2, , table: shared_mirror_record.del_chk */
+ { /* act_tid: 3, , table: shared_mirror_record.del_chk */
.description = "shared_mirror_record.del_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
@@ -423,7 +524,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 18,
+ .cond_start_idx = 21,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
@@ -437,7 +538,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.ident_start_idx = 3,
.ident_nums = 1
},
- { /* act_tid: 2, , table: control.mirror_del_exist_chk */
+ { /* act_tid: 3, , table: control.mirror_del_exist_chk */
.description = "control.mirror_del_exist_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -445,12 +546,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 0,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 18,
+ .cond_start_idx = 21,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 2, , table: control.mirror_ref_cnt_chk */
+ { /* act_tid: 3, , table: control.mirror_ref_cnt_chk */
.description = "control.mirror_ref_cnt_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -458,7 +559,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 0,
.cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 19,
+ .cond_start_idx = 22,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE,
@@ -471,7 +572,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.func_opr2 = 1,
.func_dst_opr = BNXT_ULP_RF_IDX_CC }
},
- { /* act_tid: 2, , table: control.create */
+ { /* act_tid: 3, , table: control.create */
.description = "control.create",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -479,13 +580,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 20,
+ .cond_start_idx = 23,
.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: 2, , table: mirror_tbl.alloc */
+ { /* act_tid: 3, , table: mirror_tbl.alloc */
.description = "mirror_tbl.alloc",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
@@ -496,7 +597,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 20,
+ .cond_start_idx = 23,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0,
@@ -504,11 +605,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_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 = 84,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 83,
.result_bit_size = 32,
.result_num_fields = 5
},
- { /* act_tid: 2, , table: int_flow_counter_tbl.0 */
+ { /* act_tid: 3, , table: int_flow_counter_tbl.0 */
.description = "int_flow_counter_tbl.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_ACT_STATS_64,
@@ -519,7 +621,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 20,
+ .cond_start_idx = 23,
.cond_nums = 1 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
@@ -527,11 +629,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_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 = 89,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 88,
.result_bit_size = 64,
.result_num_fields = 1
},
- { /* act_tid: 2, , table: int_compact_act_record.0 */
+ { /* act_tid: 3, , table: int_compact_act_record.0 */
.description = "int_compact_act_record.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_COMPACT_ACT_RECORD,
@@ -542,7 +645,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 21,
+ .cond_start_idx = 24,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
@@ -550,12 +653,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_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 = 90,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 89,
.result_bit_size = 64,
.result_num_fields = 13,
.encap_num_fields = 0
},
- { /* act_tid: 2, , table: mirror_tbl.wr */
+ { /* act_tid: 3, , table: mirror_tbl.wr */
.description = "mirror_tbl.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
@@ -566,18 +670,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 21,
+ .cond_start_idx = 24,
.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,
- .result_start_idx = 103,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 102,
.result_bit_size = 32,
.result_num_fields = 5
},
- { /* act_tid: 2, , table: shared_mirror_record.wr */
+ { /* act_tid: 3, , table: shared_mirror_record.wr */
.description = "shared_mirror_record.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
@@ -588,7 +693,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 0,
.cond_false_goto = 0,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 21,
+ .cond_start_idx = 24,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
@@ -600,292 +705,52 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.blob_key_bit_size = 8,
.key_bit_size = 8,
.key_num_fields = 1,
- .result_start_idx = 108,
+ .result_start_idx = 107,
.result_bit_size = 36,
.result_num_fields = 2
},
- { /* act_tid: 3, , table: shared_mirror_record.rd */
- .description = "shared_mirror_record.rd",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
+ { /* act_tid: 4, , table: control.reject */
+ .description = "control.reject",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
+ .true_message = "Thor not supporting non-generic template",
.execute_info = {
- .cond_true_goto = 1,
- .cond_false_goto = 2,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 22,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
- .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+ .cond_true_goto = 1023,
+ .cond_false_goto = 0,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 24,
+ .cond_nums = 0 },
.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 = 8,
- .key_bit_size = 8,
- .key_num_fields = 1,
- .ident_start_idx = 4,
- .ident_nums = 1
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 3, , table: control.mirror */
- .description = "control.mirror",
+ { /* act_tid: 5, , table: control.reject */
+ .description = "control.reject",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
+ .true_message = "Thor not supporting non-generic template",
.execute_info = {
.cond_true_goto = 1023,
- .cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 23,
- .cond_nums = 1 },
+ .cond_false_goto = 0,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 24,
+ .cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 3, , table: int_flow_counter_tbl.0 */
- .description = "int_flow_counter_tbl.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_STATS_64,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
+ { /* act_tid: 6, , table: control.create_check */
+ .description = "control.create_check",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 1,
+ .cond_false_goto = 11,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
.cond_start_idx = 24,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
+ .cond_nums = 2 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 110,
- .result_bit_size = 64,
- .result_num_fields = 1
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 3, , table: mod_record.ing_ttl */
- .description = "mod_record.ing_ttl",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
- .direction = TF_DIR_RX,
- .execute_info = {
- .cond_true_goto = 2,
- .cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 25,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 111,
- .result_bit_size = 0,
- .result_num_fields = 0,
- .encap_num_fields = 31
- },
- { /* act_tid: 3, , table: mod_record.ing_no_ttl */
- .description = "mod_record.ing_no_ttl",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
- .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_AND,
- .cond_start_idx = 26,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 142,
- .result_bit_size = 0,
- .result_num_fields = 0,
- .encap_num_fields = 24
- },
- { /* act_tid: 3, , table: int_full_act_record.0 */
- .description = "int_full_act_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
- .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 = 27,
- .cond_nums = 0 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 166,
- .result_bit_size = 128,
- .result_num_fields = 17
- },
- { /* act_tid: 4, , table: shared_mirror_record.rd */
- .description = "shared_mirror_record.rd",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
- .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 = 29,
- .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 = 7,
- .blob_key_bit_size = 8,
- .key_bit_size = 8,
- .key_num_fields = 1,
- .ident_start_idx = 5,
- .ident_nums = 1
- },
- { /* act_tid: 4, , table: control.mirror */
- .description = "control.mirror",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
- .direction = TF_DIR_RX,
- .execute_info = {
- .cond_true_goto = 1023,
- .cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 30,
- .cond_nums = 1 },
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
- },
- { /* act_tid: 4, , table: int_flow_counter_tbl.0 */
- .description = "int_flow_counter_tbl.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_STATS_64,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
- .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 = 31,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
- .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 = 183,
- .result_bit_size = 64,
- .result_num_fields = 1
- },
- { /* act_tid: 4, , table: vnic_interface_rss_config.0 */
- .description = "vnic_interface_rss_config.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_VNIC_TABLE,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_RSS,
- .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 = 32,
- .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 = 184,
- .result_bit_size = 0,
- .result_num_fields = 0
- },
- { /* act_tid: 4, , table: vnic_interface_queue_config.0 */
- .description = "vnic_interface_queue_config.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_VNIC_TABLE,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_VNIC_TABLE_QUEUE,
- .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 = 33,
- .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 = 184,
- .result_bit_size = 0,
- .result_num_fields = 0
- },
- { /* act_tid: 4, , table: int_compact_act_record.0 */
- .description = "int_compact_act_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_COMPACT_ACT_RECORD,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
- .direction = TF_DIR_RX,
- .execute_info = {
- .cond_true_goto = 0,
- .cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
- .cond_start_idx = 34,
- .cond_nums = 2 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
- .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 = 184,
- .result_bit_size = 64,
- .result_num_fields = 13,
- .encap_num_fields = 0
- },
- { /* act_tid: 4, , table: int_compact_act_record.1 */
- .description = "int_compact_act_record.1",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_COMPACT_ACT_RECORD,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
- .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 = 36,
- .cond_nums = 0 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
- .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 = 197,
- .result_bit_size = 64,
- .result_num_fields = 13,
- .encap_num_fields = 0
- },
- { /* act_tid: 5, , table: control.create_check */
- .description = "control.create_check",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
- .direction = TF_DIR_RX,
- .execute_info = {
- .cond_true_goto = 1,
- .cond_false_goto = 11,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 36,
- .cond_nums = 2 },
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
- },
- { /* act_tid: 5, , table: meter_profile_tbl_cache.rd */
+ { /* act_tid: 6, , table: meter_profile_tbl_cache.rd */
.description = "meter_profile_tbl_cache.rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -895,21 +760,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 4,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 38,
+ .cond_start_idx = 26,
.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 = 6,
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .ident_start_idx = 6,
+ .ident_start_idx = 4,
.ident_nums = 0
},
- { /* act_tid: 5, , table: control.shared_meter_profile_0 */
+ { /* act_tid: 6, , table: control.shared_meter_profile_0 */
.description = "control.shared_meter_profile_0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -917,13 +782,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_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 = 27,
.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: 5, , table: meter_profile_tbl.0 */
+ { /* act_tid: 6, , table: meter_profile_tbl.0 */
.description = "meter_profile_tbl.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_METER_PROF,
@@ -934,18 +799,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_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 = 28,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_METER_PROFILE_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,
- .result_start_idx = 210,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 109,
.result_bit_size = 65,
.result_num_fields = 11
},
- { /* act_tid: 5, , table: meter_profile_tbl_cache.wr */
+ { /* act_tid: 6, , table: meter_profile_tbl_cache.wr */
.description = "meter_profile_tbl_cache.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_type = TF_TBL_TYPE_METER_PROF,
@@ -956,22 +822,22 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 0,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 40,
+ .cond_start_idx = 28,
.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 = 7,
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .result_start_idx = 221,
+ .result_start_idx = 120,
.result_bit_size = 42,
.result_num_fields = 2
},
- { /* act_tid: 5, , table: shared_meter_tbl_cache.rd */
+ { /* act_tid: 6, , table: shared_meter_tbl_cache.rd */
.description = "shared_meter_tbl_cache.rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -981,21 +847,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_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 = 28,
.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 = 8,
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .ident_start_idx = 6,
+ .ident_start_idx = 4,
.ident_nums = 0
},
- { /* act_tid: 5, , table: control.meter_created_chk */
+ { /* act_tid: 6, , table: control.meter_created_chk */
.description = "control.meter_created_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -1003,13 +869,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 41,
+ .cond_start_idx = 29,
.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: 5, , table: meter_profile_tbl_cache.rd2 */
+ { /* act_tid: 6, , table: meter_profile_tbl_cache.rd2 */
.description = "meter_profile_tbl_cache.rd2",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1019,21 +885,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 42,
+ .cond_start_idx = 30,
.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 = 9,
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .ident_start_idx = 6,
+ .ident_start_idx = 4,
.ident_nums = 1
},
- { /* act_tid: 5, , table: control.shared_meter_profile_chk */
+ { /* act_tid: 6, , table: control.shared_meter_profile_chk */
.description = "control.shared_meter_profile_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -1041,12 +907,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1023,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 42,
+ .cond_start_idx = 30,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 5, , table: meter_tbl.0 */
+ { /* act_tid: 6, , table: meter_tbl.0 */
.description = "meter_tbl.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_METER_INST,
@@ -1057,18 +923,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 43,
+ .cond_start_idx = 31,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_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_PUSH_RID_REGFILE,
.fdb_operand = BNXT_ULP_RF_IDX_RID,
- .result_start_idx = 223,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 122,
.result_bit_size = 64,
.result_num_fields = 5
},
- { /* act_tid: 5, , table: shared_meter_tbl_cache.wr */
+ { /* act_tid: 6, , table: shared_meter_tbl_cache.wr */
.description = "shared_meter_tbl_cache.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1078,22 +945,22 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 0,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 43,
+ .cond_start_idx = 31,
.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 = 10,
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .result_start_idx = 228,
+ .result_start_idx = 127,
.result_bit_size = 74,
.result_num_fields = 3
},
- { /* act_tid: 5, , table: control.delete_check */
+ { /* act_tid: 6, , table: control.delete_check */
.description = "control.delete_check",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -1101,12 +968,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_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 = 31,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 5, , table: meter_profile_tbl_cache.del_chk */
+ { /* act_tid: 6, , table: meter_profile_tbl_cache.del_chk */
.description = "meter_profile_tbl_cache.del_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1116,21 +983,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 2,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 44,
+ .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 = 13,
+ .key_start_idx = 11,
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .ident_start_idx = 7,
+ .ident_start_idx = 5,
.ident_nums = 1
},
- { /* act_tid: 5, , table: control.mtr_prof_ref_cnt_chk */
+ { /* act_tid: 6, , table: control.mtr_prof_ref_cnt_chk */
.description = "control.mtr_prof_ref_cnt_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -1138,7 +1005,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 0,
.cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 45,
+ .cond_start_idx = 33,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE,
@@ -1151,7 +1018,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.func_opr2 = 1,
.func_dst_opr = BNXT_ULP_RF_IDX_CC }
},
- { /* act_tid: 5, , table: shared_meter_tbl_cache.del_chk */
+ { /* act_tid: 6, , table: shared_meter_tbl_cache.del_chk */
.description = "shared_meter_tbl_cache.del_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1161,21 +1028,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 46,
+ .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 = 14,
+ .key_start_idx = 12,
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .ident_start_idx = 8,
+ .ident_start_idx = 6,
.ident_nums = 1
},
- { /* act_tid: 5, , table: control.shared_mtr_ref_cnt_chk */
+ { /* act_tid: 6, , table: control.shared_mtr_ref_cnt_chk */
.description = "control.shared_mtr_ref_cnt_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -1183,7 +1050,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 0,
.cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 47,
+ .cond_start_idx = 35,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE,
@@ -1196,7 +1063,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.func_opr2 = 1,
.func_dst_opr = BNXT_ULP_RF_IDX_CC }
},
- { /* act_tid: 5, , table: control.update_check */
+ { /* act_tid: 6, , table: control.update_check */
.description = "control.update_check",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_RX,
@@ -1204,12 +1071,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 48,
+ .cond_start_idx = 36,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 5, , table: shared_meter_tbl_cache.rd_update */
+ { /* act_tid: 6, , table: shared_meter_tbl_cache.rd_update */
.description = "shared_meter_tbl_cache.rd_update",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1219,21 +1086,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 48,
+ .cond_start_idx = 36,
.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 = 13,
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .ident_start_idx = 9,
+ .ident_start_idx = 7,
.ident_nums = 1
},
- { /* act_tid: 5, , table: meter_tbl.update_rd */
+ { /* act_tid: 6, , table: meter_tbl.update_rd */
.description = "meter_tbl.update_rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_METER_INST,
@@ -1244,17 +1111,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 49,
+ .cond_start_idx = 37,
.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,
- .ident_start_idx = 10,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .ident_start_idx = 8,
.ident_nums = 3,
.result_bit_size = 64
},
- { /* act_tid: 5, , table: meter_tbl.update_wr */
+ { /* act_tid: 6, , table: meter_tbl.update_wr */
.description = "meter_tbl.update_wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_METER_INST,
@@ -1265,17 +1133,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 0,
.cond_false_goto = 0,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 51,
+ .cond_start_idx = 39,
.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,
- .result_start_idx = 231,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 130,
.result_bit_size = 64,
.result_num_fields = 5
},
- { /* act_tid: 6, , table: flow_chain_cache.rd */
+ { /* act_tid: 7, , table: flow_chain_cache.rd */
.description = "flow_chain_cache.rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1283,36 +1152,50 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 5,
+ .cond_false_goto = 6,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 52,
+ .cond_start_idx = 39,
.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 = 16,
+ .key_start_idx = 14,
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .ident_start_idx = 13,
+ .ident_start_idx = 11,
.ident_nums = 1
},
- { /* act_tid: 6, , table: control.flow_chain */
+ { /* act_tid: 7, , table: control.no_jump_vf_to_vf */
+ .description = "control.no_jump_vf_to_vf",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+ .direction = TF_DIR_TX,
+ .true_message = "Reject: unsupported vf_to_vf + jump.",
+ .execute_info = {
+ .cond_true_goto = 1023,
+ .cond_false_goto = 1,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 40,
+ .cond_nums = 1 },
+ .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+ },
+ { /* act_tid: 7, , table: control.flow_chain */
.description = "control.flow_chain",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 0,
+ .cond_false_goto = 4,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 53,
+ .cond_start_idx = 41,
.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: 6, , table: jump_index_table.alloc */
+ { /* act_tid: 7, , table: jump_index_table.alloc */
.description = "jump_index_table.alloc",
.resource_func = BNXT_ULP_RESOURCE_FUNC_ALLOCATOR_TABLE,
.resource_sub_type =
@@ -1322,18 +1205,18 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 54,
+ .cond_start_idx = 42,
.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 = 236,
+ .result_start_idx = 135,
.result_bit_size = 0,
.result_num_fields = 0
},
- { /* act_tid: 6, , table: control.metadata_cal */
+ { /* act_tid: 7, , table: control.metadata_cal */
.description = "control.metadata_cal",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
@@ -1341,7 +1224,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 54,
+ .cond_start_idx = 42,
.cond_nums = 0 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
@@ -1354,7 +1237,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.func_opr2 = ULP_THOR_SYM_CHAIN_META_VAL,
.func_dst_opr = BNXT_ULP_RF_IDX_JUMP_META }
},
- { /* act_tid: 6, , table: flow_chain_cache.write */
+ { /* act_tid: 7, , table: flow_chain_cache.write */
.description = "flow_chain_cache.write",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1364,58 +1247,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 54,
+ .cond_start_idx = 42,
.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 = 15,
.blob_key_bit_size = 32,
.key_bit_size = 32,
.key_num_fields = 1,
- .result_start_idx = 236,
+ .result_start_idx = 135,
.result_bit_size = 48,
.result_num_fields = 2
},
- { /* act_tid: 6, , table: shared_mirror_record.rd */
- .description = "shared_mirror_record.rd",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
- .direction = TF_DIR_TX,
- .execute_info = {
- .cond_true_goto = 1,
- .cond_false_goto = 2,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 54,
- .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 = 18,
- .blob_key_bit_size = 8,
- .key_bit_size = 8,
- .key_num_fields = 1,
- .ident_start_idx = 14,
- .ident_nums = 1
- },
- { /* act_tid: 6, , table: control.mirror */
- .description = "control.mirror",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
- .direction = TF_DIR_TX,
- .execute_info = {
- .cond_true_goto = 1023,
- .cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 55,
- .cond_nums = 1 },
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
- },
- { /* act_tid: 6, , table: int_flow_counter_tbl.0 */
+ { /* act_tid: 7, , table: int_flow_counter_tbl.0 */
.description = "int_flow_counter_tbl.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_ACT_STATS_64,
@@ -1426,124 +1272,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 56,
+ .cond_start_idx = 42,
.cond_nums = 1 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 238,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 137,
.result_bit_size = 64,
.result_num_fields = 1
},
- { /* act_tid: 6, , table: int_vtag_encap_record.0 */
- .description = "int_vtag_encap_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
- .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_AND,
- .cond_start_idx = 57,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 239,
- .result_bit_size = 0,
- .result_num_fields = 0,
- .encap_num_fields = 11
- },
- { /* act_tid: 6, , table: mod_record.dec_ttl_egr */
- .description = "mod_record.dec_ttl_egr",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
- .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_AND,
- .cond_start_idx = 58,
- .cond_nums = 2 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 250,
- .result_bit_size = 0,
- .result_num_fields = 0,
- .encap_num_fields = 23
- },
- { /* act_tid: 6, , table: mod_record.no_dec_ttl_egr */
- .description = "mod_record.no_dec_ttl_egr",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
- .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_AND,
- .cond_start_idx = 60,
- .cond_nums = 2 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 273,
- .result_bit_size = 0,
- .result_num_fields = 0,
- .encap_num_fields = 20
- },
- { /* act_tid: 6, , table: int_full_act_record.0 */
- .description = "int_full_act_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
- .direction = TF_DIR_TX,
- .execute_info = {
- .cond_true_goto = 0,
- .cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
- .cond_start_idx = 62,
- .cond_nums = 3 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 293,
- .result_bit_size = 128,
- .result_num_fields = 17
- },
- { /* act_tid: 6, , table: int_compact_act_record.0 */
- .description = "int_compact_act_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_COMPACT_ACT_RECORD,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
- .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 = 65,
- .cond_nums = 0 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 310,
- .result_bit_size = 64,
- .result_num_fields = 13
- },
{ /* act_tid: 7, , table: shared_mirror_record.rd */
.description = "shared_mirror_record.rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
@@ -1555,52 +1294,62 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 2,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 66,
+ .cond_start_idx = 43,
.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 = 16,
.blob_key_bit_size = 8,
.key_bit_size = 8,
.key_num_fields = 1,
- .ident_start_idx = 15,
+ .ident_start_idx = 12,
.ident_nums = 1
},
{ /* act_tid: 7, , table: control.mirror */
.description = "control.mirror",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
+ .true_message = "Reject due to non-existent shared handle",
.execute_info = {
.cond_true_goto = 1023,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 67,
+ .cond_start_idx = 44,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 7, , table: int_flow_counter_tbl.0 */
- .description = "int_flow_counter_tbl.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_STATS_64,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
+ { /* act_tid: 7, , table: control.do_mod */
+ .description = "control.do_mod",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 1,
+ .cond_false_goto = 3,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 68,
+ .cond_start_idx = 45,
.cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 323,
- .result_bit_size = 64,
- .result_num_fields = 1
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
+ .func_info = {
+ .func_opc = BNXT_ULP_FUNC_OPC_BIT_AND,
+ .func_src1 = BNXT_ULP_FUNC_SRC_ACTION_BITMAP,
+ .func_opr1 = BNXT_ULP_FUNC_SRC_ACTION_BITMAP,
+ .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+ .func_opr2 = BNXT_ULP_ACT_BIT_DEC_TTL |
+ BNXT_ULP_ACT_BIT_SET_MAC_SRC |
+ BNXT_ULP_ACT_BIT_SET_MAC_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV4_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV4_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV6_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV6_DST |
+ BNXT_ULP_ACT_BIT_SET_TP_SRC |
+ BNXT_ULP_ACT_BIT_SET_TP_DST |
+ BNXT_ULP_ACT_BIT_JUMP |
+ BNXT_ULP_ACT_BIT_VF_TO_VF,
+ .func_dst_opr = BNXT_ULP_RF_IDX_RF_0 }
},
{ /* act_tid: 7, , table: mod_record.ing_ttl */
.description = "mod_record.ing_ttl",
@@ -1613,16 +1362,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 2,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 69,
+ .cond_start_idx = 46,
.cond_nums = 1 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 324,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 138,
.result_bit_size = 0,
.result_num_fields = 0,
- .encap_num_fields = 31
+ .encap_num_fields = 35
},
{ /* act_tid: 7, , table: mod_record.ing_no_ttl */
.description = "mod_record.ing_no_ttl",
@@ -1634,98 +1384,47 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.execute_info = {
.cond_true_goto = 1,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 70,
- .cond_nums = 1 },
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 57,
+ .cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 355,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 173,
.result_bit_size = 0,
.result_num_fields = 0,
- .encap_num_fields = 24
- },
- { /* act_tid: 7, , table: int_full_act_record.0 */
- .description = "int_full_act_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
- .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 = 71,
- .cond_nums = 0 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 379,
- .result_bit_size = 128,
- .result_num_fields = 17
+ .encap_num_fields = 28
},
- { /* act_tid: 8, , table: shared_mirror_record.rd */
- .description = "shared_mirror_record.rd",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
+ { /* act_tid: 7, , table: control.do_tunnel_check */
+ .description = "control.do_tunnel_check",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 2,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 72,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
- .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+ .cond_false_goto = 24,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+ .cond_start_idx = 67,
+ .cond_nums = 2 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .key_start_idx = 20,
- .blob_key_bit_size = 8,
- .key_bit_size = 8,
- .key_num_fields = 1,
- .ident_start_idx = 16,
- .ident_nums = 1
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 8, , table: control.mirror */
- .description = "control.mirror",
+ { /* act_tid: 7, , table: control.do_tunnel_vlan_exclusion */
+ .description = "control.do_tunnel_vlan_exclusion",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
+ .true_message = "Tunnel Encap + Push VLAN unsupported.",
.execute_info = {
.cond_true_goto = 1023,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 73,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+ .cond_start_idx = 69,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 8, , table: int_flow_counter_tbl.0 */
- .description = "int_flow_counter_tbl.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_STATS_64,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
- .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 = 74,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
- .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 396,
- .result_bit_size = 64,
- .result_num_fields = 1
- },
- { /* act_tid: 8, , table: source_property_cache.rd */
+ { /* act_tid: 7, , table: source_property_cache.rd */
.description = "source_property_cache.rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1735,34 +1434,34 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 4,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 75,
+ .cond_start_idx = 70,
.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 = 21,
+ .key_start_idx = 17,
.blob_key_bit_size = 85,
.key_bit_size = 85,
.key_num_fields = 3,
- .ident_start_idx = 17,
+ .ident_start_idx = 13,
.ident_nums = 1
},
- { /* act_tid: 8, , table: control.sp_rec_v4 */
+ { /* act_tid: 7, , table: control.sp_rec_v4 */
.description = "control.sp_rec_v4",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 3,
+ .cond_false_goto = 7,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 76,
+ .cond_start_idx = 71,
.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: 8, , table: sp_smac_ipv4.0 */
+ { /* act_tid: 7, , table: sp_smac_ipv4.0 */
.description = "sp_smac_ipv4.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
@@ -1772,45 +1471,46 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.execute_info = {
.cond_true_goto = 1,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 77,
- .cond_nums = 1 },
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 72,
+ .cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MAIN_SP_PTR,
.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,
.record_size = 16,
- .result_start_idx = 397,
+ .result_start_idx = 201,
.result_bit_size = 0,
.result_num_fields = 0,
.encap_num_fields = 3
},
- { /* act_tid: 8, , table: source_property_cache.wr */
+ { /* act_tid: 7, , table: source_property_cache.wr */
.description = "source_property_cache.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE,
.direction = TF_DIR_TX,
.execute_info = {
- .cond_true_goto = 1,
+ .cond_true_goto = 5,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 78,
+ .cond_start_idx = 72,
.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 = 24,
+ .key_start_idx = 20,
.blob_key_bit_size = 85,
.key_bit_size = 85,
.key_num_fields = 3,
- .result_start_idx = 400,
+ .result_start_idx = 204,
.result_bit_size = 64,
.result_num_fields = 2
},
- { /* act_tid: 8, , table: source_property_ipv6_cache.rd */
+ { /* act_tid: 7, , table: source_property_ipv6_cache.rd */
.description = "source_property_ipv6_cache.rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1818,22 +1518,22 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 4,
+ .cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 78,
+ .cond_start_idx = 72,
.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 = 27,
+ .key_start_idx = 23,
.blob_key_bit_size = 176,
.key_bit_size = 176,
.key_num_fields = 2,
- .ident_start_idx = 18,
+ .ident_start_idx = 14,
.ident_nums = 1
},
- { /* act_tid: 8, , table: control.sp_rec_v6 */
+ { /* act_tid: 7, , table: control.sp_rec_v6 */
.description = "control.sp_rec_v6",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
@@ -1841,13 +1541,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 3,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 79,
+ .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,
.fdb_operand = BNXT_ULP_RF_IDX_RID
},
- { /* act_tid: 8, , table: sp_smac_ipv6.0 */
+ { /* act_tid: 7, , table: sp_smac_ipv6.0 */
.description = "sp_smac_ipv6.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
@@ -1857,20 +1557,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.execute_info = {
.cond_true_goto = 1,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 80,
- .cond_nums = 1 },
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 74,
+ .cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MAIN_SP_PTR,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+ .track_type = CFA_TRACK_TYPE_SID,
.record_size = 32,
- .result_start_idx = 402,
+ .result_start_idx = 206,
.result_bit_size = 0,
.result_num_fields = 0,
.encap_num_fields = 3
},
- { /* act_tid: 8, , table: source_property_ipv6_cache.wr */
+ { /* act_tid: 7, , table: source_property_ipv6_cache.wr */
.description = "source_property_ipv6_cache.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1880,66 +1581,119 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 81,
+ .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 = 29,
+ .key_start_idx = 25,
.blob_key_bit_size = 176,
.key_bit_size = 176,
.key_num_fields = 2,
- .result_start_idx = 405,
+ .result_start_idx = 209,
.result_bit_size = 48,
.result_num_fields = 2
},
- { /* act_tid: 8, , table: mod_record.ing_l2write */
- .description = "mod_record.ing_l2write",
+ { /* act_tid: 7, , table: control.do_vxlan_check */
+ .description = "control.do_vxlan_check",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+ .direction = TF_DIR_TX,
+ .execute_info = {
+ .cond_true_goto = 1,
+ .cond_false_goto = 9,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
+ .cond_start_idx = 74,
+ .cond_nums = 1 },
+ .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
+ },
+ { /* act_tid: 7, , table: vxlan_encap_rec_cache.rd */
+ .description = "vxlan_encap_rec_cache.rd",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
+ .resource_sub_type =
+ BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_REC_CACHE,
+ .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 = 75,
+ .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 = 27,
+ .blob_key_bit_size = 141,
+ .key_bit_size = 141,
+ .key_num_fields = 6,
+ .ident_start_idx = 15,
+ .ident_nums = 1
+ },
+ { /* act_tid: 7, , table: control.vxlan_v4_encap */
+ .description = "control.vxlan_v4_encap",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
+ .direction = TF_DIR_TX,
+ .execute_info = {
+ .cond_true_goto = 1,
+ .cond_false_goto = 13,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 76,
+ .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: int_tun_encap_record.ipv4_vxlan */
+ .description = "int_tun_encap_record.ipv4_vxlan",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
+ .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
.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_OR,
- .cond_start_idx = 81,
- .cond_nums = 2 },
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 77,
+ .cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
+ .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 407,
+ .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 = 211,
.result_bit_size = 0,
.result_num_fields = 0,
- .encap_num_fields = 18
+ .encap_num_fields = 25
},
- { /* act_tid: 8, , table: vxlan_encap_rec_cache.rd */
- .description = "vxlan_encap_rec_cache.rd",
+ { /* act_tid: 7, , table: vxlan_encap_rec_cache.wr */
+ .description = "vxlan_encap_rec_cache.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_REC_CACHE,
.direction = TF_DIR_TX,
.execute_info = {
- .cond_true_goto = 1,
+ .cond_true_goto = 11,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 83,
- .cond_nums = 2 },
- .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 77,
+ .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 = 31,
+ .key_start_idx = 33,
.blob_key_bit_size = 141,
.key_bit_size = 141,
.key_num_fields = 6,
- .ident_start_idx = 19,
- .ident_nums = 1
+ .result_start_idx = 236,
+ .result_bit_size = 64,
+ .result_num_fields = 2
},
- { /* act_tid: 8, , table: vxlan_encap_ipv6_rec_cache.rd */
+ { /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.rd */
.description = "vxlan_encap_ipv6_rec_cache.rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -1949,57 +1703,34 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 85,
- .cond_nums = 2 },
+ .cond_start_idx = 77,
+ .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 = 37,
+ .key_start_idx = 39,
.blob_key_bit_size = 237,
.key_bit_size = 237,
.key_num_fields = 6,
- .ident_start_idx = 20,
+ .ident_start_idx = 16,
.ident_nums = 1
},
- { /* act_tid: 8, , table: control.vxlan_v6_encap */
+ { /* act_tid: 7, , table: control.vxlan_v6_encap */
.description = "control.vxlan_v6_encap",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 5,
+ .cond_false_goto = 9,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 87,
+ .cond_start_idx = 78,
.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: 8, , table: int_tun_encap_record.ipv4_vxlan */
- .description = "int_tun_encap_record.ipv4_vxlan",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
- .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_AND,
- .cond_start_idx = 88,
- .cond_nums = 2 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_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,
- .result_start_idx = 425,
- .result_bit_size = 0,
- .result_num_fields = 0,
- .encap_num_fields = 25
- },
- { /* act_tid: 8, , table: int_tun_encap_record.ipv6_vxlan */
+ { /* act_tid: 7, , table: int_tun_encap_record.ipv6_vxlan */
.description = "int_tun_encap_record.ipv6_vxlan",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
@@ -2009,67 +1740,44 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.execute_info = {
.cond_true_goto = 1,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 90,
- .cond_nums = 2 },
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 79,
+ .cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 450,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 238,
.result_bit_size = 0,
.result_num_fields = 0,
.encap_num_fields = 23
},
- { /* act_tid: 8, , table: vxlan_encap_rec_cache.wr */
- .description = "vxlan_encap_rec_cache.wr",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_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_AND,
- .cond_start_idx = 92,
- .cond_nums = 2 },
- .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 = 43,
- .blob_key_bit_size = 141,
- .key_bit_size = 141,
- .key_num_fields = 6,
- .result_start_idx = 473,
- .result_bit_size = 64,
- .result_num_fields = 2
- },
- { /* act_tid: 8, , table: vxlan_encap_ipv6_rec_cache.wr */
+ { /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.wr */
.description = "vxlan_encap_ipv6_rec_cache.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_IPV6_REC_CACHE,
.direction = TF_DIR_TX,
.execute_info = {
- .cond_true_goto = 1,
+ .cond_true_goto = 7,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 94,
- .cond_nums = 2 },
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 79,
+ .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 = 49,
+ .key_start_idx = 45,
.blob_key_bit_size = 237,
.key_bit_size = 237,
.key_num_fields = 6,
- .result_start_idx = 475,
+ .result_start_idx = 261,
.result_bit_size = 64,
.result_num_fields = 2
},
- { /* act_tid: 8, , table: geneve_encap_rec_cache.rd */
+ { /* act_tid: 7, , table: geneve_encap_rec_cache.rd */
.description = "geneve_encap_rec_cache.rd",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
@@ -2078,35 +1786,35 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.execute_info = {
.cond_true_goto = 1,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 96,
- .cond_nums = 1 },
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 79,
+ .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 = 55,
+ .key_start_idx = 51,
.blob_key_bit_size = 493,
.key_bit_size = 493,
.key_num_fields = 15,
- .ident_start_idx = 21,
+ .ident_start_idx = 17,
.ident_nums = 1
},
- { /* act_tid: 8, , table: control.geneve_encap */
+ { /* act_tid: 7, , table: control.geneve_encap */
.description = "control.geneve_encap",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
.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 = 97,
+ .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,
.fdb_operand = BNXT_ULP_RF_IDX_RID
},
- { /* act_tid: 8, , table: int_geneve_encap_record.ipv4_geneve */
+ { /* act_tid: 7, , table: int_geneve_encap_record.ipv4_geneve */
.description = "int_geneve_encap_record.ipv4_geneve",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
@@ -2114,68 +1822,94 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
.direction = TF_DIR_TX,
.execute_info = {
- .cond_true_goto = 1,
+ .cond_true_goto = 2,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 98,
- .cond_nums = 2 },
+ .cond_start_idx = 80,
+ .cond_nums = 1 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_ENCAP_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,
- .result_start_idx = 477,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 263,
.result_bit_size = 0,
.result_num_fields = 0,
.encap_num_fields = 31
},
- { /* act_tid: 8, , table: int_geneve_encap_record.ipv6_geneve */
+ { /* act_tid: 7, , table: int_geneve_encap_record.ipv6_geneve */
.description = "int_geneve_encap_record.ipv6_geneve",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
.resource_sub_type =
BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
.direction = TF_DIR_TX,
+ .false_message = "Geneve outer hdr must be v4 or v6.",
.execute_info = {
.cond_true_goto = 1,
- .cond_false_goto = 1,
+ .cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 100,
- .cond_nums = 2 },
+ .cond_start_idx = 81,
+ .cond_nums = 1 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 508,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 294,
.result_bit_size = 0,
.result_num_fields = 0,
.encap_num_fields = 29
},
- { /* act_tid: 8, , table: geneve_encap_rec_cache.wr */
+ { /* act_tid: 7, , table: geneve_encap_rec_cache.wr */
.description = "geneve_encap_rec_cache.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_sub_type =
BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_GENEVE_ENCAP_REC_CACHE,
.direction = TF_DIR_TX,
.execute_info = {
- .cond_true_goto = 1,
+ .cond_true_goto = 2,
.cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 102,
- .cond_nums = 1 },
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .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 = 70,
+ .key_start_idx = 66,
.blob_key_bit_size = 493,
.key_bit_size = 493,
.key_num_fields = 15,
- .result_start_idx = 537,
+ .result_start_idx = 323,
.result_bit_size = 64,
.result_num_fields = 2
},
- { /* act_tid: 8, , table: int_full_act_record.0 */
+ { /* act_tid: 7, , table: int_vtag_encap_record.0 */
+ .description = "int_vtag_encap_record.0",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+ .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
+ .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_AND,
+ .cond_start_idx = 82,
+ .cond_nums = 1 },
+ .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+ .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
+ .key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
+ .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 325,
+ .result_bit_size = 0,
+ .result_num_fields = 0,
+ .encap_num_fields = 11
+ },
+ { /* act_tid: 7, , table: int_full_act_record.0 */
.description = "int_full_act_record.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
@@ -2184,121 +1918,122 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.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 },
+ .cond_false_goto = 1,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
+ .cond_start_idx = 83,
+ .cond_nums = 1 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
.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_BIT_AND,
+ .func_src1 = BNXT_ULP_FUNC_SRC_ACTION_BITMAP,
+ .func_opr1 = BNXT_ULP_FUNC_SRC_ACTION_BITMAP,
+ .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
+ .func_opr2 = BNXT_ULP_ACT_BIT_DEC_TTL |
+ BNXT_ULP_ACT_BIT_SET_MAC_SRC |
+ BNXT_ULP_ACT_BIT_SET_MAC_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV4_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV4_DST |
+ BNXT_ULP_ACT_BIT_SET_IPV6_SRC |
+ BNXT_ULP_ACT_BIT_SET_IPV6_DST |
+ BNXT_ULP_ACT_BIT_SET_TP_SRC |
+ BNXT_ULP_ACT_BIT_SET_TP_DST |
+ BNXT_ULP_ACT_BIT_JUMP |
+ BNXT_ULP_ACT_BIT_VF_TO_VF |
+ BNXT_ULP_ACT_BIT_VXLAN_ENCAP |
+ BNXT_ULP_ACT_BIT_GENEVE_ENCAP |
+ BNXT_ULP_ACT_BIT_PUSH_VLAN,
+ .func_dst_opr = BNXT_ULP_RF_IDX_RF_0 },
.mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
- .result_start_idx = 539,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 336,
.result_bit_size = 128,
- .result_num_fields = 17
+ .result_num_fields = 17,
+ .encap_num_fields = 0
},
- { /* act_tid: 9, , table: shared_mirror_record.rd */
- .description = "shared_mirror_record.rd",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
- .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
+ { /* act_tid: 7, , table: int_compact_act_record.0 */
+ .description = "int_compact_act_record.0",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
+ .resource_type = TF_TBL_TYPE_COMPACT_ACT_RECORD,
.resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
+ BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
.direction = TF_DIR_TX,
.execute_info = {
- .cond_true_goto = 1,
- .cond_false_goto = 2,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 104,
- .cond_nums = 1 },
- .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
- .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
+ .cond_true_goto = 0,
+ .cond_false_goto = 0,
+ .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
+ .cond_start_idx = 86,
+ .cond_nums = 0 },
+ .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
+ .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .key_start_idx = 85,
- .blob_key_bit_size = 8,
- .key_bit_size = 8,
- .key_num_fields = 1,
- .ident_start_idx = 22,
- .ident_nums = 1
+ .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 353,
+ .result_bit_size = 64,
+ .result_num_fields = 13,
+ .encap_num_fields = 0
},
- { /* act_tid: 9, , table: control.mirror */
- .description = "control.mirror",
+ { /* act_tid: 8, , table: control.reject */
+ .description = "control.reject",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
+ .true_message = "Thor not supporting non-generic template",
.execute_info = {
.cond_true_goto = 1023,
- .cond_false_goto = 1,
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 105,
- .cond_nums = 1 },
+ .cond_false_goto = 0,
+ .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
},
- { /* act_tid: 9, , table: int_flow_counter_tbl.0 */
- .description = "int_flow_counter_tbl.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_STATS_64,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
+ { /* act_tid: 9, , table: control.reject */
+ .description = "control.reject",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
+ .true_message = "Thor not supporting non-generic template",
.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 = 1 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
+ .cond_true_goto = 1023,
+ .cond_false_goto = 0,
+ .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_PUSH_FID,
- .result_start_idx = 556,
- .result_bit_size = 64,
- .result_num_fields = 1
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 9, , table: mod_record.vf_2_vf */
- .description = "mod_record.vf_2_vf",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+ { /* act_tid: 10, , table: control.reject */
+ .description = "control.reject",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
+ .true_message = "Thor not supporting non-generic template",
.execute_info = {
- .cond_true_goto = 1,
- .cond_false_goto = 1,
+ .cond_true_goto = 1023,
+ .cond_false_goto = 0,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 107,
+ .cond_start_idx = 86,
.cond_nums = 0 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 557,
- .result_bit_size = 0,
- .result_num_fields = 0,
- .encap_num_fields = 20
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 9, , table: int_full_act_record.0 */
- .description = "int_full_act_record.0",
- .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
- .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
- .resource_sub_type =
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
+ { /* act_tid: 11, , table: control.reject */
+ .description = "control.reject",
+ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
+ .true_message = "Thor not supporting non-generic template",
.execute_info = {
- .cond_true_goto = 0,
+ .cond_true_goto = 1023,
.cond_false_goto = 0,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 107,
+ .cond_start_idx = 86,
.cond_nums = 0 },
- .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
- .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
- .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
- .result_start_idx = 577,
- .result_bit_size = 128,
- .result_num_fields = 17
+ .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 10, , table: control.delete_chk */
+ { /* act_tid: 12, , table: control.delete_chk */
.description = "control.delete_chk",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
@@ -2306,12 +2041,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 4,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 107,
+ .cond_start_idx = 86,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 10, , table: shared_mirror_record.del_chk */
+ { /* 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 = TF_TBL_TYPE_MIRROR_CONFIG,
@@ -2322,21 +2057,21 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_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 = 87,
.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 = 86,
+ .key_start_idx = 81,
.blob_key_bit_size = 8,
.key_bit_size = 8,
.key_num_fields = 1,
- .ident_start_idx = 23,
+ .ident_start_idx = 18,
.ident_nums = 1
},
- { /* act_tid: 10, , table: control.mirror_del_exist_chk */
+ { /* 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,
@@ -2344,12 +2079,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 0,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 108,
+ .cond_start_idx = 87,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_NOP
},
- { /* act_tid: 10, , table: control.mirror_ref_cnt_chk */
+ { /* 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,
@@ -2357,7 +2092,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 0,
.cond_false_goto = 1023,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 109,
+ .cond_start_idx = 88,
.cond_nums = 1 },
.key_recipe_opcode = BNXT_ULP_KEY_RECIPE_OPC_NOP,
.fdb_opcode = BNXT_ULP_FDB_OPC_DELETE_RID_REGFILE,
@@ -2370,7 +2105,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.func_opr2 = 1,
.func_dst_opr = BNXT_ULP_RF_IDX_CC }
},
- { /* act_tid: 10, , table: control.create */
+ { /* act_tid: 12, , table: control.create */
.description = "control.create",
.resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
.direction = TF_DIR_TX,
@@ -2378,13 +2113,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_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 = 89,
.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: 10, , table: mirror_tbl.alloc */
+ { /* act_tid: 12, , table: mirror_tbl.alloc */
.description = "mirror_tbl.alloc",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
@@ -2395,7 +2130,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_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 = 89,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0,
@@ -2403,11 +2138,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_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 = 594,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 366,
.result_bit_size = 32,
.result_num_fields = 5
},
- { /* act_tid: 10, , table: int_flow_counter_tbl.0 */
+ { /* act_tid: 12, , table: int_flow_counter_tbl.0 */
.description = "int_flow_counter_tbl.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_ACT_STATS_64,
@@ -2418,7 +2154,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
- .cond_start_idx = 110,
+ .cond_start_idx = 89,
.cond_nums = 1 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
@@ -2426,11 +2162,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_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 = 599,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 371,
.result_bit_size = 64,
.result_num_fields = 1
},
- { /* act_tid: 10, , table: mod_record.vf_2_vf */
+ { /* act_tid: 12, , table: mod_record.vf_2_vf */
.description = "mod_record.vf_2_vf",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
@@ -2441,19 +2178,20 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 111,
+ .cond_start_idx = 90,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
.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 = 600,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 372,
.result_bit_size = 0,
.result_num_fields = 0,
.encap_num_fields = 20
},
- { /* act_tid: 10, , table: int_full_act_record.0 */
+ { /* act_tid: 12, , table: int_full_act_record.0 */
.description = "int_full_act_record.0",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
@@ -2464,7 +2202,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 111,
+ .cond_start_idx = 90,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
.tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
@@ -2472,11 +2210,12 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_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 = 620,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 392,
.result_bit_size = 128,
.result_num_fields = 17
},
- { /* act_tid: 10, , table: mirror_tbl.wr */
+ { /* act_tid: 12, , table: mirror_tbl.wr */
.description = "mirror_tbl.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
@@ -2487,18 +2226,19 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 1,
.cond_false_goto = 1,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 111,
+ .cond_start_idx = 90,
.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,
- .result_start_idx = 637,
+ .track_type = CFA_TRACK_TYPE_SID,
+ .result_start_idx = 409,
.result_bit_size = 32,
.result_num_fields = 5
},
- { /* act_tid: 10, , table: shared_mirror_record.wr */
+ { /* act_tid: 12, , table: shared_mirror_record.wr */
.description = "shared_mirror_record.wr",
.resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
.resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
@@ -2509,7 +2249,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
.cond_true_goto = 0,
.cond_false_goto = 0,
.cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
- .cond_start_idx = 111,
+ .cond_start_idx = 90,
.cond_nums = 0 },
.tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
.gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
@@ -2517,105 +2257,90 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_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 = 87,
+ .key_start_idx = 82,
.blob_key_bit_size = 8,
.key_bit_size = 8,
.key_num_fields = 1,
- .result_start_idx = 642,
+ .result_start_idx = 414,
.result_bit_size = 36,
.result_num_fields = 2
}
};
struct bnxt_ulp_mapper_cond_list_info ulp_thor_act_cond_oper_list[] = {
- /* cond_execute: act_tid: 1, mod_record.ing_no_ttl:9*/
- {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
- .cond_start_idx = 9,
- .cond_nums = 1
- },
- /* cond_execute: act_tid: 1, mod_record.ing_no_ttl:9*/
- {
- .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
- .cond_start_idx = 10,
- .cond_nums = 3
- }
};
struct bnxt_ulp_mapper_cond_info ulp_thor_act_cond_list[] = {
- /* cond_reject: thor, act_tid: 1 */
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_MULTIPLE_PORT
- },
- /* cond_execute: act_tid: 1, flow_chain_cache.rd:1*/
+ /* cond_execute: act_tid: 1, flow_chain_cache.rd:0*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 1, control.flow_chain:2*/
+ /* cond_execute: act_tid: 1, control.flow_chain:1*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 1, shared_meter_tbl_cache.rd:3*/
+ /* cond_execute: act_tid: 1, shared_meter_tbl_cache.rd:2*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_METER
},
- /* cond_execute: act_tid: 1, control.meter_chk:4*/
+ /* cond_execute: act_tid: 1, control.meter_chk:3*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 1, shared_mirror_record.rd:5*/
+ /* cond_execute: act_tid: 1, shared_mirror_record.rd:4*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
},
- /* cond_execute: act_tid: 1, control.mirror:6*/
+ /* cond_execute: act_tid: 1, control.mirror:5*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 1, int_flow_counter_tbl.0:7*/
+ /* cond_execute: act_tid: 1, control.do_mod:6*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_COUNT
+ .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+ .cond_operand = BNXT_ULP_RF_IDX_RF_0
},
- /* cond_execute: act_tid: 1, mod_record.ing_ttl:8*/
+ /* cond_execute: act_tid: 1, mod_record.ing_ttl:7*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
},
- /* cond_execute: act_tid: 1, mod_record.ing_no_ttl:9*/
+ /* cond_execute: act_tid: 1, mod_record.ing_no_ttl:8*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
.cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
},
- /* cond_execute: act_tid: 1, mod_record.ing_no_ttl:9*/
+ /* cond_execute: act_tid: 1, control.queue_and_rss_test:9*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SET_MAC_SRC
+ .cond_operand = BNXT_ULP_ACT_BIT_QUEUE
},
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SET_MAC_DST
+ .cond_operand = BNXT_ULP_ACT_BIT_RSS
},
+ /* cond_execute: act_tid: 1, vnic_interface_rss_config.0:11*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_JUMP
+ .cond_operand = BNXT_ULP_ACT_BIT_RSS
},
- /* field_cond: act_tid: 1, int_full_act_record.0:13*/
+ /* cond_execute: act_tid: 1, vnic_interface_queue_config.0:12*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_VXLAN_DECAP
+ .cond_operand = BNXT_ULP_ACT_BIT_QUEUE
},
+ /* cond_execute: act_tid: 1, int_flow_counter_tbl.0:13*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_GENEVE_DECAP
+ .cond_operand = BNXT_ULP_ACT_BIT_COUNT
},
- /* field_cond: act_tid: 1, int_compact_act_record.0:15*/
+ /* field_cond: act_tid: 1, int_full_act_record.0:14*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_VXLAN_DECAP
@@ -2624,100 +2349,46 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_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: 2, control.delete_chk:17*/
+ /* field_cond: act_tid: 1, int_full_act_record.0:16*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DELETE
- },
- /* cond_execute: act_tid: 2, control.mirror_del_exist_chk:18*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ .cond_operand = BNXT_ULP_ACT_BIT_DROP
},
- /* cond_execute: act_tid: 2, control.mirror_ref_cnt_chk:19*/
+ /* field_cond: act_tid: 1, int_full_act_record.0:17*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_CC
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_RSS
},
- /* cond_execute: act_tid: 2, int_flow_counter_tbl.0:20*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_COUNT
+ .cond_operand = BNXT_ULP_ACT_BIT_QUEUE
},
- /* cond_reject: thor, act_tid: 3 */
+ /* field_cond: act_tid: 1, int_full_act_record.0:19*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_MULTIPLE_PORT
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 3, shared_mirror_record.rd:22*/
+ /* cond_execute: act_tid: 3, control.delete_chk:20*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
+ .cond_operand = BNXT_ULP_ACT_BIT_DELETE
},
- /* cond_execute: act_tid: 3, control.mirror:23*/
+ /* cond_execute: act_tid: 3, control.mirror_del_exist_chk:21*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 3, int_flow_counter_tbl.0:24*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_COUNT
- },
- /* cond_execute: act_tid: 3, mod_record.ing_ttl:25*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
- },
- /* cond_execute: act_tid: 3, mod_record.ing_no_ttl:26*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
- },
- /* cond_reject: thor, act_tid: 4 */
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_RSS
- },
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_QUEUE
- },
- /* cond_execute: act_tid: 4, shared_mirror_record.rd:29*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
- },
- /* cond_execute: act_tid: 4, control.mirror:30*/
+ /* cond_execute: act_tid: 3, control.mirror_ref_cnt_chk:22*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ .cond_operand = BNXT_ULP_RF_IDX_CC
},
- /* cond_execute: act_tid: 4, int_flow_counter_tbl.0:31*/
+ /* cond_execute: act_tid: 3, int_flow_counter_tbl.0:23*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_COUNT
},
- /* cond_execute: act_tid: 4, vnic_interface_rss_config.0:32*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_RSS
- },
- /* cond_execute: act_tid: 4, vnic_interface_queue_config.0:33*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_QUEUE
- },
- /* cond_execute: act_tid: 4, int_compact_act_record.0:34*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_QUEUE
- },
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_RSS
- },
- /* cond_execute: act_tid: 5, control.create_check:36*/
+ /* cond_execute: act_tid: 6, control.create_check:24*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
.cond_operand = BNXT_ULP_ACT_BIT_UPDATE
@@ -2726,62 +2397,62 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_act_cond_list[] = {
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
.cond_operand = BNXT_ULP_ACT_BIT_DELETE
},
- /* cond_execute: act_tid: 5, meter_profile_tbl_cache.rd:38*/
+ /* cond_execute: act_tid: 6, meter_profile_tbl_cache.rd:26*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_METER_PROFILE
},
- /* cond_execute: act_tid: 5, control.shared_meter_profile_0:39*/
+ /* cond_execute: act_tid: 6, control.shared_meter_profile_0:27*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 5, shared_meter_tbl_cache.rd:40*/
+ /* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd:28*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER
},
- /* cond_execute: act_tid: 5, control.meter_created_chk:41*/
+ /* cond_execute: act_tid: 6, control.meter_created_chk:29*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 5, control.shared_meter_profile_chk:42*/
+ /* cond_execute: act_tid: 6, control.shared_meter_profile_chk:30*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 5, control.delete_check:43*/
+ /* cond_execute: act_tid: 6, control.delete_check:31*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_DELETE
},
- /* cond_execute: act_tid: 5, meter_profile_tbl_cache.del_chk:44*/
+ /* cond_execute: act_tid: 6, meter_profile_tbl_cache.del_chk:32*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_METER_PROFILE
},
- /* cond_execute: act_tid: 5, control.mtr_prof_ref_cnt_chk:45*/
+ /* cond_execute: act_tid: 6, control.mtr_prof_ref_cnt_chk:33*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_CC
},
- /* cond_execute: act_tid: 5, shared_meter_tbl_cache.del_chk:46*/
+ /* cond_execute: act_tid: 6, shared_meter_tbl_cache.del_chk:34*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER
},
- /* cond_execute: act_tid: 5, control.shared_mtr_ref_cnt_chk:47*/
+ /* cond_execute: act_tid: 6, control.shared_mtr_ref_cnt_chk:35*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_CC
},
- /* cond_execute: act_tid: 5, shared_meter_tbl_cache.rd_update:48*/
+ /* cond_execute: act_tid: 6, shared_meter_tbl_cache.rd_update:36*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_SHARED_METER
},
- /* cond_execute: act_tid: 5, meter_tbl.update_rd:49*/
+ /* cond_execute: act_tid: 6, meter_tbl.update_rd:37*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
@@ -2790,289 +2461,248 @@ struct bnxt_ulp_mapper_cond_info ulp_thor_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: thor, act_tid: 6 */
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_MULTIPLE_PORT
- },
- /* cond_execute: act_tid: 6, flow_chain_cache.rd:52*/
+ /* cond_execute: act_tid: 7, flow_chain_cache.rd:39*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 6, control.flow_chain:53*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
- },
- /* cond_execute: act_tid: 6, shared_mirror_record.rd:54*/
+ /* cond_execute: act_tid: 7, control.no_jump_vf_to_vf:40*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 6, control.mirror:55*/
+ /* cond_execute: act_tid: 7, control.flow_chain:41*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 6, int_flow_counter_tbl.0:56*/
+ /* cond_execute: act_tid: 7, int_flow_counter_tbl.0:42*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_COUNT
},
- /* cond_execute: act_tid: 6, int_vtag_encap_record.0:57*/
+ /* cond_execute: act_tid: 7, shared_mirror_record.rd:43*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
+ .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
},
- /* cond_execute: act_tid: 6, mod_record.dec_ttl_egr:58*/
+ /* cond_execute: act_tid: 7, control.mirror:44*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
+ .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:45*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_JUMP
+ .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+ .cond_operand = BNXT_ULP_RF_IDX_RF_0
},
- /* cond_execute: act_tid: 6, mod_record.no_dec_ttl_egr:60*/
+ /* cond_execute: act_tid: 7, mod_record.ing_ttl:46*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
+ .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.ing_ttl:47*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 6, int_full_act_record.0:62*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
- },
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
+ /* field_cond: act_tid: 7, mod_record.ing_ttl:49*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_reject: thor, act_tid: 7 */
+ /* field_cond: act_tid: 7, mod_record.ing_ttl:50*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_MULTIPLE_PORT
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 7, shared_mirror_record.rd:66*/
+ /* field_cond: act_tid: 7, mod_record.ing_ttl:51*/
{
.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:67*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 7, int_flow_counter_tbl.0:68*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_COUNT
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 7, mod_record.ing_ttl:69*/
+ /* field_cond: act_tid: 7, mod_record.ing_ttl:53*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 7, mod_record.ing_no_ttl:70*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_reject: thor, act_tid: 8 */
+ /* field_cond: act_tid: 7, mod_record.ing_ttl:55*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_MULTIPLE_PORT
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 8, shared_mirror_record.rd:72*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, control.mirror:73*/
+ /* field_cond: act_tid: 7, mod_record.ing_no_ttl:57*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 8, int_flow_counter_tbl.0:74*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_COUNT
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, source_property_cache.rd:75*/
+ /* field_cond: act_tid: 7, mod_record.ing_no_ttl:59*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
- .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 8, control.sp_rec_v4:76*/
+ /* field_cond: act_tid: 7, mod_record.ing_no_ttl:60*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, sp_smac_ipv4.0:77*/
+ /* field_cond: act_tid: 7, mod_record.ing_no_ttl:61*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
- .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 8, source_property_ipv6_cache.rd:78*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
- .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, control.sp_rec_v6:79*/
+ /* field_cond: act_tid: 7, mod_record.ing_no_ttl:63*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 8, sp_smac_ipv6.0:80*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
- .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, mod_record.ing_l2write:81*/
+ /* field_cond: act_tid: 7, mod_record.ing_no_ttl:65*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SET_MAC_SRC
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_SET_MAC_DST
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 8, vxlan_encap_rec_cache.rd:83*/
+ /* cond_execute: act_tid: 7, control.do_tunnel_check:67*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VXLAN_ENCAP
},
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_GENEVE_ENCAP
},
- /* cond_execute: act_tid: 8, vxlan_encap_ipv6_rec_cache.rd:85*/
+ /* cond_execute: act_tid: 7, control.do_tunnel_vlan_exclusion:69*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+ .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:70*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+ .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+ .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG
},
- /* cond_execute: act_tid: 8, control.vxlan_v6_encap:87*/
+ /* cond_execute: act_tid: 7, control.sp_rec_v4:71*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 8, int_tun_encap_record.ipv4_vxlan:88*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
- },
+ /* cond_execute: act_tid: 7, source_property_ipv6_cache.rd:72*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+ .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
+ .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG
},
- /* cond_execute: act_tid: 8, int_tun_encap_record.ipv6_vxlan:90*/
+ /* cond_execute: act_tid: 7, control.sp_rec_v6:73*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
+ .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:74*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_VXLAN_ENCAP
},
- /* cond_execute: act_tid: 8, vxlan_encap_rec_cache.wr:92*/
+ /* cond_execute: act_tid: 7, vxlan_encap_rec_cache.rd:75*/
{
.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:76*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
+ .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+ .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 8, vxlan_encap_ipv6_rec_cache.wr:94*/
+ /* cond_execute: act_tid: 7, vxlan_encap_ipv6_rec_cache.rd:77*/
{
.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:78*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
- },
- /* cond_execute: act_tid: 8, geneve_encap_rec_cache.rd:96*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
+ .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
+ .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 8, control.geneve_encap:97*/
+ /* cond_execute: act_tid: 7, control.geneve_encap:79*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 8, int_geneve_encap_record.ipv4_geneve:98*/
+ /* cond_execute: act_tid: 7, int_geneve_encap_record.ipv4_geneve:80*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
.cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
},
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
- },
- /* cond_execute: act_tid: 8, int_geneve_encap_record.ipv6_geneve:100*/
+ /* cond_execute: act_tid: 7, int_geneve_encap_record.ipv6_geneve:81*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
.cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
},
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
- },
- /* cond_execute: act_tid: 8, geneve_encap_rec_cache.wr:102*/
- {
- .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
- .cond_operand = BNXT_ULP_HDR_BIT_T_GENEVE
- },
- /* cond_reject: thor, act_tid: 9 */
+ /* cond_execute: act_tid: 7, int_vtag_encap_record.0:82*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_MULTIPLE_PORT
+ .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
},
- /* cond_execute: act_tid: 9, shared_mirror_record.rd:104*/
+ /* cond_execute: act_tid: 7, int_full_act_record.0:83*/
{
- .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_RF_0
},
- /* cond_execute: act_tid: 9, control.mirror:105*/
+ /* field_cond: act_tid: 7, int_full_act_record.0:84*/
{
- .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
- .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
+ .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
+ .cond_operand = BNXT_ULP_ACT_BIT_JUMP
},
- /* cond_execute: act_tid: 9, int_flow_counter_tbl.0:106*/
+ /* field_cond: act_tid: 7, int_full_act_record.0:85*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
- .cond_operand = BNXT_ULP_ACT_BIT_COUNT
+ .cond_operand = BNXT_ULP_ACT_BIT_VF_TO_VF
},
- /* cond_execute: act_tid: 10, control.delete_chk:107*/
+ /* cond_execute: act_tid: 12, control.delete_chk:86*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_DELETE
},
- /* cond_execute: act_tid: 10, control.mirror_del_exist_chk:108*/
+ /* cond_execute: act_tid: 12, control.mirror_del_exist_chk:87*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
},
- /* cond_execute: act_tid: 10, control.mirror_ref_cnt_chk:109*/
+ /* cond_execute: act_tid: 12, control.mirror_ref_cnt_chk:88*/
{
.cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
.cond_operand = BNXT_ULP_RF_IDX_CC
},
- /* cond_execute: act_tid: 10, int_flow_counter_tbl.0:110*/
+ /* cond_execute: act_tid: 12, int_flow_counter_tbl.0:89*/
{
.cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
.cond_operand = BNXT_ULP_ACT_BIT_COUNT
@@ -3169,7 +2799,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
}
},
- /* act_tid: 2, , table: shared_mirror_record.del_chk */
+ /* act_tid: 3, , table: shared_mirror_record.del_chk */
{
.field_info_mask = {
.description = "shared_index",
@@ -3189,7 +2819,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
}
},
- /* act_tid: 2, , table: shared_mirror_record.wr */
+ /* act_tid: 3, , table: shared_mirror_record.wr */
{
.field_info_mask = {
.description = "shared_index",
@@ -3209,47 +2839,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}
}
},
- /* act_tid: 3, , table: shared_mirror_record.rd */
- {
- .field_info_mask = {
- .description = "shared_index",
- .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 = "shared_index",
- .field_bit_size = 8,
- .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: 4, , table: shared_mirror_record.rd */
- {
- .field_info_mask = {
- .description = "shared_index",
- .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 = "shared_index",
- .field_bit_size = 8,
- .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: 5, , table: meter_profile_tbl_cache.rd */
+ /* act_tid: 6, , table: meter_profile_tbl_cache.rd */
{
.field_info_mask = {
.description = "sw_meter_profile_id",
@@ -3272,7 +2862,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
}
},
- /* act_tid: 5, , table: meter_profile_tbl_cache.wr */
+ /* act_tid: 6, , table: meter_profile_tbl_cache.wr */
{
.field_info_mask = {
.description = "sw_meter_profile_id",
@@ -3295,7 +2885,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
}
},
- /* act_tid: 5, , table: shared_meter_tbl_cache.rd */
+ /* act_tid: 6, , table: shared_meter_tbl_cache.rd */
{
.field_info_mask = {
.description = "sw_meter_id",
@@ -3318,7 +2908,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
}
},
- /* act_tid: 5, , table: meter_profile_tbl_cache.rd2 */
+ /* act_tid: 6, , table: meter_profile_tbl_cache.rd2 */
{
.field_info_mask = {
.description = "sw_meter_profile_id",
@@ -3341,7 +2931,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
}
},
- /* act_tid: 5, , table: shared_meter_tbl_cache.wr */
+ /* act_tid: 6, , table: shared_meter_tbl_cache.wr */
{
.field_info_mask = {
.description = "sw_meter_id",
@@ -3364,7 +2954,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
}
},
- /* act_tid: 5, , table: meter_profile_tbl_cache.del_chk */
+ /* act_tid: 6, , table: meter_profile_tbl_cache.del_chk */
{
.field_info_mask = {
.description = "sw_meter_profile_id",
@@ -3387,7 +2977,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
}
},
- /* act_tid: 5, , table: shared_meter_tbl_cache.del_chk */
+ /* act_tid: 6, , table: shared_meter_tbl_cache.del_chk */
{
.field_info_mask = {
.description = "sw_meter_id",
@@ -3410,7 +3000,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
}
},
- /* act_tid: 5, , table: shared_meter_tbl_cache.rd_update */
+ /* act_tid: 6, , table: shared_meter_tbl_cache.rd_update */
{
.field_info_mask = {
.description = "sw_meter_id",
@@ -3433,7 +3023,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_METER_INST_ID & 0xff}
}
},
- /* act_tid: 6, , table: flow_chain_cache.rd */
+ /* act_tid: 7, , table: flow_chain_cache.rd */
{
.field_info_mask = {
.description = "group_id",
@@ -3456,7 +3046,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff}
}
},
- /* act_tid: 6, , table: flow_chain_cache.write */
+ /* act_tid: 7, , table: flow_chain_cache.write */
{
.field_info_mask = {
.description = "group_id",
@@ -3479,26 +3069,6 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_JUMP & 0xff}
}
},
- /* act_tid: 6, , table: shared_mirror_record.rd */
- {
- .field_info_mask = {
- .description = "shared_index",
- .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 = "shared_index",
- .field_bit_size = 8,
- .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: 7, , table: shared_mirror_record.rd */
{
.field_info_mask = {
@@ -3519,27 +3089,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
}
},
- /* act_tid: 8, , table: shared_mirror_record.rd */
- {
- .field_info_mask = {
- .description = "shared_index",
- .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 = "shared_index",
- .field_bit_size = 8,
- .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: 8, , table: source_property_cache.rd */
+ /* act_tid: 7, , table: source_property_cache.rd */
{
.field_info_mask = {
.description = "smac",
@@ -3600,7 +3150,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
}
},
- /* act_tid: 8, , table: source_property_cache.wr */
+ /* act_tid: 7, , table: source_property_cache.wr */
{
.field_info_mask = {
.description = "smac",
@@ -3661,7 +3211,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
}
},
- /* act_tid: 8, , table: source_property_ipv6_cache.rd */
+ /* act_tid: 7, , table: source_property_ipv6_cache.rd */
{
.field_info_mask = {
.description = "smac",
@@ -3720,7 +3270,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff}
}
},
- /* act_tid: 8, , table: source_property_ipv6_cache.wr */
+ /* act_tid: 7, , table: source_property_ipv6_cache.wr */
{
.field_info_mask = {
.description = "smac",
@@ -3779,7 +3329,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff}
}
},
- /* act_tid: 8, , table: vxlan_encap_rec_cache.rd */
+ /* act_tid: 7, , table: vxlan_encap_rec_cache.rd */
{
.field_info_mask = {
.description = "dmac",
@@ -3901,7 +3451,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
}
},
- /* act_tid: 8, , table: vxlan_encap_ipv6_rec_cache.rd */
+ /* act_tid: 7, , table: vxlan_encap_rec_cache.wr */
{
.field_info_mask = {
.description = "dmac",
@@ -3928,36 +3478,24 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
},
{
.field_info_mask = {
- .description = "ipv6_dst_addr",
- .field_bit_size = 128,
+ .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,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
0xff,
0xff,
0xff,
0xff}
},
.field_info_spec = {
- .description = "ipv6_dst_addr",
- .field_bit_size = 128,
+ .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_IPV6_DADDR >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}
+ (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}
}
},
{
@@ -4035,7 +3573,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
}
},
- /* act_tid: 8, , table: vxlan_encap_rec_cache.wr */
+ /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.rd */
{
.field_info_mask = {
.description = "dmac",
@@ -4062,24 +3600,36 @@ struct bnxt_ulp_mapper_key_info ulp_thor_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,
+ .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_IPV4_DADDR >> 8) & 0xff,
- BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}
+ (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
+ BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}
}
},
{
@@ -4157,7 +3707,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
}
},
- /* act_tid: 8, , table: vxlan_encap_ipv6_rec_cache.wr */
+ /* act_tid: 7, , table: vxlan_encap_ipv6_rec_cache.wr */
{
.field_info_mask = {
.description = "dmac",
@@ -4291,7 +3841,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
}
},
- /* act_tid: 8, , table: geneve_encap_rec_cache.rd */
+ /* act_tid: 7, , table: geneve_encap_rec_cache.rd */
{
.field_info_mask = {
.description = "dmac",
@@ -4641,7 +4191,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
}
},
- /* act_tid: 8, , table: geneve_encap_rec_cache.wr */
+ /* act_tid: 7, , table: geneve_encap_rec_cache.wr */
{
.field_info_mask = {
.description = "dmac",
@@ -4991,27 +4541,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
}
},
- /* act_tid: 9, , table: shared_mirror_record.rd */
- {
- .field_info_mask = {
- .description = "shared_index",
- .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 = "shared_index",
- .field_bit_size = 8,
- .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: 10, , table: shared_mirror_record.del_chk */
+ /* act_tid: 12, , table: shared_mirror_record.del_chk */
{
.field_info_mask = {
.description = "shared_index",
@@ -5031,7 +4561,7 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
}
},
- /* act_tid: 10, , table: shared_mirror_record.wr */
+ /* act_tid: 12, , table: shared_mirror_record.wr */
{
.field_info_mask = {
.description = "shared_index",
@@ -5054,6 +4584,99 @@ struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
};
struct bnxt_ulp_mapper_field_info ulp_thor_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 = {
+ (17 >> 8) & 0xff,
+ 17 & 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 = {
+ (19 >> 8) & 0xff,
+ 19 & 0xff,
+ (1 >> 8) & 0xff,
+ 1 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr2 = {
+ (ULP_THOR_SYM_RECYCLE_DST >> 8) & 0xff,
+ ULP_THOR_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 = 16,
+ .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+ .field_opr1 = {
+ (50 >> 8) & 0xff,
+ 50 & 0xff,
+ (1 >> 8) & 0xff,
+ 1 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
+ .field_opr2 = {
+ (BNXT_ULP_CF_IDX_DEV_ACT_PORT_ID >> 8) & 0xff,
+ BNXT_ULP_CF_IDX_DEV_ACT_PORT_ID & 0xff,
+ (BNXT_ULP_PORT_TABLE_VF_FUNC_METADATA >> 8) & 0xff,
+ BNXT_ULP_PORT_TABLE_VF_FUNC_METADATA & 0xff},
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+ },
+ {
+ .description = "metadata_data",
+ .field_bit_size = 16,
+ .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_PORT_TABLE,
+ .field_opr2 = {
+ (BNXT_ULP_CF_IDX_DEV_ACT_PORT_ID >> 8) & 0xff,
+ BNXT_ULP_CF_IDX_DEV_ACT_PORT_ID & 0xff,
+ (BNXT_ULP_PORT_TABLE_VF_FUNC_METADATA >> 8) & 0xff,
+ BNXT_ULP_PORT_TABLE_VF_FUNC_METADATA & 0xff},
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+ },
+ {
+ .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 = {
+ (85 >> 8) & 0xff,
+ 85 & 0xff,
+ (1 >> 8) & 0xff,
+ 1 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr2 = {
+ (ULP_THOR_SYM_LOOPBACK_PORT >> 8) & 0xff,
+ ULP_THOR_SYM_LOOPBACK_PORT & 0xff},
+ .field_src3 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr3 = {
+ (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
+ }
};
struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
@@ -5077,13 +4700,6 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
(BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
BNXT_ULP_RF_IDX_JUMP_META & 0xff}
},
- /* act_tid: 1, , table: int_flow_counter_tbl.0 */
- {
- .description = "count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
/* act_tid: 1, , table: mod_record.ing_ttl */
{
.description = "metadata_en",
@@ -5189,38 +4805,116 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
{
.description = "l3_sip_ipv6_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_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_CONST,
+ .field_opr2 = {
+ 1},
+ .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "l3_dip_ipv6_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_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_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,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
+ .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,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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_data",
@@ -5385,6 +5079,126 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
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 = {
+ (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",
+ .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 = {
+ ((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,
+ .field_opr2 = {
+ (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",
+ .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 = {
+ ((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
+ },
+ {
+ .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 = {
+ ((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
+ },
+ {
+ .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 = {
+ ((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
+ },
/* act_tid: 1, , table: mod_record.ing_no_ttl */
{
.description = "metadata_en",
@@ -5488,38 +5302,116 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
{
.description = "l3_sip_ipv6_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_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_CONST,
+ .field_opr2 = {
+ 1},
+ .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "l3_dip_ipv6_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_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_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,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .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_data",
@@ -5636,6 +5528,135 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
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 = {
+ (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",
+ .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 = {
+ ((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,
+ .field_opr2 = {
+ (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",
+ .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 = {
+ ((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
+ },
+ {
+ .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 = {
+ ((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
+ },
+ {
+ .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 = {
+ ((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
+ },
+ /* act_tid: 1, , table: vnic_interface_rss_config.0 */
+ /* act_tid: 1, , table: vnic_interface_queue_config.0 */
+ /* act_tid: 1, , table: int_flow_counter_tbl.0 */
+ {
+ .description = "count",
+ .field_bit_size = 64,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
/* act_tid: 1, , table: int_full_act_record.0 */
{
.description = "sp_rec_ptr",
@@ -5676,8 +5697,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
.field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
.field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
.field_opr1 = {
- (13 >> 8) & 0xff,
- 13 & 0xff,
+ (14 >> 8) & 0xff,
+ 14 & 0xff,
(2 >> 8) & 0xff,
2 & 0xff},
.field_src2 = BNXT_ULP_FIELD_SRC_CONST,
@@ -5688,22 +5709,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
{
.description = "meter",
.field_bit_size = 10,
- .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_RF,
.field_opr1 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_METER & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr2 = {
(BNXT_ULP_RF_IDX_METER_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_METER_PTR_0 & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+ BNXT_ULP_RF_IDX_METER_PTR_0 & 0xff}
},
{
.description = "stats_op",
@@ -5725,25 +5735,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
{
.description = "vnic_or_vport",
.field_bit_size = 11,
- .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_TERNARY_LIST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
.field_opr1 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
- ((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_opr2 = {
- (ULP_THOR_SYM_RECYCLE_DST >> 8) & 0xff,
- ULP_THOR_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}
+ (16 >> 8) & 0xff,
+ 16 & 0xff,
+ (1 >> 8) & 0xff,
+ 1 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+ .field_src3 = BNXT_ULP_FIELD_SRC_NEXT
},
{
.description = "use_default",
@@ -5754,22 +5754,11 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
{
.description = "mirror",
.field_bit_size = 4,
- .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_RF,
.field_opr1 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr2 = {
(BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+ BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff}
},
{
.description = "cond_copy",
@@ -5825,7 +5814,47 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
.field_opr1 = {
1}
},
- /* act_tid: 1, , table: int_compact_act_record.0 */
+ /* act_tid: 3, , table: mirror_tbl.alloc */
+ {
+ .description = "act_rec_ptr",
+ .field_bit_size = 16,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "reserved",
+ .field_bit_size = 13,
+ .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_ing_or_egr",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "enable",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr1 = {
+ 1}
+ },
+ /* act_tid: 3, , table: int_flow_counter_tbl.0 */
+ {
+ .description = "count",
+ .field_bit_size = 64,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ /* act_tid: 3, , table: int_compact_act_record.0 */
{
.description = "rsvd0",
.field_bit_size = 8,
@@ -5835,37 +5864,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
{
.description = "decap_func",
.field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
- .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
- .field_opr1 = {
- (15 >> 8) & 0xff,
- 15 & 0xff,
- (2 >> 8) & 0xff,
- 2 & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr2 = {
- ULP_THOR_SYM_DECAP_FUNC_THRU_TUN},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "meter",
.field_bit_size = 10,
- .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_METER >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_METER >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_METER & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr2 = {
- (BNXT_ULP_RF_IDX_METER_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_METER_PTR_0 & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "stats_op",
@@ -5902,22 +5908,8 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
{
.description = "mirror",
.field_bit_size = 4,
- .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_SHARED_SAMPLE >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr2 = {
- (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "cond_copy",
@@ -5928,36 +5920,14 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
{
.description = "vlan_del_rpt",
.field_bit_size = 2,
- .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_POP_VLAN >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr2 = {
- ULP_THOR_SYM_VLAN_DEL_RPT_STRIP_OUTER},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "drop",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
- .field_opr1 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "hit",
@@ -5971,12 +5941,15 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ZERO
},
- /* act_tid: 2, , table: mirror_tbl.alloc */
+ /* act_tid: 3, , table: mirror_tbl.wr */
{
.description = "act_rec_ptr",
.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_MAIN_ACTION_PTR >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
},
{
.description = "reserved",
@@ -5994,7 +5967,9 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
.description = "copy_ing_or_egr",
.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}
},
{
.description = "enable",
@@ -6004,139 +5979,195 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
.field_opr1 = {
1}
},
- /* act_tid: 2, , table: int_flow_counter_tbl.0 */
+ /* act_tid: 3, , table: shared_mirror_record.wr */
{
- .description = "count",
- .field_bit_size = 64,
+ .description = "rid",
+ .field_bit_size = 32,
.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_RID >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_RID & 0xff}
},
- /* act_tid: 2, , table: int_compact_act_record.0 */
{
- .description = "rsvd0",
- .field_bit_size = 8,
+ .description = "mirror_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_RF,
+ .field_opr1 = {
+ (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}
},
+ /* act_tid: 6, , table: meter_profile_tbl.0 */
{
- .description = "decap_func",
- .field_bit_size = 5,
+ .description = "cf",
+ .field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_CF >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_CF & 0xff}
},
{
- .description = "meter",
- .field_bit_size = 10,
+ .description = "pm",
+ .field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_PM >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_PM & 0xff}
},
{
- .description = "stats_op",
+ .description = "rfc2698",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
- 1}
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_RFC2698 >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_RFC2698 & 0xff}
},
{
- .description = "stats_ptr",
- .field_bit_size = 16,
+ .description = "cbsm",
+ .field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
- (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_CBSM >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_CBSM & 0xff}
},
{
- .description = "vnic_or_vport",
- .field_bit_size = 11,
+ .description = "ebsm",
+ .field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
.field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_EBSM >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_EBSM & 0xff}
},
{
- .description = "use_default",
+ .description = "cbnd",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_CBND >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_CBND & 0xff}
},
{
- .description = "mirror",
- .field_bit_size = 4,
+ .description = "ebnd",
+ .field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_EBND >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_EBND & 0xff}
},
{
- .description = "cond_copy",
- .field_bit_size = 1,
+ .description = "cbs",
+ .field_bit_size = 12,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_CBS >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_CBS & 0xff}
},
{
- .description = "vlan_del_rpt",
- .field_bit_size = 2,
+ .description = "ebs",
+ .field_bit_size = 12,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_EBS >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_EBS & 0xff}
},
{
- .description = "drop",
- .field_bit_size = 1,
+ .description = "cir",
+ .field_bit_size = 17,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_CIR >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_CIR & 0xff}
},
{
- .description = "hit",
- .field_bit_size = 1,
+ .description = "eir",
+ .field_bit_size = 17,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_EIR >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_EIR & 0xff}
},
+ /* act_tid: 6, , table: meter_profile_tbl_cache.wr */
{
- .description = "type",
- .field_bit_size = 3,
+ .description = "rid",
+ .field_bit_size = 32,
.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_RID >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_RID & 0xff}
},
- /* act_tid: 2, , table: mirror_tbl.wr */
{
- .description = "act_rec_ptr",
- .field_bit_size = 16,
+ .description = "meter_profile_ptr",
+ .field_bit_size = 10,
.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}
+ (BNXT_ULP_RF_IDX_METER_PROFILE_PTR_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_METER_PROFILE_PTR_0 & 0xff}
},
+ /* act_tid: 6, , table: meter_tbl.0 */
{
- .description = "reserved",
- .field_bit_size = 13,
+ .description = "bkt_c",
+ .field_bit_size = 27,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr1 = {
+ (134217727 >> 24) & 0xff,
+ (134217727 >> 16) & 0xff,
+ (134217727 >> 8) & 0xff,
+ 134217727 & 0xff}
},
{
- .description = "ignore_drop",
- .field_bit_size = 1,
+ .description = "bkt_e",
+ .field_bit_size = 27,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr1 = {
+ (134217727 >> 24) & 0xff,
+ (134217727 >> 16) & 0xff,
+ (134217727 >> 8) & 0xff,
+ 134217727 & 0xff}
},
{
- .description = "copy_ing_or_egr",
+ .description = "mtr_val",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
- 1}
+ (BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL & 0xff}
},
{
- .description = "enable",
+ .description = "ecn_rmp_en",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
.field_opr1 = {
- 1}
+ (BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN & 0xff}
+ },
+ {
+ .description = "meter_profile",
+ .field_bit_size = 8,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+ .field_opr1 = {
+ (BNXT_ULP_RF_IDX_METER_PROFILE_PTR_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_METER_PROFILE_PTR_0 & 0xff}
},
- /* act_tid: 2, , table: shared_mirror_record.wr */
+ /* act_tid: 6, , table: shared_meter_tbl_cache.wr */
{
.description = "rid",
.field_bit_size = 32,
@@ -6147,47 +6178,151 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
BNXT_ULP_RF_IDX_RID & 0xff}
},
{
- .description = "mirror_id",
- .field_bit_size = 4,
+ .description = "meter_ptr",
+ .field_bit_size = 10,
.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}
- },
- /* act_tid: 3, , table: int_flow_counter_tbl.0 */
- {
- .description = "count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ (BNXT_ULP_RF_IDX_METER_PTR_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_METER_PTR_0 & 0xff}
},
- /* act_tid: 3, , table: mod_record.ing_ttl */
{
- .description = "metadata_en",
- .field_bit_size = 1,
+ .description = "sw_meter_profile_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_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
},
+ /* act_tid: 6, , table: meter_tbl.update_wr */
{
- .description = "rem_ovlan",
- .field_bit_size = 1,
+ .description = "bkt_c",
+ .field_bit_size = 27,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr1 = {
+ (134217727 >> 24) & 0xff,
+ (134217727 >> 16) & 0xff,
+ (134217727 >> 8) & 0xff,
+ 134217727 & 0xff}
},
{
- .description = "rem_ivlan",
- .field_bit_size = 1,
+ .description = "bkt_e",
+ .field_bit_size = 27,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr1 = {
+ (134217727 >> 24) & 0xff,
+ (134217727 >> 16) & 0xff,
+ (134217727 >> 8) & 0xff,
+ 134217727 & 0xff}
},
{
- .description = "rep_add_ivlan",
+ .description = "mtr_val",
.field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL_UPDATE >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL_UPDATE & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr2 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL & 0xff},
+ .field_src3 = BNXT_ULP_FIELD_SRC_RF,
+ .field_opr3 = {
+ (BNXT_ULP_RF_IDX_RF_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_RF_0 & 0xff}
+ },
+ {
+ .description = "ecn_rmp_en",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr1 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN_UPDATE >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN_UPDATE & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
+ .field_opr2 = {
+ (BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN >> 8) & 0xff,
+ BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN & 0xff},
+ .field_src3 = BNXT_ULP_FIELD_SRC_RF,
+ .field_opr3 = {
+ (BNXT_ULP_RF_IDX_RF_1 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_RF_1 & 0xff}
+ },
+ {
+ .description = "meter_profile",
+ .field_bit_size = 8,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+ .field_opr1 = {
+ (BNXT_ULP_RF_IDX_METER_PROFILE_PTR_0 >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_METER_PROFILE_PTR_0 & 0xff}
+ },
+ /* act_tid: 7, , table: jump_index_table.alloc */
+ /* act_tid: 7, , table: flow_chain_cache.write */
+ {
+ .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 = "metadata",
+ .field_bit_size = 16,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_RF,
+ .field_opr1 = {
+ (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
+ BNXT_ULP_RF_IDX_JUMP_META & 0xff}
+ },
+ /* act_tid: 7, , table: int_flow_counter_tbl.0 */
+ {
+ .description = "count",
+ .field_bit_size = 64,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ /* act_tid: 7, , table: mod_record.ing_ttl */
+ {
+ .description = "metadata_en",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_LIST_OR,
+ .field_opr1 = {
+ (47 >> 8) & 0xff,
+ 47 & 0xff,
+ (2 >> 8) & 0xff,
+ 2 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr2 = {
+ 1},
+ .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "rem_ovlan",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "rem_ivlan",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
+ .description = "rep_add_ivlan",
+ .field_bit_size = 1,
+ .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
+ .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
+ },
+ {
.description = "rep_add_ovlan",
.field_bit_size = 1,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
@@ -6366,6 +6501,64 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
+ .description = "metadata_data",
+ .field_bit_size = 16,
+ .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+ .field_opr1 = {
+ (49 >> 8) & 0xff,
+ 49 & 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_NEXT,
+ .field_opr3 = {
+ (2 >> 8) & 0xff,
+ 2 & 0xff}
+ },
+ {
+ .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 = {
+ (51 >> 8) & 0xff,
+ 51 & 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 = {
+ (53 >> 8) & 0xff,
+ 53 & 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 = {
+ (55 >> 8) & 0xff,
+ 55 & 0xff,
+ (2 >> 8) & 0xff,
+ 2 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+ },
+ {
.description = "alt_pfid",
.field_bit_size = 4,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1,
@@ -6573,12 +6766,21 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
.field_src3 = BNXT_ULP_FIELD_SRC_SKIP
},
- /* act_tid: 3, , table: mod_record.ing_no_ttl */
+ /* act_tid: 7, , table: mod_record.ing_no_ttl */
{
.description = "metadata_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_OR,
+ .field_opr1 = {
+ (57 >> 8) & 0xff,
+ 57 & 0xff,
+ (2 >> 8) & 0xff,
+ 2 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
+ .field_opr2 = {
+ 1},
+ .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
.description = "rem_ovlan",
@@ -6775,6 +6977,64 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
.field_src3 = BNXT_ULP_FIELD_SRC_ZERO
},
{
+ .description = "metadata_data",
+ .field_bit_size = 16,
+ .field_opc = BNXT_ULP_FIELD_OPC_TERNARY_LIST,
+ .field_src1 = BNXT_ULP_FIELD_SRC_LIST_AND,
+ .field_opr1 = {
+ (59 >> 8) & 0xff,
+ 59 & 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_NEXT,
+ .field_opr3 = {
+ (3 >> 8) & 0xff,
+ 3 & 0xff}
+ },
+ {
+ .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 = {
+ (61 >> 8) & 0xff,
+ 61 & 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 = {
+ (63 >> 8) & 0xff,
+ 63 & 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 = {
+ (65 >> 8) & 0xff,
+ 65 & 0xff,
+ (2 >> 8) & 0xff,
+ 2 & 0xff},
+ .field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
+ .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
+ },
+ {
.description = "l2_dmac",
.field_bit_size = 48,
.field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
@@ -6907,2469 +7167,122 @@ struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
((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
- },
- {
- .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 = {
- ((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
- },
- /* act_tid: 3, , table: int_full_act_record.0 */
- {
- .description = "sp_rec_ptr",
- .field_bit_size = 16,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "encap_ptr",
- .field_bit_size = 16,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "mod_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_MODIFY_PTR >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MODIFY_PTR & 0xff}
- },
- {
- .description = "rsvd1",
- .field_bit_size = 16,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rsvd0",
- .field_bit_size = 8,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "decap_func",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "meter",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stats_op",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- {
- .description = "stats_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_FLOW_CNTR_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
- },
- {
- .description = "vnic_or_vport",
- .field_bit_size = 11,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
- },
- {
- .description = "use_default",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "mirror",
- .field_bit_size = 4,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff}
- },
- {
- .description = "cond_copy",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "vlan_del_rpt",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "drop",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "hit",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "type",
- .field_bit_size = 3,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- /* act_tid: 4, , table: int_flow_counter_tbl.0 */
- {
- .description = "count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 4, , table: vnic_interface_rss_config.0 */
- /* act_tid: 4, , table: vnic_interface_queue_config.0 */
- /* act_tid: 4, , table: int_compact_act_record.0 */
- {
- .description = "rsvd0",
- .field_bit_size = 8,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "decap_func",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "meter",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stats_op",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stats_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_FLOW_CNTR_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
- },
- {
- .description = "vnic_or_vport",
- .field_bit_size = 11,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_RSS_VNIC >> 8) & 0xff,
- BNXT_ULP_RF_IDX_RSS_VNIC & 0xff}
- },
- {
- .description = "use_default",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "mirror",
- .field_bit_size = 4,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff}
- },
- {
- .description = "cond_copy",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "vlan_del_rpt",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "drop",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "hit",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = 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
- },
- /* act_tid: 4, , table: int_compact_act_record.1 */
- {
- .description = "rsvd0",
- .field_bit_size = 8,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "decap_func",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "meter",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stats_op",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stats_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_FLOW_CNTR_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
- },
- {
- .description = "vnic_or_vport",
- .field_bit_size = 11,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
- },
- {
- .description = "use_default",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "mirror",
- .field_bit_size = 4,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff}
- },
- {
- .description = "cond_copy",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "vlan_del_rpt",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "drop",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "hit",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = 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
- },
- /* act_tid: 5, , table: meter_profile_tbl.0 */
- {
- .description = "cf",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_PROF_CF >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_CF & 0xff}
- },
- {
- .description = "pm",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_PROF_PM >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_PM & 0xff}
- },
- {
- .description = "rfc2698",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_PROF_RFC2698 >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_RFC2698 & 0xff}
- },
- {
- .description = "cbsm",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_PROF_CBSM >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_CBSM & 0xff}
- },
- {
- .description = "ebsm",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_PROF_EBSM >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_EBSM & 0xff}
- },
- {
- .description = "cbnd",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_PROF_CBND >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_CBND & 0xff}
- },
- {
- .description = "ebnd",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_PROF_EBND >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_EBND & 0xff}
- },
- {
- .description = "cbs",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_PROF_CBS >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_CBS & 0xff}
- },
- {
- .description = "ebs",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_PROF_EBS >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_EBS & 0xff}
- },
- {
- .description = "cir",
- .field_bit_size = 17,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_PROF_CIR >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_CIR & 0xff}
- },
- {
- .description = "eir",
- .field_bit_size = 17,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_PROF_EIR >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_EIR & 0xff}
- },
- /* act_tid: 5, , table: meter_profile_tbl_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 = "meter_profile_ptr",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_METER_PROFILE_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_METER_PROFILE_PTR_0 & 0xff}
- },
- /* act_tid: 5, , table: meter_tbl.0 */
- {
- .description = "bkt_c",
- .field_bit_size = 27,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- (134217727 >> 24) & 0xff,
- (134217727 >> 16) & 0xff,
- (134217727 >> 8) & 0xff,
- 134217727 & 0xff}
- },
- {
- .description = "bkt_e",
- .field_bit_size = 27,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- (134217727 >> 24) & 0xff,
- (134217727 >> 16) & 0xff,
- (134217727 >> 8) & 0xff,
- 134217727 & 0xff}
- },
- {
- .description = "mtr_val",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL & 0xff}
- },
- {
- .description = "ecn_rmp_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN & 0xff}
- },
- {
- .description = "meter_profile",
- .field_bit_size = 8,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_METER_PROFILE_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_METER_PROFILE_PTR_0 & 0xff}
- },
- /* act_tid: 5, , table: shared_meter_tbl_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 = "meter_ptr",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_METER_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_METER_PTR_0 & 0xff}
- },
- {
- .description = "sw_meter_profile_id",
- .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_PROF_ID >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_PROF_ID & 0xff}
- },
- /* act_tid: 5, , table: meter_tbl.update_wr */
- {
- .description = "bkt_c",
- .field_bit_size = 27,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- (134217727 >> 24) & 0xff,
- (134217727 >> 16) & 0xff,
- (134217727 >> 8) & 0xff,
- 134217727 & 0xff}
- },
- {
- .description = "bkt_e",
- .field_bit_size = 27,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- (134217727 >> 24) & 0xff,
- (134217727 >> 16) & 0xff,
- (134217727 >> 8) & 0xff,
- 134217727 & 0xff}
- },
- {
- .description = "mtr_val",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL_UPDATE >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL_UPDATE & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr2 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_INST_MTR_VAL & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr3 = {
- (BNXT_ULP_RF_IDX_RF_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_RF_0 & 0xff}
- },
- {
- .description = "ecn_rmp_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN_UPDATE >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN_UPDATE & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr2 = {
- (BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_METER_INST_ECN_RMP_EN & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr3 = {
- (BNXT_ULP_RF_IDX_RF_1 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_RF_1 & 0xff}
- },
- {
- .description = "meter_profile",
- .field_bit_size = 8,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_METER_PROFILE_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_METER_PROFILE_PTR_0 & 0xff}
- },
- /* act_tid: 6, , table: jump_index_table.alloc */
- /* act_tid: 6, , table: flow_chain_cache.write */
- {
- .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 = "metadata",
- .field_bit_size = 16,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr1 = {
- (BNXT_ULP_RF_IDX_JUMP_META >> 8) & 0xff,
- BNXT_ULP_RF_IDX_JUMP_META & 0xff}
- },
- /* act_tid: 6, , table: int_flow_counter_tbl.0 */
- {
- .description = "count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 6, , table: int_vtag_encap_record.0 */
- {
- .description = "ecv_valid",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- {
- .description = "ecv_custom_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ecv_vtag_type",
- .field_bit_size = 4,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- ULP_THOR_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
- },
- {
- .description = "ecv_l2_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .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 = "vtag_tpid",
- .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_PUSH_VLAN >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff}
- },
- {
- .description = "vtag_pcp",
- .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_SET_VLAN_PCP >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff}
- },
- {
- .description = "vtag_de",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "vtag_vid",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff}
- },
- /* act_tid: 6, , table: mod_record.dec_ttl_egr */
- {
- .description = "metadata_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ivlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rep_add_ivlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rep_add_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_update",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- {
- .description = "tun_md_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "reserved_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l2_dmac_en",
- .field_bit_size = 1,
- .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_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_sip_ipv6_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_dip_ipv6_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_sip_ipv4_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_dip_ipv4_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l4_sport_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l4_dport_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "alt_pfid",
- .field_bit_size = 4,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "alt_vid",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_rsvd",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_tl3_dec",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CF,
- .field_opr1 = {
- (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
- BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
- },
- {
- .description = "ttl_il3_dec",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CF,
- .field_opr1 = {
- (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
- BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
- },
- {
- .description = "ttl_tl3_rdir",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_il3_rdir",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 6, , table: mod_record.no_dec_ttl_egr */
- {
- .description = "metadata_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_JUMP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
- ((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_opr2 = {
- 1},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ivlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rep_add_ivlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rep_add_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_update",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "tun_md_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "reserved_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l2_dmac_en",
- .field_bit_size = 1,
- .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_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_sip_ipv6_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_dip_ipv6_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_sip_ipv4_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_dip_ipv4_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l4_sport_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l4_dport_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "metadata_data",
- .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 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
- ((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_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_rsvd",
- .field_bit_size = 10,
- .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_JUMP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
- ((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_ZERO,
- .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
- },
- {
- .description = "metadata_op",
- .field_bit_size = 2,
- .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_JUMP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
- ((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_opr2 = {
- ULP_THOR_SYM_METADATA_OP_NORMAL},
- .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
- },
- {
- .description = "metadata_prof",
- .field_bit_size = 4,
- .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_JUMP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
- ((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_opr2 = {
- ULP_THOR_SYM_META_PROFILE_0},
- .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
- },
- /* act_tid: 6, , table: int_full_act_record.0 */
- {
- .description = "sp_rec_ptr",
- .field_bit_size = 16,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "encap_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_ENCAP_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
- },
- {
- .description = "mod_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_MODIFY_PTR >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MODIFY_PTR & 0xff}
- },
- {
- .description = "rsvd1",
- .field_bit_size = 16,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rsvd0",
- .field_bit_size = 8,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "decap_func",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "meter",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stats_op",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- {
- .description = "stats_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_FLOW_CNTR_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
- },
- {
- .description = "vnic_or_vport",
- .field_bit_size = 11,
- .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_JUMP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_JUMP >> 24) & 0xff,
- ((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_opr2 = {
- (ULP_THOR_SYM_RECYCLE_DST >> 8) & 0xff,
- ULP_THOR_SYM_RECYCLE_DST & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr3 = {
- (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
- },
- {
- .description = "use_default",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "mirror",
- .field_bit_size = 4,
- .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_SHARED_SAMPLE >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr2 = {
- (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "cond_copy",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "vlan_del_rpt",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "drop",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
- .field_opr1 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
- },
- {
- .description = "hit",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "type",
- .field_bit_size = 3,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- /* act_tid: 6, , table: int_compact_act_record.0 */
- {
- .description = "rsvd0",
- .field_bit_size = 8,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "decap_func",
- .field_bit_size = 5,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "meter",
- .field_bit_size = 10,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "stats_op",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- {
- .description = "stats_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_FLOW_CNTR_PTR_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
- },
- {
- .description = "vnic_or_vport",
- .field_bit_size = 11,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
- .field_opr1 = {
- (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
- BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
- },
- {
- .description = "use_default",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "mirror",
- .field_bit_size = 4,
- .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_SHARED_SAMPLE >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff},
- .field_src2 = BNXT_ULP_FIELD_SRC_RF,
- .field_opr2 = {
- (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
- BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "cond_copy",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "vlan_del_rpt",
- .field_bit_size = 2,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "drop",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
- .field_opr1 = {
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
- ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
- (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
- },
- {
- .description = "hit",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = 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
- },
- /* act_tid: 7, , table: int_flow_counter_tbl.0 */
- {
- .description = "count",
- .field_bit_size = 64,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- /* act_tid: 7, , table: mod_record.ing_ttl */
- {
- .description = "metadata_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ivlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rep_add_ivlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rep_add_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_update",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
- .field_opr1 = {
- 1}
- },
- {
- .description = "tun_md_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "reserved_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l2_dmac_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_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_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_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_CONST,
- .field_opr2 = {
- 1},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_sip_ipv6_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_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_CONST,
- .field_opr2 = {
- 1},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_dip_ipv6_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_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_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 = "alt_pfid",
- .field_bit_size = 4,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "alt_vid",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_rsvd",
- .field_bit_size = 12,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_tl3_dec",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CF,
- .field_opr1 = {
- (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
- BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
- },
- {
- .description = "ttl_il3_dec",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_CF,
- .field_opr1 = {
- (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
- BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
- },
- {
- .description = "ttl_tl3_rdir",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_il3_rdir",
- .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_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 = {
- (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",
- .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 = {
- ((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,
- .field_opr2 = {
- (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",
- .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 = {
- ((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
- },
- {
- .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 = {
- ((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
- },
- {
- .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 = {
- ((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
- },
- /* act_tid: 7, , table: mod_record.ing_no_ttl */
- {
- .description = "metadata_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rem_ivlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rep_add_ivlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "rep_add_ovlan",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "ttl_update",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "tun_md_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "reserved_en",
- .field_bit_size = 1,
- .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
- .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l2_dmac_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_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_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_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_CONST,
- .field_opr2 = {
- 1},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_sip_ipv6_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_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_CONST,
- .field_opr2 = {
- 1},
- .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
- },
- {
- .description = "l3_dip_ipv6_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_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_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,