/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2014-2020 Broadcom
+ * Copyright(c) 2014-2021 Broadcom
* All rights reserved.
*/
#define BNXT_ULP_LOG2_MAX_NUM_DEV 2
#define BNXT_ULP_CACHE_TBL_MAX_SZ 4
#define BNXT_ULP_CLASS_SIG_TBL_MAX_SZ 2048
-#define BNXT_ULP_CLASS_MATCH_LIST_MAX_SZ 179
+#define BNXT_ULP_CLASS_MATCH_LIST_MAX_SZ 217
#define BNXT_ULP_CLASS_HID_LOW_PRIME 7919
#define BNXT_ULP_CLASS_HID_HIGH_PRIME 7907
#define BNXT_ULP_CLASS_HID_SHFTR 32
BNXT_ULP_ACTION_BIT_SET_TP_SRC = 0x0000000000100000,
BNXT_ULP_ACTION_BIT_SET_TP_DST = 0x0000000000200000,
BNXT_ULP_ACTION_BIT_VXLAN_ENCAP = 0x0000000000400000,
- BNXT_ULP_ACTION_BIT_LAST = 0x0000000000800000
+ BNXT_ULP_ACTION_BIT_JUMP = 0x0000000000800000,
+ BNXT_ULP_ACTION_BIT_LAST = 0x0000000001000000
};
enum bnxt_ulp_hdr_bit {
BNXT_ULP_HDR_BIT_I_IPV6 = 0x0000000000002000,
BNXT_ULP_HDR_BIT_I_TCP = 0x0000000000004000,
BNXT_ULP_HDR_BIT_I_UDP = 0x0000000000008000,
- BNXT_ULP_HDR_BIT_LAST = 0x0000000000010000
+ BNXT_ULP_HDR_BIT_F1 = 0x0000000000010000,
+ BNXT_ULP_HDR_BIT_LAST = 0x0000000000020000
};
enum bnxt_ulp_act_type {
BNXT_ULP_CF_IDX_L4_HDR_CNT = 41,
BNXT_ULP_CF_IDX_VFR_MODE = 42,
BNXT_ULP_CF_IDX_LOOPBACK_PARIF = 43,
- BNXT_ULP_CF_IDX_LAST = 44
+ BNXT_ULP_CF_IDX_L3_TUN = 44,
+ BNXT_ULP_CF_IDX_L3_TUN_DECAP = 45,
+ BNXT_ULP_CF_IDX_LAST = 46
};
enum bnxt_ulp_cond_opcode {
BNXT_ULP_MATCH_TYPE_LAST = 2
};
+enum bnxt_ulp_mem_type_opcode {
+ BNXT_ULP_MEM_TYPE_OPCODE_NOP = 0,
+ BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT = 1,
+ BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT = 2,
+ BNXT_ULP_MEM_TYPE_OPCODE_LAST = 3
+};
+
enum bnxt_ulp_priority {
BNXT_ULP_PRIORITY_LEVEL_0 = 0,
BNXT_ULP_PRIORITY_LEVEL_1 = 1,
BNXT_ULP_SEARCH_BEFORE_ALLOC_LAST = 3
};
+enum bnxt_ulp_template_type {
+ BNXT_ULP_TEMPLATE_TYPE_CLASS = 0,
+ BNXT_ULP_TEMPLATE_TYPE_ACTION = 1,
+ BNXT_ULP_TEMPLATE_TYPE_LAST = 2
+};
+
enum bnxt_ulp_fdb_resource_flags {
BNXT_ULP_FDB_RESOURCE_FLAGS_DIR_INGR = 0x00,
BNXT_ULP_FDB_RESOURCE_FLAGS_DIR_EGR = 0x01
BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE = 0x82,
BNXT_ULP_RESOURCE_FUNC_IDENTIFIER = 0x83,
BNXT_ULP_RESOURCE_FUNC_IF_TABLE = 0x84,
- BNXT_ULP_RESOURCE_FUNC_HW_FID = 0x85
+ BNXT_ULP_RESOURCE_FUNC_HW_FID = 0x85,
+ BNXT_ULP_RESOURCE_FUNC_SHARED_TABLE = 0x86,
+ BNXT_ULP_RESOURCE_FUNC_PARENT_FLOW = 0x87,
+ BNXT_ULP_RESOURCE_FUNC_CHILD_FLOW = 0x88
};
enum bnxt_ulp_resource_sub_type {
BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL = 0,
BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_VFR_CFA_ACTION = 1,
BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT = 2,
- BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_EXT_COUNT = 3,
+ BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT_ACC = 3,
+ BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_EXT_COUNT = 4,
BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM = 0,
BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM = 1
};
enum bnxt_ulp_sym {
BNXT_ULP_SYM_PKT_TYPE_IGNORE = 0,
BNXT_ULP_SYM_PKT_TYPE_L2 = 0,
+ BNXT_ULP_SYM_PKT_TYPE_0_IGNORE = 0,
+ BNXT_ULP_SYM_PKT_TYPE_0_L2 = 0,
+ BNXT_ULP_SYM_PKT_TYPE_1_IGNORE = 0,
+ BNXT_ULP_SYM_PKT_TYPE_1_L2 = 0,
BNXT_ULP_SYM_RECYCLE_CNT_IGNORE = 0,
BNXT_ULP_SYM_RECYCLE_CNT_ZERO = 0,
BNXT_ULP_SYM_RECYCLE_CNT_ONE = 1,
BNXT_ULP_SYM_IP_PROTO_UDP = 17,
BNXT_ULP_SYM_VF_FUNC_PARIF = 15,
BNXT_ULP_SYM_NO = 0,
- BNXT_ULP_SYM_YES = 1
+ BNXT_ULP_SYM_YES = 1,
+ BNXT_ULP_SYM_RECYCLE_DST = 0x800
};
enum bnxt_ulp_wh_plus {
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_JUMP = 4,
BNXT_ULP_ACT_PROP_SZ_LAST = 4
};
BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC = 205,
BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP = 221,
BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN = 225,
- BNXT_ULP_ACT_PROP_IDX_LAST = 257
+ BNXT_ULP_ACT_PROP_IDX_JUMP = 257,
+ BNXT_ULP_ACT_PROP_IDX_LAST = 261
};
enum bnxt_ulp_class_hid {
BNXT_ULP_CLASS_HID_065d = 0x065d,
BNXT_ULP_CLASS_HID_0623 = 0x0623,
BNXT_ULP_CLASS_HID_00eb = 0x00eb,
- BNXT_ULP_CLASS_HID_0768 = 0x0768,
- BNXT_ULP_CLASS_HID_073c = 0x073c,
BNXT_ULP_CLASS_HID_04bc = 0x04bc,
BNXT_ULP_CLASS_HID_0442 = 0x0442,
BNXT_ULP_CLASS_HID_050a = 0x050a,
BNXT_ULP_CLASS_HID_0700 = 0x0700,
BNXT_ULP_CLASS_HID_04c8 = 0x04c8,
BNXT_ULP_CLASS_HID_0678 = 0x0678,
- BNXT_ULP_CLASS_HID_064f = 0x064f,
- BNXT_ULP_CLASS_HID_051d = 0x051d,
+ BNXT_ULP_CLASS_HID_061f = 0x061f,
+ BNXT_ULP_CLASS_HID_05ad = 0x05ad,
BNXT_ULP_CLASS_HID_06a5 = 0x06a5,
BNXT_ULP_CLASS_HID_0455 = 0x0455,
+ BNXT_ULP_CLASS_HID_05dd = 0x05dd,
+ BNXT_ULP_CLASS_HID_0563 = 0x0563,
+ BNXT_ULP_CLASS_HID_059b = 0x059b,
+ BNXT_ULP_CLASS_HID_070b = 0x070b,
BNXT_ULP_CLASS_HID_04bd = 0x04bd,
BNXT_ULP_CLASS_HID_0443 = 0x0443,
BNXT_ULP_CLASS_HID_050b = 0x050b,
BNXT_ULP_CLASS_HID_06bb = 0x06bb,
- BNXT_ULP_CLASS_HID_050d = 0x050d,
- BNXT_ULP_CLASS_HID_04d3 = 0x04d3,
- BNXT_ULP_CLASS_HID_059b = 0x059b,
- BNXT_ULP_CLASS_HID_070b = 0x070b,
BNXT_ULP_CLASS_HID_0473 = 0x0473,
BNXT_ULP_CLASS_HID_0701 = 0x0701,
BNXT_ULP_CLASS_HID_04c9 = 0x04c9,
BNXT_ULP_CLASS_HID_0679 = 0x0679,
+ BNXT_ULP_CLASS_HID_05e2 = 0x05e2,
+ BNXT_ULP_CLASS_HID_00b0 = 0x00b0,
+ BNXT_ULP_CLASS_HID_0648 = 0x0648,
+ BNXT_ULP_CLASS_HID_03f8 = 0x03f8,
+ BNXT_ULP_CLASS_HID_02ea = 0x02ea,
+ BNXT_ULP_CLASS_HID_05b8 = 0x05b8,
+ BNXT_ULP_CLASS_HID_0370 = 0x0370,
+ BNXT_ULP_CLASS_HID_00e0 = 0x00e0,
+ BNXT_ULP_CLASS_HID_0745 = 0x0745,
+ BNXT_ULP_CLASS_HID_0213 = 0x0213,
+ BNXT_ULP_CLASS_HID_031b = 0x031b,
+ BNXT_ULP_CLASS_HID_008b = 0x008b,
+ BNXT_ULP_CLASS_HID_044d = 0x044d,
+ BNXT_ULP_CLASS_HID_071b = 0x071b,
+ BNXT_ULP_CLASS_HID_0003 = 0x0003,
+ BNXT_ULP_CLASS_HID_05b3 = 0x05b3,
+ BNXT_ULP_CLASS_HID_05e3 = 0x05e3,
+ BNXT_ULP_CLASS_HID_00b1 = 0x00b1,
+ BNXT_ULP_CLASS_HID_0649 = 0x0649,
+ BNXT_ULP_CLASS_HID_03f9 = 0x03f9,
+ BNXT_ULP_CLASS_HID_02eb = 0x02eb,
+ BNXT_ULP_CLASS_HID_05b9 = 0x05b9,
+ BNXT_ULP_CLASS_HID_0371 = 0x0371,
+ BNXT_ULP_CLASS_HID_00e1 = 0x00e1,
+ BNXT_ULP_CLASS_HID_0000 = 0x0000,
+ BNXT_ULP_CLASS_HID_00ce = 0x00ce,
+ BNXT_ULP_CLASS_HID_01b6 = 0x01b6,
+ BNXT_ULP_CLASS_HID_0074 = 0x0074,
+ BNXT_ULP_CLASS_HID_00fe = 0x00fe,
+ BNXT_ULP_CLASS_HID_03bc = 0x03bc,
+ BNXT_ULP_CLASS_HID_0206 = 0x0206,
+ BNXT_ULP_CLASS_HID_02c4 = 0x02c4,
+ BNXT_ULP_CLASS_HID_055a = 0x055a,
+ BNXT_ULP_CLASS_HID_045a = 0x045a,
+ BNXT_ULP_CLASS_HID_061a = 0x061a,
+ BNXT_ULP_CLASS_HID_051a = 0x051a,
+ BNXT_ULP_CLASS_HID_074a = 0x074a,
+ BNXT_ULP_CLASS_HID_004e = 0x004e,
+ BNXT_ULP_CLASS_HID_040a = 0x040a,
+ BNXT_ULP_CLASS_HID_010e = 0x010e,
BNXT_ULP_CLASS_HID_048b = 0x048b,
BNXT_ULP_CLASS_HID_0749 = 0x0749,
BNXT_ULP_CLASS_HID_05f1 = 0x05f1,