+ BNXT_ULP_DEVICE_ID_WH_PLUS = 0,
+ BNXT_ULP_DEVICE_ID_THOR = 1,
+ BNXT_ULP_DEVICE_ID_STINGRAY = 2,
+ BNXT_ULP_DEVICE_ID_STINGRAY2 = 3,
+ BNXT_ULP_DEVICE_ID_LAST = 4
+};
+
+enum bnxt_ulp_direction {
+ BNXT_ULP_DIRECTION_INGRESS = 0,
+ BNXT_ULP_DIRECTION_EGRESS = 1,
+ BNXT_ULP_DIRECTION_LAST = 2
+};
+
+enum bnxt_ulp_hdr_type {
+ BNXT_ULP_HDR_TYPE_NOT_SUPPORTED = 0,
+ BNXT_ULP_HDR_TYPE_SUPPORTED = 1,
+ BNXT_ULP_HDR_TYPE_END = 2,
+ BNXT_ULP_HDR_TYPE_LAST = 3
+};
+
+enum bnxt_ulp_mark_enable {
+ BNXT_ULP_MARK_ENABLE_NO = 0,
+ BNXT_ULP_MARK_ENABLE_YES = 1,
+ BNXT_ULP_MARK_ENABLE_LAST = 2
+};
+
+enum bnxt_ulp_mask_opc {
+ BNXT_ULP_MASK_OPC_SET_TO_CONSTANT = 0,
+ BNXT_ULP_MASK_OPC_SET_TO_HDR_FIELD = 1,
+ BNXT_ULP_MASK_OPC_SET_TO_REGFILE = 2,
+ BNXT_ULP_MASK_OPC_SET_TO_DEF_REGFILE = 3,
+ BNXT_ULP_MASK_OPC_ADD_PAD = 4,
+ BNXT_ULP_MASK_OPC_LAST = 5
+};
+
+enum bnxt_ulp_match_type {
+ BNXT_ULP_MATCH_TYPE_EM = 0,
+ BNXT_ULP_MATCH_TYPE_WC = 1,
+ BNXT_ULP_MATCH_TYPE_LAST = 2
+};
+
+enum bnxt_ulp_priority {
+ BNXT_ULP_PRIORITY_LEVEL_0 = 0,
+ BNXT_ULP_PRIORITY_LEVEL_1 = 1,
+ BNXT_ULP_PRIORITY_LEVEL_2 = 2,
+ BNXT_ULP_PRIORITY_LEVEL_3 = 3,
+ BNXT_ULP_PRIORITY_LEVEL_4 = 4,
+ BNXT_ULP_PRIORITY_LEVEL_5 = 5,
+ BNXT_ULP_PRIORITY_LEVEL_6 = 6,
+ BNXT_ULP_PRIORITY_LEVEL_7 = 7,
+ BNXT_ULP_PRIORITY_NOT_USED = 8,
+ BNXT_ULP_PRIORITY_LAST = 9
+};
+
+enum bnxt_ulp_regfile_index {
+ BNXT_ULP_REGFILE_INDEX_CLASS_TID = 0,
+ BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 = 1,
+ BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_1 = 2,
+ BNXT_ULP_REGFILE_INDEX_PROF_FUNC_ID_0 = 3,
+ BNXT_ULP_REGFILE_INDEX_PROF_FUNC_ID_1 = 4,
+ BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 = 5,
+ BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_1 = 6,
+ BNXT_ULP_REGFILE_INDEX_WC_PROFILE_ID_0 = 7,
+ BNXT_ULP_REGFILE_INDEX_WC_PROFILE_ID_1 = 8,
+ BNXT_ULP_REGFILE_INDEX_ACTION_PTR_MAIN = 9,
+ BNXT_ULP_REGFILE_INDEX_ACTION_PTR_0 = 10,
+ BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 = 11,
+ BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_1 = 12,
+ BNXT_ULP_REGFILE_INDEX_CRITICAL_RESOURCE = 13,
+ BNXT_ULP_REGFILE_INDEX_CACHE_ENTRY_PTR = 14,
+ BNXT_ULP_REGFILE_INDEX_NOT_USED = 15,
+ BNXT_ULP_REGFILE_INDEX_LAST = 16
+};
+
+enum bnxt_ulp_resource_func {
+ BNXT_ULP_RESOURCE_FUNC_INVALID = 0,
+ BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE = 1,
+ BNXT_ULP_RESOURCE_FUNC_EM_TABLE = 2,
+ BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE = 3,
+ BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE = 4,
+ BNXT_ULP_RESOURCE_FUNC_IDENTIFIER = 5,
+ BNXT_ULP_RESOURCE_FUNC_HW_FID = 6,
+ BNXT_ULP_RESOURCE_FUNC_LAST = 7
+};
+
+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_ENCAP_ACT_PROP_SZ = 2,
+ BNXT_ULP_RESULT_OPC_SET_TO_REGFILE = 3,
+ BNXT_ULP_RESULT_OPC_SET_TO_DEF_REGFILE = 4,
+ BNXT_ULP_RESULT_OPC_LAST = 5
+};
+
+enum bnxt_ulp_search_before_alloc {
+ BNXT_ULP_SEARCH_BEFORE_ALLOC_NO = 0,
+ BNXT_ULP_SEARCH_BEFORE_ALLOC_YES = 1,
+ BNXT_ULP_SEARCH_BEFORE_ALLOC_LAST = 2
+};
+
+enum bnxt_ulp_spec_opc {
+ BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT = 0,
+ BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD = 1,
+ BNXT_ULP_SPEC_OPC_SET_TO_REGFILE = 2,
+ BNXT_ULP_SPEC_OPC_SET_TO_DEF_REGFILE = 3,
+ BNXT_ULP_SPEC_OPC_ADD_PAD = 4,
+ BNXT_ULP_SPEC_OPC_LAST = 5
+};
+
+enum bnxt_ulp_encap_vtag_encoding {
+ BNXT_ULP_ENCAP_VTAG_ENCODING_DTAG_ECAP_PRI = 4,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_DTAG_REMAP_DIFFSERV = 5,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_NO_TAG_ECAP_PRI = 6,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_NO_TAG_REMAP_DIFFSERV = 7,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_NO_TAG_REMAP_PRI_0 = 8,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_NO_TAG_REMAP_PRI_1 = 9,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_NO_TAG_REMAP_PRI_2 = 10,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_NO_TAG_REMAP_PRI_3 = 11,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_NO_TAG_REMAP_PRI_4 = 12,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_NO_TAG_REMAP_PRI_5 = 13,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_NO_TAG_REMAP_PRI_6 = 14,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_NO_TAG_REMAP_PRI_7 = 15,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_NOP = 0,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_STAG_ECAP_PRI = 1,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_STAG_IVLAN_PRI = 2,
+ BNXT_ULP_ENCAP_VTAG_ENCODING_STAG_REMAP_DIFFSERV = 3
+};
+
+enum bnxt_ulp_fdb_resource_flags {
+ BNXT_ULP_FDB_RESOURCE_FLAGS_DIR_EGR = 0x01,
+ BNXT_ULP_FDB_RESOURCE_FLAGS_DIR_INGR = 0x00
+};
+
+enum bnxt_ulp_fdb_type {
+ BNXT_ULP_FDB_TYPE_DEFAULT = 1,
+ BNXT_ULP_FDB_TYPE_REGULAR = 0
+};
+
+enum bnxt_ulp_flow_dir_bitmask {
+ BNXT_ULP_FLOW_DIR_BITMASK_EGR = 0x8000000000000000,
+ BNXT_ULP_FLOW_DIR_BITMASK_ING = 0x0000000000000000
+};
+
+enum bnxt_ulp_match_type_bitmask {
+ BNXT_ULP_MATCH_TYPE_BITMASK_EM = 0x0000000000000000,
+ BNXT_ULP_MATCH_TYPE_BITMASK_WM = 0x0000000000000001