net/bnxt: support process action tables
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_db.h
index 1eed828..e52cc3f 100644 (file)
@@ -39,9 +39,113 @@ enum bnxt_ulp_regfile_index {
        BNXT_ULP_REGFILE_INDEX_LAST
 };
 
+enum bnxt_ulp_resource_func {
+       BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE = 0,
+       BNXT_ULP_RESOURCE_FUNC_EM_TABLE = 1,
+       BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE = 2,
+       BNXT_ULP_RESOURCE_FUNC_IDENTIFIER = 3,
+       BNXT_ULP_RESOURCE_FUNC_HW_FID = 4,
+       BNXT_ULP_RESOURCE_FUNC_LAST = 5
+};
+
+enum bnxt_ulp_result_opc {
+       BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT = 0,
+       BNXT_ULP_RESULT_OPC_SET_TO_ACT_PROP = 1,
+       BNXT_ULP_RESULT_OPC_SET_TO_ACT_PROP_SZ = 2,
+       BNXT_ULP_RESULT_OPC_SET_TO_REGFILE = 3,
+       BNXT_ULP_RESULT_OPC_LAST = 4
+};
+
 enum bnxt_ulp_sym {
+       BNXT_ULP_SYM_DECAP_FUNC_NONE = 0,
        BNXT_ULP_SYM_LITTLE_ENDIAN = 1,
        BNXT_ULP_SYM_YES = 1
 };
 
+enum bnxt_ulp_act_prop_sz {
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN_SZ = 4,
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SZ = 4,
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_SZ = 4,
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_TYPE = 4,
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_NUM = 4,
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_L3_TYPE = 4,
+       BNXT_ULP_ACT_PROP_SZ_MPLS_POP_NUM = 4,
+       BNXT_ULP_ACT_PROP_SZ_MPLS_PUSH_NUM = 4,
+       BNXT_ULP_ACT_PROP_SZ_VNIC = 4,
+       BNXT_ULP_ACT_PROP_SZ_VPORT = 4,
+       BNXT_ULP_ACT_PROP_SZ_MARK = 4,
+       BNXT_ULP_ACT_PROP_SZ_COUNT = 4,
+       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_SET_IPV4_SRC = 4,
+       BNXT_ULP_ACT_PROP_SZ_SET_IPV4_DST = 4,
+       BNXT_ULP_ACT_PROP_SZ_SET_IPV6_SRC = 16,
+       BNXT_ULP_ACT_PROP_SZ_SET_IPV6_DST = 16,
+       BNXT_ULP_ACT_PROP_SZ_SET_TP_SRC = 4,
+       BNXT_ULP_ACT_PROP_SZ_SET_TP_DST = 4,
+       BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_0 = 4,
+       BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_1 = 4,
+       BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_2 = 4,
+       BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_3 = 4,
+       BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_4 = 4,
+       BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_5 = 4,
+       BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_6 = 4,
+       BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_7 = 4,
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_DMAC = 6,
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_SMAC = 6,
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG = 8,
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_IP = 32,
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SRC = 16,
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_UDP = 4,
+       BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN = 32,
+       BNXT_ULP_ACT_PROP_SZ_LAST = 4
+};
+
+enum bnxt_ulp_act_prop_idx {
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ = 0,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ = 4,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ = 8,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE = 12,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_NUM = 16,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE = 20,
+       BNXT_ULP_ACT_PROP_IDX_MPLS_POP_NUM = 24,
+       BNXT_ULP_ACT_PROP_IDX_MPLS_PUSH_NUM = 28,
+       BNXT_ULP_ACT_PROP_IDX_VNIC = 32,
+       BNXT_ULP_ACT_PROP_IDX_VPORT = 36,
+       BNXT_ULP_ACT_PROP_IDX_MARK = 40,
+       BNXT_ULP_ACT_PROP_IDX_COUNT = 44,
+       BNXT_ULP_ACT_PROP_IDX_METER = 48,
+       BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC = 52,
+       BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST = 60,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_VLAN = 68,
+       BNXT_ULP_ACT_PROP_IDX_OF_SET_VLAN_PCP = 72,
+       BNXT_ULP_ACT_PROP_IDX_OF_SET_VLAN_VID = 76,
+       BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC = 80,
+       BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST = 84,
+       BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC = 88,
+       BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST = 104,
+       BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC = 120,
+       BNXT_ULP_ACT_PROP_IDX_SET_TP_DST = 124,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_0 = 128,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_1 = 132,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_2 = 136,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_3 = 140,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_4 = 144,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_5 = 148,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_6 = 152,
+       BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_7 = 156,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC = 160,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC = 166,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG = 172,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_IP = 180,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC = 212,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP = 228,
+       BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN = 232,
+       BNXT_ULP_ACT_PROP_IDX_LAST = 264
+};
+
 #endif /* _ULP_TEMPLATE_DB_H_ */