1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2019 Broadcom
7 * date: Mon Mar 9 02:37:53 2020
11 #ifndef ULP_TEMPLATE_DB_H_
12 #define ULP_TEMPLATE_DB_H_
14 #define BNXT_ULP_MAX_NUM_DEVICES 4
16 enum bnxt_ulp_byte_order {
17 BNXT_ULP_BYTE_ORDER_BE,
18 BNXT_ULP_BYTE_ORDER_LE,
19 BNXT_ULP_BYTE_ORDER_LAST
22 enum bnxt_ulp_device_id {
23 BNXT_ULP_DEVICE_ID_WH_PLUS,
24 BNXT_ULP_DEVICE_ID_THOR,
25 BNXT_ULP_DEVICE_ID_STINGRAY,
26 BNXT_ULP_DEVICE_ID_STINGRAY2,
27 BNXT_ULP_DEVICE_ID_LAST
30 enum bnxt_ulp_fmf_mask {
31 BNXT_ULP_FMF_MASK_IGNORE,
32 BNXT_ULP_FMF_MASK_ANY,
33 BNXT_ULP_FMF_MASK_EXACT,
34 BNXT_ULP_FMF_MASK_WILDCARD,
35 BNXT_ULP_FMF_MASK_LAST
38 enum bnxt_ulp_regfile_index {
39 BNXT_ULP_REGFILE_INDEX_LAST
42 enum bnxt_ulp_resource_func {
43 BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE = 0,
44 BNXT_ULP_RESOURCE_FUNC_EM_TABLE = 1,
45 BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE = 2,
46 BNXT_ULP_RESOURCE_FUNC_IDENTIFIER = 3,
47 BNXT_ULP_RESOURCE_FUNC_HW_FID = 4,
48 BNXT_ULP_RESOURCE_FUNC_LAST = 5
51 enum bnxt_ulp_result_opc {
52 BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT = 0,
53 BNXT_ULP_RESULT_OPC_SET_TO_ACT_PROP = 1,
54 BNXT_ULP_RESULT_OPC_SET_TO_ACT_PROP_SZ = 2,
55 BNXT_ULP_RESULT_OPC_SET_TO_REGFILE = 3,
56 BNXT_ULP_RESULT_OPC_LAST = 4
60 BNXT_ULP_SYM_DECAP_FUNC_NONE = 0,
61 BNXT_ULP_SYM_LITTLE_ENDIAN = 1,
65 enum bnxt_ulp_act_prop_sz {
66 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN_SZ = 4,
67 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SZ = 4,
68 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_SZ = 4,
69 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_TYPE = 4,
70 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_NUM = 4,
71 BNXT_ULP_ACT_PROP_SZ_ENCAP_L3_TYPE = 4,
72 BNXT_ULP_ACT_PROP_SZ_MPLS_POP_NUM = 4,
73 BNXT_ULP_ACT_PROP_SZ_MPLS_PUSH_NUM = 4,
74 BNXT_ULP_ACT_PROP_SZ_VNIC = 4,
75 BNXT_ULP_ACT_PROP_SZ_VPORT = 4,
76 BNXT_ULP_ACT_PROP_SZ_MARK = 4,
77 BNXT_ULP_ACT_PROP_SZ_COUNT = 4,
78 BNXT_ULP_ACT_PROP_SZ_METER = 4,
79 BNXT_ULP_ACT_PROP_SZ_SET_MAC_SRC = 8,
80 BNXT_ULP_ACT_PROP_SZ_SET_MAC_DST = 8,
81 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_VLAN = 4,
82 BNXT_ULP_ACT_PROP_SZ_OF_SET_VLAN_PCP = 4,
83 BNXT_ULP_ACT_PROP_SZ_OF_SET_VLAN_VID = 4,
84 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_SRC = 4,
85 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_DST = 4,
86 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_SRC = 16,
87 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_DST = 16,
88 BNXT_ULP_ACT_PROP_SZ_SET_TP_SRC = 4,
89 BNXT_ULP_ACT_PROP_SZ_SET_TP_DST = 4,
90 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_0 = 4,
91 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_1 = 4,
92 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_2 = 4,
93 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_3 = 4,
94 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_4 = 4,
95 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_5 = 4,
96 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_6 = 4,
97 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_7 = 4,
98 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_DMAC = 6,
99 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_SMAC = 6,
100 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG = 8,
101 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP = 32,
102 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SRC = 16,
103 BNXT_ULP_ACT_PROP_SZ_ENCAP_UDP = 4,
104 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN = 32,
105 BNXT_ULP_ACT_PROP_SZ_LAST = 4
108 enum bnxt_ulp_act_prop_idx {
109 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ = 0,
110 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ = 4,
111 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ = 8,
112 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE = 12,
113 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_NUM = 16,
114 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE = 20,
115 BNXT_ULP_ACT_PROP_IDX_MPLS_POP_NUM = 24,
116 BNXT_ULP_ACT_PROP_IDX_MPLS_PUSH_NUM = 28,
117 BNXT_ULP_ACT_PROP_IDX_VNIC = 32,
118 BNXT_ULP_ACT_PROP_IDX_VPORT = 36,
119 BNXT_ULP_ACT_PROP_IDX_MARK = 40,
120 BNXT_ULP_ACT_PROP_IDX_COUNT = 44,
121 BNXT_ULP_ACT_PROP_IDX_METER = 48,
122 BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC = 52,
123 BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST = 60,
124 BNXT_ULP_ACT_PROP_IDX_OF_PUSH_VLAN = 68,
125 BNXT_ULP_ACT_PROP_IDX_OF_SET_VLAN_PCP = 72,
126 BNXT_ULP_ACT_PROP_IDX_OF_SET_VLAN_VID = 76,
127 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC = 80,
128 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST = 84,
129 BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC = 88,
130 BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST = 104,
131 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC = 120,
132 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST = 124,
133 BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_0 = 128,
134 BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_1 = 132,
135 BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_2 = 136,
136 BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_3 = 140,
137 BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_4 = 144,
138 BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_5 = 148,
139 BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_6 = 152,
140 BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_7 = 156,
141 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC = 160,
142 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC = 166,
143 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG = 172,
144 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP = 180,
145 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC = 212,
146 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP = 228,
147 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN = 232,
148 BNXT_ULP_ACT_PROP_IDX_LAST = 264
151 #endif /* _ULP_TEMPLATE_DB_H_ */