net/bnxt: support NAT action items
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_db_enum.h
index 892d8ea..436f54c 100644 (file)
@@ -6,7 +6,7 @@
 #ifndef ULP_TEMPLATE_DB_H_
 #define ULP_TEMPLATE_DB_H_
 
-#define BNXT_ULP_REGFILE_MAX_SZ 17
+#define BNXT_ULP_REGFILE_MAX_SZ 19
 #define BNXT_ULP_MAX_NUM_DEVICES 4
 #define BNXT_ULP_LOG2_MAX_NUM_DEV 2
 #define BNXT_ULP_CACHE_TBL_MAX_SZ 4
@@ -96,33 +96,43 @@ enum bnxt_ulp_cf_idx {
        BNXT_ULP_CF_IDX_NOT_USED = 0,
        BNXT_ULP_CF_IDX_MPLS_TAG_NUM = 1,
        BNXT_ULP_CF_IDX_O_VTAG_NUM = 2,
-       BNXT_ULP_CF_IDX_O_TWO_VTAGS = 3,
-       BNXT_ULP_CF_IDX_I_VTAG_NUM = 4,
-       BNXT_ULP_CF_IDX_I_TWO_VTAGS = 5,
-       BNXT_ULP_CF_IDX_INCOMING_IF = 6,
-       BNXT_ULP_CF_IDX_DIRECTION = 7,
-       BNXT_ULP_CF_IDX_SVIF_FLAG = 8,
-       BNXT_ULP_CF_IDX_O_L3 = 9,
-       BNXT_ULP_CF_IDX_I_L3 = 10,
-       BNXT_ULP_CF_IDX_O_L4 = 11,
-       BNXT_ULP_CF_IDX_I_L4 = 12,
-       BNXT_ULP_CF_IDX_DEV_PORT_ID = 13,
-       BNXT_ULP_CF_IDX_DRV_FUNC_SVIF = 14,
-       BNXT_ULP_CF_IDX_DRV_FUNC_SPIF = 15,
-       BNXT_ULP_CF_IDX_DRV_FUNC_PARIF = 16,
-       BNXT_ULP_CF_IDX_DRV_FUNC_VNIC = 17,
-       BNXT_ULP_CF_IDX_DRV_FUNC_PHY_PORT = 18,
-       BNXT_ULP_CF_IDX_VF_FUNC_SVIF = 19,
-       BNXT_ULP_CF_IDX_VF_FUNC_SPIF = 20,
-       BNXT_ULP_CF_IDX_VF_FUNC_PARIF = 21,
-       BNXT_ULP_CF_IDX_VF_FUNC_VNIC = 22,
-       BNXT_ULP_CF_IDX_PHY_PORT_SVIF = 23,
-       BNXT_ULP_CF_IDX_PHY_PORT_SPIF = 24,
-       BNXT_ULP_CF_IDX_PHY_PORT_PARIF = 25,
-       BNXT_ULP_CF_IDX_PHY_PORT_VPORT = 26,
-       BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG = 27,
-       BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG = 28,
-       BNXT_ULP_CF_IDX_LAST = 29
+       BNXT_ULP_CF_IDX_O_NO_VTAG = 3,
+       BNXT_ULP_CF_IDX_O_ONE_VTAG = 4,
+       BNXT_ULP_CF_IDX_O_TWO_VTAGS = 5,
+       BNXT_ULP_CF_IDX_I_VTAG_NUM = 6,
+       BNXT_ULP_CF_IDX_I_NO_VTAG = 7,
+       BNXT_ULP_CF_IDX_I_ONE_VTAG = 8,
+       BNXT_ULP_CF_IDX_I_TWO_VTAGS = 9,
+       BNXT_ULP_CF_IDX_INCOMING_IF = 10,
+       BNXT_ULP_CF_IDX_DIRECTION = 11,
+       BNXT_ULP_CF_IDX_SVIF_FLAG = 12,
+       BNXT_ULP_CF_IDX_O_L3 = 13,
+       BNXT_ULP_CF_IDX_I_L3 = 14,
+       BNXT_ULP_CF_IDX_O_L4 = 15,
+       BNXT_ULP_CF_IDX_I_L4 = 16,
+       BNXT_ULP_CF_IDX_DEV_PORT_ID = 17,
+       BNXT_ULP_CF_IDX_DRV_FUNC_SVIF = 18,
+       BNXT_ULP_CF_IDX_DRV_FUNC_SPIF = 19,
+       BNXT_ULP_CF_IDX_DRV_FUNC_PARIF = 20,
+       BNXT_ULP_CF_IDX_DRV_FUNC_VNIC = 21,
+       BNXT_ULP_CF_IDX_DRV_FUNC_PHY_PORT = 22,
+       BNXT_ULP_CF_IDX_VF_FUNC_SVIF = 23,
+       BNXT_ULP_CF_IDX_VF_FUNC_SPIF = 24,
+       BNXT_ULP_CF_IDX_VF_FUNC_PARIF = 25,
+       BNXT_ULP_CF_IDX_VF_FUNC_VNIC = 26,
+       BNXT_ULP_CF_IDX_PHY_PORT_SVIF = 27,
+       BNXT_ULP_CF_IDX_PHY_PORT_SPIF = 28,
+       BNXT_ULP_CF_IDX_PHY_PORT_PARIF = 29,
+       BNXT_ULP_CF_IDX_PHY_PORT_VPORT = 30,
+       BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG = 31,
+       BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG = 32,
+       BNXT_ULP_CF_IDX_ACT_DEC_TTL = 33,
+       BNXT_ULP_CF_IDX_ACT_T_DEC_TTL = 34,
+       BNXT_ULP_CF_IDX_ACT_PORT_IS_SET = 35,
+       BNXT_ULP_CF_IDX_ACT_PORT_TYPE = 36,
+       BNXT_ULP_CF_IDX_MATCH_PORT_TYPE = 37,
+       BNXT_ULP_CF_IDX_VF_TO_VF = 38,
+       BNXT_ULP_CF_IDX_LAST = 39
 };
 
 enum bnxt_ulp_cond_opcode {
@@ -202,7 +212,9 @@ enum bnxt_ulp_mapper_opc {
        BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT = 6,
        BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP = 7,
        BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ = 8,
-       BNXT_ULP_MAPPER_OPC_LAST = 9
+       BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST = 9,
+       BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST = 10,
+       BNXT_ULP_MAPPER_OPC_LAST = 11
 };
 
 enum bnxt_ulp_mark_db_opcode {
@@ -249,7 +261,9 @@ enum bnxt_ulp_regfile_index {
        BNXT_ULP_REGFILE_INDEX_CRITICAL_RESOURCE = 14,
        BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 = 15,
        BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR = 16,
-       BNXT_ULP_REGFILE_INDEX_LAST = 17
+       BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 = 17,
+       BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 = 18,
+       BNXT_ULP_REGFILE_INDEX_LAST = 19
 };
 
 enum bnxt_ulp_search_before_alloc {
@@ -539,9 +553,9 @@ enum bnxt_ulp_act_prop_sz {
        BNXT_ULP_ACT_PROP_SZ_METER = 4,
        BNXT_ULP_ACT_PROP_SZ_SET_MAC_SRC = 8,
        BNXT_ULP_ACT_PROP_SZ_SET_MAC_DST = 8,
-       BNXT_ULP_ACT_PROP_SZ_OF_PUSH_VLAN = 4,
-       BNXT_ULP_ACT_PROP_SZ_OF_SET_VLAN_PCP = 4,
-       BNXT_ULP_ACT_PROP_SZ_OF_SET_VLAN_VID = 4,
+       BNXT_ULP_ACT_PROP_SZ_PUSH_VLAN = 2,
+       BNXT_ULP_ACT_PROP_SZ_SET_VLAN_PCP = 1,
+       BNXT_ULP_ACT_PROP_SZ_SET_VLAN_VID = 2,
        BNXT_ULP_ACT_PROP_SZ_SET_IPV4_SRC = 4,
        BNXT_ULP_ACT_PROP_SZ_SET_IPV4_DST = 4,
        BNXT_ULP_ACT_PROP_SZ_SET_IPV6_SRC = 16,
@@ -583,31 +597,31 @@ enum bnxt_ulp_act_prop_idx {
        BNXT_ULP_ACT_PROP_IDX_METER = 52,
        BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC = 56,
        BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST = 64,
-       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_VLAN = 72,
-       BNXT_ULP_ACT_PROP_IDX_OF_SET_VLAN_PCP = 76,
-       BNXT_ULP_ACT_PROP_IDX_OF_SET_VLAN_VID = 80,
-       BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC = 84,
-       BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST = 88,
-       BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC = 92,
-       BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST = 108,
-       BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC = 124,
-       BNXT_ULP_ACT_PROP_IDX_SET_TP_DST = 128,
-       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_0 = 132,
-       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_1 = 136,
-       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_2 = 140,
-       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_3 = 144,
-       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_4 = 148,
-       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_5 = 152,
-       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_6 = 156,
-       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_7 = 160,
-       BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC = 164,
-       BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC = 170,
-       BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG = 176,
-       BNXT_ULP_ACT_PROP_IDX_ENCAP_IP = 184,
-       BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC = 216,
-       BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP = 232,
-       BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN = 236,
-       BNXT_ULP_ACT_PROP_IDX_LAST = 268
+       BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN = 72,
+       BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP = 74,
+       BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID = 75,
+       BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC = 77,
+       BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST = 81,
+       BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC = 85,
+       BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST = 101,
+       BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC = 117,
+       BNXT_ULP_ACT_PROP_IDX_SET_TP_DST = 121,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_0 = 125,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_1 = 129,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_2 = 133,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_3 = 137,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_4 = 141,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_5 = 145,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_6 = 149,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_7 = 153,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC = 157,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC = 163,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG = 169,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_IP = 177,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC = 209,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP = 225,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN = 229,
+       BNXT_ULP_ACT_PROP_IDX_LAST = 261
 };
 
 enum bnxt_ulp_class_hid {