e52cc3f90798f73c963068731a5fb84dac7eff3a
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_db.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2014-2019 Broadcom
3  * All rights reserved.
4  */
5
6 /*
7  * date: Mon Mar  9 02:37:53 2020
8  * version: 0.0
9  */
10
11 #ifndef ULP_TEMPLATE_DB_H_
12 #define ULP_TEMPLATE_DB_H_
13
14 #define BNXT_ULP_MAX_NUM_DEVICES 4
15
16 enum bnxt_ulp_byte_order {
17         BNXT_ULP_BYTE_ORDER_BE,
18         BNXT_ULP_BYTE_ORDER_LE,
19         BNXT_ULP_BYTE_ORDER_LAST
20 };
21
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
28 };
29
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
36 };
37
38 enum bnxt_ulp_regfile_index {
39         BNXT_ULP_REGFILE_INDEX_LAST
40 };
41
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
49 };
50
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
57 };
58
59 enum bnxt_ulp_sym {
60         BNXT_ULP_SYM_DECAP_FUNC_NONE = 0,
61         BNXT_ULP_SYM_LITTLE_ENDIAN = 1,
62         BNXT_ULP_SYM_YES = 1
63 };
64
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
106 };
107
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
149 };
150
151 #endif /* _ULP_TEMPLATE_DB_H_ */