blob: 4e9d75348be28817739fb11b9150ac869236677e [file] [log] [blame]
Googler298baf22022-08-01 19:58:45 -07001/*
2 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
3 * Permission to use, copy, modify, and/or distribute this software for
4 * any purpose with or without fee is hereby granted, provided that the
5 * above copyright notice and this permission notice appear in all copies.
6 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
7 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
8 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
9 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
10 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
11 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
12 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
13 */
14
15
16
17#ifndef _ISISC_API_H_
18#define _ISISC_API_H_
19
20#ifdef __cplusplus
21extern "C" {
22#endif /* __cplusplus */
23
24#ifdef IN_PORTCONTROL
25#define PORTCONTROL_API \
26 SW_API_DEF(SW_API_PT_DUPLEX_GET, isisc_port_duplex_get), \
27 SW_API_DEF(SW_API_PT_DUPLEX_SET, isisc_port_duplex_set), \
28 SW_API_DEF(SW_API_PT_SPEED_GET, isisc_port_speed_get), \
29 SW_API_DEF(SW_API_PT_SPEED_SET, isisc_port_speed_set), \
30 SW_API_DEF(SW_API_PT_AN_GET, isisc_port_autoneg_status_get), \
31 SW_API_DEF(SW_API_PT_AN_ENABLE, isisc_port_autoneg_enable), \
32 SW_API_DEF(SW_API_PT_AN_RESTART, isisc_port_autoneg_restart), \
33 SW_API_DEF(SW_API_PT_AN_ADV_GET, isisc_port_autoneg_adv_get), \
34 SW_API_DEF(SW_API_PT_AN_ADV_SET, isisc_port_autoneg_adv_set), \
35 SW_API_DEF(SW_API_PT_FLOWCTRL_SET, isisc_port_flowctrl_set), \
36 SW_API_DEF(SW_API_PT_FLOWCTRL_GET, isisc_port_flowctrl_get), \
37 SW_API_DEF(SW_API_PT_FLOWCTRL_MODE_SET, isisc_port_flowctrl_forcemode_set), \
38 SW_API_DEF(SW_API_PT_FLOWCTRL_MODE_GET, isisc_port_flowctrl_forcemode_get), \
39 SW_API_DEF(SW_API_PT_POWERSAVE_SET, isisc_port_powersave_set), \
40 SW_API_DEF(SW_API_PT_POWERSAVE_GET, isisc_port_powersave_get), \
41 SW_API_DEF(SW_API_PT_HIBERNATE_SET, isisc_port_hibernate_set), \
42 SW_API_DEF(SW_API_PT_HIBERNATE_GET, isisc_port_hibernate_get), \
43 SW_API_DEF(SW_API_PT_CDT, isisc_port_cdt), \
44 SW_API_DEF(SW_API_PT_TXHDR_SET, isisc_port_txhdr_mode_set), \
45 SW_API_DEF(SW_API_PT_TXHDR_GET, isisc_port_txhdr_mode_get), \
46 SW_API_DEF(SW_API_PT_RXHDR_SET, isisc_port_rxhdr_mode_set), \
47 SW_API_DEF(SW_API_PT_RXHDR_GET, isisc_port_rxhdr_mode_get), \
48 SW_API_DEF(SW_API_HEADER_TYPE_SET, isisc_header_type_set), \
49 SW_API_DEF(SW_API_HEADER_TYPE_GET, isisc_header_type_get), \
50 SW_API_DEF(SW_API_TXMAC_STATUS_SET, isisc_port_txmac_status_set), \
51 SW_API_DEF(SW_API_TXMAC_STATUS_GET, isisc_port_txmac_status_get), \
52 SW_API_DEF(SW_API_RXMAC_STATUS_SET, isisc_port_rxmac_status_set), \
53 SW_API_DEF(SW_API_RXMAC_STATUS_GET, isisc_port_rxmac_status_get), \
54 SW_API_DEF(SW_API_TXFC_STATUS_SET, isisc_port_txfc_status_set), \
55 SW_API_DEF(SW_API_TXFC_STATUS_GET, isisc_port_txfc_status_get), \
56 SW_API_DEF(SW_API_RXFC_STATUS_SET, isisc_port_rxfc_status_set), \
57 SW_API_DEF(SW_API_RXFC_STATUS_GET, isisc_port_rxfc_status_get), \
58 SW_API_DEF(SW_API_BP_STATUS_SET, isisc_port_bp_status_set), \
59 SW_API_DEF(SW_API_BP_STATUS_GET, isisc_port_bp_status_get), \
60 SW_API_DEF(SW_API_PT_LINK_MODE_SET, isisc_port_link_forcemode_set), \
61 SW_API_DEF(SW_API_PT_LINK_MODE_GET, isisc_port_link_forcemode_get), \
62 SW_API_DEF(SW_API_PT_LINK_STATUS_GET, isisc_port_link_status_get), \
63 SW_API_DEF(SW_API_PT_MAC_LOOPBACK_SET, isisc_port_mac_loopback_set), \
64 SW_API_DEF(SW_API_PT_MAC_LOOPBACK_GET, isisc_port_mac_loopback_get), \
65 SW_API_DEF(SW_API_PT_8023AZ_SET, isisc_port_8023az_set), \
66 SW_API_DEF(SW_API_PT_8023AZ_GET, isisc_port_8023az_get),
67
68#define PORTCONTROL_API_PARAM \
69 SW_API_DESC(SW_API_PT_DUPLEX_GET) \
70 SW_API_DESC(SW_API_PT_DUPLEX_SET) \
71 SW_API_DESC(SW_API_PT_SPEED_GET) \
72 SW_API_DESC(SW_API_PT_SPEED_SET) \
73 SW_API_DESC(SW_API_PT_AN_GET) \
74 SW_API_DESC(SW_API_PT_AN_ENABLE) \
75 SW_API_DESC(SW_API_PT_AN_RESTART) \
76 SW_API_DESC(SW_API_PT_AN_ADV_GET) \
77 SW_API_DESC(SW_API_PT_AN_ADV_SET) \
78 SW_API_DESC(SW_API_PT_FLOWCTRL_SET) \
79 SW_API_DESC(SW_API_PT_FLOWCTRL_GET) \
80 SW_API_DESC(SW_API_PT_FLOWCTRL_MODE_SET) \
81 SW_API_DESC(SW_API_PT_FLOWCTRL_MODE_GET) \
82 SW_API_DESC(SW_API_PT_POWERSAVE_SET) \
83 SW_API_DESC(SW_API_PT_POWERSAVE_GET) \
84 SW_API_DESC(SW_API_PT_HIBERNATE_SET) \
85 SW_API_DESC(SW_API_PT_HIBERNATE_GET) \
86 SW_API_DESC(SW_API_PT_CDT) \
87 SW_API_DESC(SW_API_PT_TXHDR_SET) \
88 SW_API_DESC(SW_API_PT_TXHDR_GET) \
89 SW_API_DESC(SW_API_PT_RXHDR_SET) \
90 SW_API_DESC(SW_API_PT_RXHDR_GET) \
91 SW_API_DESC(SW_API_HEADER_TYPE_SET) \
92 SW_API_DESC(SW_API_HEADER_TYPE_GET) \
93 SW_API_DESC(SW_API_TXMAC_STATUS_SET) \
94 SW_API_DESC(SW_API_TXMAC_STATUS_GET) \
95 SW_API_DESC(SW_API_RXMAC_STATUS_SET) \
96 SW_API_DESC(SW_API_RXMAC_STATUS_GET) \
97 SW_API_DESC(SW_API_TXFC_STATUS_SET) \
98 SW_API_DESC(SW_API_TXFC_STATUS_GET) \
99 SW_API_DESC(SW_API_RXFC_STATUS_SET) \
100 SW_API_DESC(SW_API_RXFC_STATUS_GET) \
101 SW_API_DESC(SW_API_BP_STATUS_SET) \
102 SW_API_DESC(SW_API_BP_STATUS_GET) \
103 SW_API_DESC(SW_API_PT_LINK_MODE_SET) \
104 SW_API_DESC(SW_API_PT_LINK_MODE_GET) \
105 SW_API_DESC(SW_API_PT_LINK_STATUS_GET) \
106 SW_API_DESC(SW_API_PT_MAC_LOOPBACK_SET) \
107 SW_API_DESC(SW_API_PT_MAC_LOOPBACK_GET) \
108 SW_API_DESC(SW_API_PT_8023AZ_SET) \
109 SW_API_DESC(SW_API_PT_8023AZ_GET)
110#else
111#define PORTCONTROL_API
112#define PORTCONTROL_API_PARAM
113#endif
114
115#ifdef IN_VLAN
116#define VLAN_API \
117 SW_API_DEF(SW_API_VLAN_ADD, isisc_vlan_create), \
118 SW_API_DEF(SW_API_VLAN_DEL, isisc_vlan_delete), \
119 SW_API_DEF(SW_API_VLAN_FIND, isisc_vlan_find), \
120 SW_API_DEF(SW_API_VLAN_NEXT, isisc_vlan_next), \
121 SW_API_DEF(SW_API_VLAN_APPEND, isisc_vlan_entry_append), \
122 SW_API_DEF(SW_API_VLAN_FLUSH, isisc_vlan_flush), \
123 SW_API_DEF(SW_API_VLAN_FID_SET, isisc_vlan_fid_set), \
124 SW_API_DEF(SW_API_VLAN_FID_GET, isisc_vlan_fid_get), \
125 SW_API_DEF(SW_API_VLAN_MEMBER_ADD, isisc_vlan_member_add), \
126 SW_API_DEF(SW_API_VLAN_MEMBER_DEL, isisc_vlan_member_del), \
127 SW_API_DEF(SW_API_VLAN_LEARN_STATE_SET, isisc_vlan_learning_state_set), \
128 SW_API_DEF(SW_API_VLAN_LEARN_STATE_GET, isisc_vlan_learning_state_get),
129
130#define VLAN_API_PARAM \
131 SW_API_DESC(SW_API_VLAN_ADD) \
132 SW_API_DESC(SW_API_VLAN_DEL) \
133 SW_API_DESC(SW_API_VLAN_FIND) \
134 SW_API_DESC(SW_API_VLAN_NEXT) \
135 SW_API_DESC(SW_API_VLAN_APPEND) \
136 SW_API_DESC(SW_API_VLAN_FLUSH) \
137 SW_API_DESC(SW_API_VLAN_FID_SET) \
138 SW_API_DESC(SW_API_VLAN_FID_GET) \
139 SW_API_DESC(SW_API_VLAN_MEMBER_ADD) \
140 SW_API_DESC(SW_API_VLAN_MEMBER_DEL) \
141 SW_API_DESC(SW_API_VLAN_LEARN_STATE_SET) \
142 SW_API_DESC(SW_API_VLAN_LEARN_STATE_GET)
143#else
144#define VLAN_API
145#define VLAN_API_PARAM
146#endif
147
148#ifdef IN_PORTVLAN
149#define PORTVLAN_API \
150 SW_API_DEF(SW_API_PT_ING_MODE_GET, isisc_port_1qmode_get), \
151 SW_API_DEF(SW_API_PT_ING_MODE_SET, isisc_port_1qmode_set), \
152 SW_API_DEF(SW_API_PT_EG_MODE_GET, isisc_port_egvlanmode_get), \
153 SW_API_DEF(SW_API_PT_EG_MODE_SET, isisc_port_egvlanmode_set), \
154 SW_API_DEF(SW_API_PT_VLAN_MEM_ADD, isisc_portvlan_member_add), \
155 SW_API_DEF(SW_API_PT_VLAN_MEM_DEL, isisc_portvlan_member_del), \
156 SW_API_DEF(SW_API_PT_VLAN_MEM_UPDATE, isisc_portvlan_member_update), \
157 SW_API_DEF(SW_API_PT_VLAN_MEM_GET, isisc_portvlan_member_get), \
158 SW_API_DEF(SW_API_PT_FORCE_DEF_VID_SET, isisc_port_force_default_vid_set), \
159 SW_API_DEF(SW_API_PT_FORCE_DEF_VID_GET, isisc_port_force_default_vid_get), \
160 SW_API_DEF(SW_API_PT_FORCE_PORTVLAN_SET, isisc_port_force_portvlan_set), \
161 SW_API_DEF(SW_API_PT_FORCE_PORTVLAN_GET, isisc_port_force_portvlan_get), \
162 SW_API_DEF(SW_API_NESTVLAN_TPID_SET, isisc_nestvlan_tpid_set), \
163 SW_API_DEF(SW_API_NESTVLAN_TPID_GET, isisc_nestvlan_tpid_get), \
164 SW_API_DEF(SW_API_PT_IN_VLAN_MODE_SET, isisc_port_invlan_mode_set), \
165 SW_API_DEF(SW_API_PT_IN_VLAN_MODE_GET, isisc_port_invlan_mode_get), \
166 SW_API_DEF(SW_API_PT_TLS_SET, isisc_port_tls_set), \
167 SW_API_DEF(SW_API_PT_TLS_GET, isisc_port_tls_get), \
168 SW_API_DEF(SW_API_PT_PRI_PROPAGATION_SET, isisc_port_pri_propagation_set), \
169 SW_API_DEF(SW_API_PT_PRI_PROPAGATION_GET, isisc_port_pri_propagation_get), \
170 SW_API_DEF(SW_API_PT_DEF_SVID_SET, isisc_port_default_svid_set), \
171 SW_API_DEF(SW_API_PT_DEF_SVID_GET, isisc_port_default_svid_get), \
172 SW_API_DEF(SW_API_PT_DEF_CVID_SET, isisc_port_default_cvid_set), \
173 SW_API_DEF(SW_API_PT_DEF_CVID_GET, isisc_port_default_cvid_get), \
174 SW_API_DEF(SW_API_PT_VLAN_PROPAGATION_SET, isisc_port_vlan_propagation_set), \
175 SW_API_DEF(SW_API_PT_VLAN_PROPAGATION_GET, isisc_port_vlan_propagation_get), \
176 SW_API_DEF(SW_API_PT_VLAN_TRANS_ADD, isisc_port_vlan_trans_add), \
177 SW_API_DEF(SW_API_PT_VLAN_TRANS_DEL, isisc_port_vlan_trans_del), \
178 SW_API_DEF(SW_API_PT_VLAN_TRANS_GET, isisc_port_vlan_trans_get), \
179 SW_API_DEF(SW_API_QINQ_MODE_SET, isisc_qinq_mode_set), \
180 SW_API_DEF(SW_API_QINQ_MODE_GET, isisc_qinq_mode_get), \
181 SW_API_DEF(SW_API_PT_QINQ_ROLE_SET, isisc_port_qinq_role_set), \
182 SW_API_DEF(SW_API_PT_QINQ_ROLE_GET, isisc_port_qinq_role_get), \
183 SW_API_DEF(SW_API_PT_VLAN_TRANS_ITERATE, isisc_port_vlan_trans_iterate), \
184 SW_API_DEF(SW_API_PT_MAC_VLAN_XLT_SET, isisc_port_mac_vlan_xlt_set), \
185 SW_API_DEF(SW_API_PT_MAC_VLAN_XLT_GET, isisc_port_mac_vlan_xlt_get), \
186 SW_API_DEF(SW_API_NETISOLATE_SET, isisc_netisolate_set), \
187 SW_API_DEF(SW_API_NETISOLATE_GET, isisc_netisolate_get),\
188 SW_API_DEF(SW_API_EG_FLTR_BYPASS_EN_SET, isisc_eg_trans_filter_bypass_en_set), \
189 SW_API_DEF(SW_API_EG_FLTR_BYPASS_EN_GET, isisc_eg_trans_filter_bypass_en_get),
190
191
192#define PORTVLAN_API_PARAM \
193 SW_API_DESC(SW_API_PT_ING_MODE_GET) \
194 SW_API_DESC(SW_API_PT_ING_MODE_SET) \
195 SW_API_DESC(SW_API_PT_EG_MODE_GET) \
196 SW_API_DESC(SW_API_PT_EG_MODE_SET) \
197 SW_API_DESC(SW_API_PT_VLAN_MEM_ADD) \
198 SW_API_DESC(SW_API_PT_VLAN_MEM_DEL) \
199 SW_API_DESC(SW_API_PT_VLAN_MEM_UPDATE) \
200 SW_API_DESC(SW_API_PT_VLAN_MEM_GET) \
201 SW_API_DESC(SW_API_PT_FORCE_DEF_VID_SET) \
202 SW_API_DESC(SW_API_PT_FORCE_DEF_VID_GET) \
203 SW_API_DESC(SW_API_PT_FORCE_PORTVLAN_SET) \
204 SW_API_DESC(SW_API_PT_FORCE_PORTVLAN_GET) \
205 SW_API_DESC(SW_API_NESTVLAN_TPID_SET) \
206 SW_API_DESC(SW_API_NESTVLAN_TPID_GET) \
207 SW_API_DESC(SW_API_PT_IN_VLAN_MODE_SET) \
208 SW_API_DESC(SW_API_PT_IN_VLAN_MODE_GET) \
209 SW_API_DESC(SW_API_PT_TLS_SET) \
210 SW_API_DESC(SW_API_PT_TLS_GET) \
211 SW_API_DESC(SW_API_PT_PRI_PROPAGATION_SET) \
212 SW_API_DESC(SW_API_PT_PRI_PROPAGATION_GET) \
213 SW_API_DESC(SW_API_PT_DEF_SVID_SET) \
214 SW_API_DESC(SW_API_PT_DEF_SVID_GET) \
215 SW_API_DESC(SW_API_PT_DEF_CVID_SET) \
216 SW_API_DESC(SW_API_PT_DEF_CVID_GET) \
217 SW_API_DESC(SW_API_PT_VLAN_PROPAGATION_SET) \
218 SW_API_DESC(SW_API_PT_VLAN_PROPAGATION_GET) \
219 SW_API_DESC(SW_API_PT_VLAN_TRANS_ADD) \
220 SW_API_DESC(SW_API_PT_VLAN_TRANS_DEL) \
221 SW_API_DESC(SW_API_PT_VLAN_TRANS_GET) \
222 SW_API_DESC(SW_API_QINQ_MODE_SET) \
223 SW_API_DESC(SW_API_QINQ_MODE_GET) \
224 SW_API_DESC(SW_API_PT_QINQ_ROLE_SET) \
225 SW_API_DESC(SW_API_PT_QINQ_ROLE_GET) \
226 SW_API_DESC(SW_API_PT_VLAN_TRANS_ITERATE) \
227 SW_API_DESC(SW_API_PT_MAC_VLAN_XLT_SET) \
228 SW_API_DESC(SW_API_PT_MAC_VLAN_XLT_GET) \
229 SW_API_DESC(SW_API_NETISOLATE_SET) \
230 SW_API_DESC(SW_API_NETISOLATE_GET) \
231 SW_API_DESC(SW_API_EG_FLTR_BYPASS_EN_SET) \
232 SW_API_DESC(SW_API_EG_FLTR_BYPASS_EN_GET)
233
234#else
235#define PORTVLAN_API
236#define PORTVLAN_API_PARAM
237#endif
238
239#ifdef IN_FDB
240#define FDB_API \
241 SW_API_DEF(SW_API_FDB_ADD, isisc_fdb_add), \
242 SW_API_DEF(SW_API_FDB_DELALL, isisc_fdb_del_all), \
243 SW_API_DEF(SW_API_FDB_DELPORT,isisc_fdb_del_by_port), \
244 SW_API_DEF(SW_API_FDB_DELMAC, isisc_fdb_del_by_mac), \
245 SW_API_DEF(SW_API_FDB_FIND, isisc_fdb_find), \
246 SW_API_DEF(SW_API_FDB_EXTEND_NEXT, isisc_fdb_extend_next), \
247 SW_API_DEF(SW_API_FDB_EXTEND_FIRST, isisc_fdb_extend_first), \
248 SW_API_DEF(SW_API_FDB_TRANSFER, isisc_fdb_transfer), \
249 SW_API_DEF(SW_API_FDB_PT_LEARN_SET, isisc_fdb_port_learn_set), \
250 SW_API_DEF(SW_API_FDB_PT_LEARN_GET, isisc_fdb_port_learn_get), \
251 SW_API_DEF(SW_API_FDB_AGE_CTRL_SET, isisc_fdb_age_ctrl_set), \
252 SW_API_DEF(SW_API_FDB_AGE_CTRL_GET, isisc_fdb_age_ctrl_get), \
253 SW_API_DEF(SW_API_FDB_VLAN_IVL_SVL_SET, isisc_fdb_vlan_ivl_svl_set),\
254 SW_API_DEF(SW_API_FDB_VLAN_IVL_SVL_GET, isisc_fdb_vlan_ivl_svl_get),\
255 SW_API_DEF(SW_API_FDB_AGE_TIME_SET, isisc_fdb_age_time_set), \
256 SW_API_DEF(SW_API_FDB_AGE_TIME_GET, isisc_fdb_age_time_get), \
257 SW_API_DEF(SW_API_PT_FDB_LEARN_LIMIT_SET, isisc_port_fdb_learn_limit_set), \
258 SW_API_DEF(SW_API_PT_FDB_LEARN_LIMIT_GET, isisc_port_fdb_learn_limit_get), \
259 SW_API_DEF(SW_API_PT_FDB_LEARN_EXCEED_CMD_SET, isisc_port_fdb_learn_exceed_cmd_set), \
260 SW_API_DEF(SW_API_PT_FDB_LEARN_EXCEED_CMD_GET, isisc_port_fdb_learn_exceed_cmd_get), \
261 SW_API_DEF(SW_API_FDB_LEARN_LIMIT_SET, isisc_fdb_learn_limit_set), \
262 SW_API_DEF(SW_API_FDB_LEARN_LIMIT_GET, isisc_fdb_learn_limit_get), \
263 SW_API_DEF(SW_API_FDB_LEARN_EXCEED_CMD_SET, isisc_fdb_learn_exceed_cmd_set), \
264 SW_API_DEF(SW_API_FDB_LEARN_EXCEED_CMD_GET, isisc_fdb_learn_exceed_cmd_get), \
265 SW_API_DEF(SW_API_FDB_RESV_ADD, isisc_fdb_resv_add), \
266 SW_API_DEF(SW_API_FDB_RESV_DEL, isisc_fdb_resv_del), \
267 SW_API_DEF(SW_API_FDB_RESV_FIND, isisc_fdb_resv_find), \
268 SW_API_DEF(SW_API_FDB_RESV_ITERATE, isisc_fdb_resv_iterate), \
269 SW_API_DEF(SW_API_FDB_PT_LEARN_STATIC_SET, isisc_fdb_port_learn_static_set), \
270 SW_API_DEF(SW_API_FDB_PT_LEARN_STATIC_GET, isisc_fdb_port_learn_static_get), \
271 SW_API_DEF(SW_API_FDB_PORT_ADD, isisc_fdb_port_add), \
272 SW_API_DEF(SW_API_FDB_PORT_DEL, isisc_fdb_port_del),
273
274#define FDB_API_PARAM \
275 SW_API_DESC(SW_API_FDB_ADD) \
276 SW_API_DESC(SW_API_FDB_DELALL) \
277 SW_API_DESC(SW_API_FDB_DELPORT) \
278 SW_API_DESC(SW_API_FDB_DELMAC) \
279 SW_API_DESC(SW_API_FDB_FIND) \
280 SW_API_DESC(SW_API_FDB_EXTEND_NEXT) \
281 SW_API_DESC(SW_API_FDB_EXTEND_FIRST) \
282 SW_API_DESC(SW_API_FDB_TRANSFER) \
283 SW_API_DESC(SW_API_FDB_PT_LEARN_SET) \
284 SW_API_DESC(SW_API_FDB_PT_LEARN_GET) \
285 SW_API_DESC(SW_API_FDB_AGE_CTRL_SET) \
286 SW_API_DESC(SW_API_FDB_AGE_CTRL_GET) \
287 SW_API_DESC(SW_API_FDB_VLAN_IVL_SVL_SET) \
288 SW_API_DESC(SW_API_FDB_VLAN_IVL_SVL_GET) \
289 SW_API_DESC(SW_API_FDB_AGE_TIME_SET) \
290 SW_API_DESC(SW_API_FDB_AGE_TIME_GET) \
291 SW_API_DESC(SW_API_PT_FDB_LEARN_LIMIT_SET) \
292 SW_API_DESC(SW_API_PT_FDB_LEARN_LIMIT_GET) \
293 SW_API_DESC(SW_API_PT_FDB_LEARN_EXCEED_CMD_SET) \
294 SW_API_DESC(SW_API_PT_FDB_LEARN_EXCEED_CMD_GET) \
295 SW_API_DESC(SW_API_FDB_LEARN_LIMIT_SET) \
296 SW_API_DESC(SW_API_FDB_LEARN_LIMIT_GET) \
297 SW_API_DESC(SW_API_FDB_LEARN_EXCEED_CMD_SET) \
298 SW_API_DESC(SW_API_FDB_LEARN_EXCEED_CMD_GET) \
299 SW_API_DESC(SW_API_FDB_RESV_ADD) \
300 SW_API_DESC(SW_API_FDB_RESV_DEL) \
301 SW_API_DESC(SW_API_FDB_RESV_FIND) \
302 SW_API_DESC(SW_API_FDB_RESV_ITERATE) \
303 SW_API_DESC(SW_API_FDB_PT_LEARN_STATIC_SET) \
304 SW_API_DESC(SW_API_FDB_PT_LEARN_STATIC_GET) \
305 SW_API_DESC(SW_API_FDB_PORT_ADD) \
306 SW_API_DESC(SW_API_FDB_PORT_DEL)
307
308#else
309#define FDB_API
310#define FDB_API_PARAM
311#endif
312
313
314#ifdef IN_ACL
315#define ACL_API \
316 SW_API_DEF(SW_API_ACL_LIST_CREAT, isisc_acl_list_creat), \
317 SW_API_DEF(SW_API_ACL_LIST_DESTROY, isisc_acl_list_destroy), \
318 SW_API_DEF(SW_API_ACL_RULE_ADD, isisc_acl_rule_add), \
319 SW_API_DEF(SW_API_ACL_RULE_DELETE, isisc_acl_rule_delete), \
320 SW_API_DEF(SW_API_ACL_RULE_QUERY, isisc_acl_rule_query), \
321 SW_API_DEF(SW_API_ACL_LIST_BIND, isisc_acl_list_bind), \
322 SW_API_DEF(SW_API_ACL_LIST_UNBIND, isisc_acl_list_unbind), \
323 SW_API_DEF(SW_API_ACL_STATUS_SET, isisc_acl_status_set), \
324 SW_API_DEF(SW_API_ACL_STATUS_GET, isisc_acl_status_get), \
325 SW_API_DEF(SW_API_ACL_LIST_DUMP, isisc_acl_list_dump), \
326 SW_API_DEF(SW_API_ACL_RULE_DUMP, isisc_acl_rule_dump), \
327 SW_API_DEF(SW_API_ACL_PT_UDF_PROFILE_SET, isisc_acl_port_udf_profile_set), \
328 SW_API_DEF(SW_API_ACL_PT_UDF_PROFILE_GET, isisc_acl_port_udf_profile_get), \
329 SW_API_DEF(SW_API_ACL_RULE_ACTIVE, isisc_acl_rule_active), \
330 SW_API_DEF(SW_API_ACL_RULE_DEACTIVE, isisc_acl_rule_deactive),\
331 SW_API_DEF(SW_API_ACL_RULE_SRC_FILTER_STS_SET, isisc_acl_rule_src_filter_sts_set),\
332 SW_API_DEF(SW_API_ACL_RULE_SRC_FILTER_STS_GET, isisc_acl_rule_src_filter_sts_get), \
333 SW_API_DEF(SW_API_ACL_RULE_GET_OFFSET, isisc_acl_rule_get_offset),
334
335#define ACL_API_PARAM \
336 SW_API_DESC(SW_API_ACL_LIST_CREAT) \
337 SW_API_DESC(SW_API_ACL_LIST_DESTROY) \
338 SW_API_DESC(SW_API_ACL_RULE_ADD) \
339 SW_API_DESC(SW_API_ACL_RULE_DELETE) \
340 SW_API_DESC(SW_API_ACL_RULE_QUERY) \
341 SW_API_DESC(SW_API_ACL_LIST_BIND) \
342 SW_API_DESC(SW_API_ACL_LIST_UNBIND) \
343 SW_API_DESC(SW_API_ACL_STATUS_SET) \
344 SW_API_DESC(SW_API_ACL_STATUS_GET) \
345 SW_API_DESC(SW_API_ACL_LIST_DUMP) \
346 SW_API_DESC(SW_API_ACL_RULE_DUMP) \
347 SW_API_DESC(SW_API_ACL_PT_UDF_PROFILE_SET) \
348 SW_API_DESC(SW_API_ACL_PT_UDF_PROFILE_GET) \
349 SW_API_DESC(SW_API_ACL_RULE_ACTIVE) \
350 SW_API_DESC(SW_API_ACL_RULE_DEACTIVE) \
351 SW_API_DESC(SW_API_ACL_RULE_SRC_FILTER_STS_SET) \
352 SW_API_DESC(SW_API_ACL_RULE_SRC_FILTER_STS_GET)
353#else
354#define ACL_API
355#define ACL_API_PARAM
356#endif
357
358
359#ifdef IN_QOS
360#define QOS_API \
361 SW_API_DEF(SW_API_QOS_QU_TX_BUF_ST_SET, isisc_qos_queue_tx_buf_status_set), \
362 SW_API_DEF(SW_API_QOS_QU_TX_BUF_ST_GET, isisc_qos_queue_tx_buf_status_get), \
363 SW_API_DEF(SW_API_QOS_QU_TX_BUF_NR_SET, isisc_qos_queue_tx_buf_nr_set), \
364 SW_API_DEF(SW_API_QOS_QU_TX_BUF_NR_GET, isisc_qos_queue_tx_buf_nr_get), \
365 SW_API_DEF(SW_API_QOS_PT_TX_BUF_ST_SET, isisc_qos_port_tx_buf_status_set), \
366 SW_API_DEF(SW_API_QOS_PT_TX_BUF_ST_GET, isisc_qos_port_tx_buf_status_get), \
367 SW_API_DEF(SW_API_QOS_PT_RED_EN_SET, isisc_qos_port_red_en_set),\
368 SW_API_DEF(SW_API_QOS_PT_RED_EN_GET, isisc_qos_port_red_en_get),\
369 SW_API_DEF(SW_API_QOS_PT_TX_BUF_NR_SET, isisc_qos_port_tx_buf_nr_set), \
370 SW_API_DEF(SW_API_QOS_PT_TX_BUF_NR_GET, isisc_qos_port_tx_buf_nr_get), \
371 SW_API_DEF(SW_API_QOS_PT_RX_BUF_NR_SET, isisc_qos_port_rx_buf_nr_set), \
372 SW_API_DEF(SW_API_QOS_PT_RX_BUF_NR_GET, isisc_qos_port_rx_buf_nr_get), \
373 SW_API_DEF(SW_API_QOS_PT_MODE_SET, isisc_qos_port_mode_set), \
374 SW_API_DEF(SW_API_QOS_PT_MODE_GET, isisc_qos_port_mode_get), \
375 SW_API_DEF(SW_API_QOS_PT_MODE_PRI_SET, isisc_qos_port_mode_pri_set), \
376 SW_API_DEF(SW_API_QOS_PT_MODE_PRI_GET, isisc_qos_port_mode_pri_get), \
377 SW_API_DEF(SW_API_QOS_PORT_SCH_MODE_SET, isisc_qos_port_sch_mode_set), \
378 SW_API_DEF(SW_API_QOS_PORT_SCH_MODE_GET, isisc_qos_port_sch_mode_get), \
379 SW_API_DEF(SW_API_QOS_PT_DEF_SPRI_SET, isisc_qos_port_default_spri_set), \
380 SW_API_DEF(SW_API_QOS_PT_DEF_SPRI_GET, isisc_qos_port_default_spri_get), \
381 SW_API_DEF(SW_API_QOS_PT_DEF_CPRI_SET, isisc_qos_port_default_cpri_set), \
382 SW_API_DEF(SW_API_QOS_PT_DEF_CPRI_GET, isisc_qos_port_default_cpri_get), \
383 SW_API_DEF(SW_API_QOS_PT_FORCE_SPRI_ST_SET, isisc_qos_port_force_spri_status_set), \
384 SW_API_DEF(SW_API_QOS_PT_FORCE_SPRI_ST_GET, isisc_qos_port_force_spri_status_get), \
385 SW_API_DEF(SW_API_QOS_PT_FORCE_CPRI_ST_SET, isisc_qos_port_force_cpri_status_set), \
386 SW_API_DEF(SW_API_QOS_PT_FORCE_CPRI_ST_GET, isisc_qos_port_force_cpri_status_get), \
387 SW_API_DEF(SW_API_QOS_QUEUE_REMARK_SET, isisc_qos_queue_remark_table_set), \
388 SW_API_DEF(SW_API_QOS_QUEUE_REMARK_GET, isisc_qos_queue_remark_table_get),
389
390
391#define QOS_API_PARAM \
392 SW_API_DESC(SW_API_QOS_QU_TX_BUF_ST_SET) \
393 SW_API_DESC(SW_API_QOS_QU_TX_BUF_ST_GET) \
394 SW_API_DESC(SW_API_QOS_QU_TX_BUF_NR_SET) \
395 SW_API_DESC(SW_API_QOS_QU_TX_BUF_NR_GET) \
396 SW_API_DESC(SW_API_QOS_PT_TX_BUF_ST_SET) \
397 SW_API_DESC(SW_API_QOS_PT_TX_BUF_ST_GET) \
398 SW_API_DESC(SW_API_QOS_PT_RED_EN_SET) \
399 SW_API_DESC(SW_API_QOS_PT_RED_EN_GET) \
400 SW_API_DESC(SW_API_QOS_PT_TX_BUF_NR_SET) \
401 SW_API_DESC(SW_API_QOS_PT_TX_BUF_NR_GET) \
402 SW_API_DESC(SW_API_QOS_PT_RX_BUF_NR_SET) \
403 SW_API_DESC(SW_API_QOS_PT_RX_BUF_NR_GET) \
404 SW_API_DESC(SW_API_QOS_PT_MODE_SET) \
405 SW_API_DESC(SW_API_QOS_PT_MODE_GET) \
406 SW_API_DESC(SW_API_QOS_PT_MODE_PRI_SET) \
407 SW_API_DESC(SW_API_QOS_PT_MODE_PRI_GET) \
408 SW_API_DESC(SW_API_QOS_PORT_DEF_UP_SET) \
409 SW_API_DESC(SW_API_QOS_PORT_DEF_UP_GET) \
410 SW_API_DESC(SW_API_QOS_PORT_SCH_MODE_SET) \
411 SW_API_DESC(SW_API_QOS_PORT_SCH_MODE_GET) \
412 SW_API_DESC(SW_API_QOS_PT_DEF_SPRI_SET) \
413 SW_API_DESC(SW_API_QOS_PT_DEF_SPRI_GET) \
414 SW_API_DESC(SW_API_QOS_PT_DEF_CPRI_SET) \
415 SW_API_DESC(SW_API_QOS_PT_DEF_CPRI_GET) \
416 SW_API_DESC(SW_API_QOS_PT_FORCE_SPRI_ST_SET) \
417 SW_API_DESC(SW_API_QOS_PT_FORCE_SPRI_ST_GET) \
418 SW_API_DESC(SW_API_QOS_PT_FORCE_CPRI_ST_SET) \
419 SW_API_DESC(SW_API_QOS_PT_FORCE_CPRI_ST_GET) \
420 SW_API_DESC(SW_API_QOS_QUEUE_REMARK_SET) \
421 SW_API_DESC(SW_API_QOS_QUEUE_REMARK_GET)
422#else
423#define QOS_API
424#define QOS_API_PARAM
425#endif
426
427
428#ifdef IN_IGMP
429#define IGMP_API \
430 SW_API_DEF(SW_API_PT_IGMPS_MODE_SET, isisc_port_igmps_status_set), \
431 SW_API_DEF(SW_API_PT_IGMPS_MODE_GET, isisc_port_igmps_status_get), \
432 SW_API_DEF(SW_API_IGMP_MLD_CMD_SET, isisc_igmp_mld_cmd_set), \
433 SW_API_DEF(SW_API_IGMP_MLD_CMD_GET, isisc_igmp_mld_cmd_get), \
434 SW_API_DEF(SW_API_IGMP_PT_JOIN_SET, isisc_port_igmp_mld_join_set), \
435 SW_API_DEF(SW_API_IGMP_PT_JOIN_GET, isisc_port_igmp_mld_join_get), \
436 SW_API_DEF(SW_API_IGMP_PT_LEAVE_SET, isisc_port_igmp_mld_leave_set), \
437 SW_API_DEF(SW_API_IGMP_PT_LEAVE_GET, isisc_port_igmp_mld_leave_get), \
438 SW_API_DEF(SW_API_IGMP_RP_SET, isisc_igmp_mld_rp_set), \
439 SW_API_DEF(SW_API_IGMP_RP_GET, isisc_igmp_mld_rp_get), \
440 SW_API_DEF(SW_API_IGMP_ENTRY_CREAT_SET, isisc_igmp_mld_entry_creat_set), \
441 SW_API_DEF(SW_API_IGMP_ENTRY_CREAT_GET, isisc_igmp_mld_entry_creat_get), \
442 SW_API_DEF(SW_API_IGMP_ENTRY_STATIC_SET, isisc_igmp_mld_entry_static_set), \
443 SW_API_DEF(SW_API_IGMP_ENTRY_STATIC_GET, isisc_igmp_mld_entry_static_get), \
444 SW_API_DEF(SW_API_IGMP_ENTRY_LEAKY_SET, isisc_igmp_mld_entry_leaky_set), \
445 SW_API_DEF(SW_API_IGMP_ENTRY_LEAKY_GET, isisc_igmp_mld_entry_leaky_get), \
446 SW_API_DEF(SW_API_IGMP_ENTRY_V3_SET, isisc_igmp_mld_entry_v3_set), \
447 SW_API_DEF(SW_API_IGMP_ENTRY_V3_GET, isisc_igmp_mld_entry_v3_get), \
448 SW_API_DEF(SW_API_IGMP_ENTRY_QUEUE_SET, isisc_igmp_mld_entry_queue_set), \
449 SW_API_DEF(SW_API_IGMP_ENTRY_QUEUE_GET, isisc_igmp_mld_entry_queue_get), \
450 SW_API_DEF(SW_API_PT_IGMP_LEARN_LIMIT_SET, isisc_port_igmp_mld_learn_limit_set), \
451 SW_API_DEF(SW_API_PT_IGMP_LEARN_LIMIT_GET, isisc_port_igmp_mld_learn_limit_get), \
452 SW_API_DEF(SW_API_PT_IGMP_LEARN_EXCEED_CMD_SET, isisc_port_igmp_mld_learn_exceed_cmd_set), \
453 SW_API_DEF(SW_API_PT_IGMP_LEARN_EXCEED_CMD_GET, isisc_port_igmp_mld_learn_exceed_cmd_get), \
454 SW_API_DEF(SW_API_IGMP_SG_ENTRY_SET, isisc_igmp_sg_entry_set), \
455 SW_API_DEF(SW_API_IGMP_SG_ENTRY_CLEAR, isisc_igmp_sg_entry_clear), \
456 SW_API_DEF(SW_API_IGMP_SG_ENTRY_SHOW, isisc_igmp_sg_entry_show),
457
458#define IGMP_API_PARAM \
459 SW_API_DESC(SW_API_PT_IGMPS_MODE_SET) \
460 SW_API_DESC(SW_API_PT_IGMPS_MODE_GET) \
461 SW_API_DESC(SW_API_IGMP_MLD_CMD_SET) \
462 SW_API_DESC(SW_API_IGMP_MLD_CMD_GET) \
463 SW_API_DESC(SW_API_IGMP_PT_JOIN_SET) \
464 SW_API_DESC(SW_API_IGMP_PT_JOIN_GET) \
465 SW_API_DESC(SW_API_IGMP_PT_LEAVE_SET) \
466 SW_API_DESC(SW_API_IGMP_PT_LEAVE_GET) \
467 SW_API_DESC(SW_API_IGMP_RP_SET) \
468 SW_API_DESC(SW_API_IGMP_RP_GET) \
469 SW_API_DESC(SW_API_IGMP_ENTRY_CREAT_SET) \
470 SW_API_DESC(SW_API_IGMP_ENTRY_CREAT_GET) \
471 SW_API_DESC(SW_API_IGMP_ENTRY_STATIC_SET) \
472 SW_API_DESC(SW_API_IGMP_ENTRY_STATIC_GET) \
473 SW_API_DESC(SW_API_IGMP_ENTRY_LEAKY_SET) \
474 SW_API_DESC(SW_API_IGMP_ENTRY_LEAKY_GET) \
475 SW_API_DESC(SW_API_IGMP_ENTRY_V3_SET) \
476 SW_API_DESC(SW_API_IGMP_ENTRY_V3_GET) \
477 SW_API_DESC(SW_API_IGMP_ENTRY_QUEUE_SET) \
478 SW_API_DESC(SW_API_IGMP_ENTRY_QUEUE_GET) \
479 SW_API_DESC(SW_API_PT_IGMP_LEARN_LIMIT_SET) \
480 SW_API_DESC(SW_API_PT_IGMP_LEARN_LIMIT_GET) \
481 SW_API_DESC(SW_API_PT_IGMP_LEARN_EXCEED_CMD_SET) \
482 SW_API_DESC(SW_API_PT_IGMP_LEARN_EXCEED_CMD_GET) \
483 SW_API_DESC(SW_API_IGMP_SG_ENTRY_SET) \
484 SW_API_DESC(SW_API_IGMP_SG_ENTRY_CLEAR) \
485 SW_API_DESC(SW_API_IGMP_SG_ENTRY_SHOW)
486#else
487#define IGMP_API
488#define IGMP_API_PARAM
489#endif
490
491
492#ifdef IN_LEAKY
493#define LEAKY_API \
494 SW_API_DEF(SW_API_UC_LEAKY_MODE_SET, isisc_uc_leaky_mode_set), \
495 SW_API_DEF(SW_API_UC_LEAKY_MODE_GET, isisc_uc_leaky_mode_get), \
496 SW_API_DEF(SW_API_MC_LEAKY_MODE_SET, isisc_mc_leaky_mode_set), \
497 SW_API_DEF(SW_API_MC_LEAKY_MODE_GET, isisc_mc_leaky_mode_get), \
498 SW_API_DEF(SW_API_ARP_LEAKY_MODE_SET, isisc_port_arp_leaky_set), \
499 SW_API_DEF(SW_API_ARP_LEAKY_MODE_GET, isisc_port_arp_leaky_get), \
500 SW_API_DEF(SW_API_PT_UC_LEAKY_MODE_SET, isisc_port_uc_leaky_set), \
501 SW_API_DEF(SW_API_PT_UC_LEAKY_MODE_GET, isisc_port_uc_leaky_get), \
502 SW_API_DEF(SW_API_PT_MC_LEAKY_MODE_SET, isisc_port_mc_leaky_set), \
503 SW_API_DEF(SW_API_PT_MC_LEAKY_MODE_GET, isisc_port_mc_leaky_get),
504
505#define LEAKY_API_PARAM \
506 SW_API_DESC(SW_API_UC_LEAKY_MODE_SET) \
507 SW_API_DESC(SW_API_UC_LEAKY_MODE_GET) \
508 SW_API_DESC(SW_API_MC_LEAKY_MODE_SET) \
509 SW_API_DESC(SW_API_MC_LEAKY_MODE_GET) \
510 SW_API_DESC(SW_API_ARP_LEAKY_MODE_SET) \
511 SW_API_DESC(SW_API_ARP_LEAKY_MODE_GET) \
512 SW_API_DESC(SW_API_PT_UC_LEAKY_MODE_SET) \
513 SW_API_DESC(SW_API_PT_UC_LEAKY_MODE_GET) \
514 SW_API_DESC(SW_API_PT_MC_LEAKY_MODE_SET) \
515 SW_API_DESC(SW_API_PT_MC_LEAKY_MODE_GET)
516#else
517#define LEAKY_API
518#define LEAKY_API_PARAM
519#endif
520
521
522#ifdef IN_MIRROR
523#define MIRROR_API \
524 SW_API_DEF(SW_API_MIRROR_ANALY_PT_SET, isisc_mirr_analysis_port_set), \
525 SW_API_DEF(SW_API_MIRROR_ANALY_PT_GET, isisc_mirr_analysis_port_get), \
526 SW_API_DEF(SW_API_MIRROR_IN_PT_SET, isisc_mirr_port_in_set), \
527 SW_API_DEF(SW_API_MIRROR_IN_PT_GET, isisc_mirr_port_in_get), \
528 SW_API_DEF(SW_API_MIRROR_EG_PT_SET, isisc_mirr_port_eg_set), \
529 SW_API_DEF(SW_API_MIRROR_EG_PT_GET, isisc_mirr_port_eg_get),
530
531#define MIRROR_API_PARAM \
532 SW_API_DESC(SW_API_MIRROR_ANALY_PT_SET) \
533 SW_API_DESC(SW_API_MIRROR_ANALY_PT_GET) \
534 SW_API_DESC(SW_API_MIRROR_IN_PT_SET) \
535 SW_API_DESC(SW_API_MIRROR_IN_PT_GET) \
536 SW_API_DESC(SW_API_MIRROR_EG_PT_SET) \
537 SW_API_DESC(SW_API_MIRROR_EG_PT_GET)
538#else
539#define MIRROR_API
540#define MIRROR_API_PARAM
541#endif
542
543
544#ifdef IN_RATE
545#define RATE_API \
546 SW_API_DEF(SW_API_RATE_PORT_POLICER_SET, isisc_rate_port_policer_set), \
547 SW_API_DEF(SW_API_RATE_PORT_POLICER_GET, isisc_rate_port_policer_get), \
548 SW_API_DEF(SW_API_RATE_PORT_SHAPER_SET, isisc_rate_port_shaper_set), \
549 SW_API_DEF(SW_API_RATE_PORT_SHAPER_GET, isisc_rate_port_shaper_get), \
550 SW_API_DEF(SW_API_RATE_QUEUE_SHAPER_SET, isisc_rate_queue_shaper_set), \
551 SW_API_DEF(SW_API_RATE_QUEUE_SHAPER_GET, isisc_rate_queue_shaper_get), \
552 SW_API_DEF(SW_API_RATE_ACL_POLICER_SET, isisc_rate_acl_policer_set), \
553 SW_API_DEF(SW_API_RATE_ACL_POLICER_GET, isisc_rate_acl_policer_get), \
554 SW_API_DEF(SW_API_RATE_PT_ADDRATEBYTE_SET, isisc_rate_port_add_rate_byte_set), \
555 SW_API_DEF(SW_API_RATE_PT_ADDRATEBYTE_GET, isisc_rate_port_add_rate_byte_get), \
556 SW_API_DEF(SW_API_RATE_PT_GOL_FLOW_EN_SET, isisc_rate_port_gol_flow_en_set), \
557 SW_API_DEF(SW_API_RATE_PT_GOL_FLOW_EN_GET, isisc_rate_port_gol_flow_en_get),
558
559#define RATE_API_PARAM \
560 SW_API_DESC(SW_API_RATE_PORT_POLICER_SET) \
561 SW_API_DESC(SW_API_RATE_PORT_POLICER_GET) \
562 SW_API_DESC(SW_API_RATE_PORT_SHAPER_SET) \
563 SW_API_DESC(SW_API_RATE_PORT_SHAPER_GET) \
564 SW_API_DESC(SW_API_RATE_QUEUE_SHAPER_SET) \
565 SW_API_DESC(SW_API_RATE_QUEUE_SHAPER_GET) \
566 SW_API_DESC(SW_API_RATE_ACL_POLICER_SET) \
567 SW_API_DESC(SW_API_RATE_ACL_POLICER_GET) \
568 SW_API_DESC(SW_API_RATE_PT_ADDRATEBYTE_SET) \
569 SW_API_DESC(SW_API_RATE_PT_ADDRATEBYTE_GET) \
570 SW_API_DESC(SW_API_RATE_PT_GOL_FLOW_EN_SET) \
571 SW_API_DESC(SW_API_RATE_PT_GOL_FLOW_EN_GET)
572#else
573#define RATE_API
574#define RATE_API_PARAM
575#endif
576
577
578#ifdef IN_STP
579#define STP_API \
580 SW_API_DEF(SW_API_STP_PT_STATE_SET, isisc_stp_port_state_set), \
581 SW_API_DEF(SW_API_STP_PT_STATE_GET, isisc_stp_port_state_get),
582
583#define STP_API_PARAM \
584 SW_API_DESC(SW_API_STP_PT_STATE_SET) \
585 SW_API_DESC(SW_API_STP_PT_STATE_GET)
586#else
587#define STP_API
588#define STP_API_PARAM
589#endif
590
591
592#ifdef IN_MIB
593#define MIB_API \
594 SW_API_DEF(SW_API_PT_MIB_GET, isisc_get_mib_info), \
595 SW_API_DEF(SW_API_MIB_STATUS_SET, isisc_mib_status_set), \
596 SW_API_DEF(SW_API_MIB_STATUS_GET, isisc_mib_status_get), \
597 SW_API_DEF(SW_API_PT_MIB_FLUSH_COUNTERS, isisc_mib_port_flush_counters), \
598 SW_API_DEF(SW_API_MIB_CPU_KEEP_SET, isisc_mib_cpukeep_set), \
599 SW_API_DEF(SW_API_MIB_CPU_KEEP_GET, isisc_mib_cpukeep_get),
600
601
602#define MIB_API_PARAM \
603 SW_API_DESC(SW_API_PT_MIB_GET) \
604 SW_API_DESC(SW_API_MIB_STATUS_SET) \
605 SW_API_DESC(SW_API_MIB_STATUS_GET)\
606 SW_API_DESC(SW_API_PT_MIB_FLUSH_COUNTERS) \
607 SW_API_DESC(SW_API_MIB_CPU_KEEP_SET) \
608 SW_API_DESC(SW_API_MIB_CPU_KEEP_GET)
609#else
610#define MIB_API
611#define MIB_API_PARAM
612#endif
613
614
615#ifdef IN_MISC
616#define MISC_API \
617 SW_API_DEF(SW_API_FRAME_MAX_SIZE_SET, isisc_frame_max_size_set), \
618 SW_API_DEF(SW_API_FRAME_MAX_SIZE_GET, isisc_frame_max_size_get), \
619 SW_API_DEF(SW_API_PT_UNK_UC_FILTER_SET, isisc_port_unk_uc_filter_set), \
620 SW_API_DEF(SW_API_PT_UNK_UC_FILTER_GET, isisc_port_unk_uc_filter_get), \
621 SW_API_DEF(SW_API_PT_UNK_MC_FILTER_SET, isisc_port_unk_mc_filter_set), \
622 SW_API_DEF(SW_API_PT_UNK_MC_FILTER_GET, isisc_port_unk_mc_filter_get), \
623 SW_API_DEF(SW_API_PT_BC_FILTER_SET, isisc_port_bc_filter_set), \
624 SW_API_DEF(SW_API_PT_BC_FILTER_GET, isisc_port_bc_filter_get), \
625 SW_API_DEF(SW_API_CPU_PORT_STATUS_SET, isisc_cpu_port_status_set), \
626 SW_API_DEF(SW_API_CPU_PORT_STATUS_GET, isisc_cpu_port_status_get), \
627 SW_API_DEF(SW_API_PPPOE_CMD_SET, isisc_pppoe_cmd_set), \
628 SW_API_DEF(SW_API_PPPOE_CMD_GET, isisc_pppoe_cmd_get), \
629 SW_API_DEF(SW_API_PPPOE_STATUS_SET, isisc_pppoe_status_set), \
630 SW_API_DEF(SW_API_PPPOE_STATUS_GET, isisc_pppoe_status_get), \
631 SW_API_DEF(SW_API_PT_DHCP_SET, isisc_port_dhcp_set), \
632 SW_API_DEF(SW_API_PT_DHCP_GET, isisc_port_dhcp_get), \
633 SW_API_DEF(SW_API_ARP_CMD_SET, isisc_arp_cmd_set), \
634 SW_API_DEF(SW_API_ARP_CMD_GET, isisc_arp_cmd_get), \
635 SW_API_DEF(SW_API_EAPOL_CMD_SET, isisc_eapol_cmd_set), \
636 SW_API_DEF(SW_API_EAPOL_CMD_GET, isisc_eapol_cmd_get), \
637 SW_API_DEF(SW_API_EAPOL_STATUS_SET, isisc_eapol_status_set), \
638 SW_API_DEF(SW_API_EAPOL_STATUS_GET, isisc_eapol_status_get), \
639 SW_API_DEF(SW_API_RIPV1_STATUS_SET, isisc_ripv1_status_set), \
640 SW_API_DEF(SW_API_RIPV1_STATUS_GET, isisc_ripv1_status_get), \
641 SW_API_DEF(SW_API_PT_ARP_REQ_STATUS_SET, isisc_port_arp_req_status_set), \
642 SW_API_DEF(SW_API_PT_ARP_REQ_STATUS_GET, isisc_port_arp_req_status_get), \
643 SW_API_DEF(SW_API_PT_ARP_ACK_STATUS_SET, isisc_port_arp_ack_status_set), \
644 SW_API_DEF(SW_API_PT_ARP_ACK_STATUS_GET, isisc_port_arp_ack_status_get), \
645 SW_API_DEF(SW_API_PPPOE_SESSION_TABLE_ADD, isisc_pppoe_session_table_add), \
646 SW_API_DEF(SW_API_PPPOE_SESSION_TABLE_DEL, isisc_pppoe_session_table_del), \
647 SW_API_DEF(SW_API_PPPOE_SESSION_TABLE_GET, isisc_pppoe_session_table_get), \
648 SW_API_DEF(SW_API_PPPOE_SESSION_ID_SET, isisc_pppoe_session_id_set), \
649 SW_API_DEF(SW_API_PPPOE_SESSION_ID_GET, isisc_pppoe_session_id_get), \
650 SW_API_DEF(SW_API_INTR_MASK_SET, isisc_intr_mask_set), \
651 SW_API_DEF(SW_API_INTR_MASK_GET, isisc_intr_mask_get), \
652 SW_API_DEF(SW_API_INTR_STATUS_GET, isisc_intr_status_get), \
653 SW_API_DEF(SW_API_INTR_STATUS_CLEAR, isisc_intr_status_clear), \
654 SW_API_DEF(SW_API_INTR_PORT_LINK_MASK_SET, isisc_intr_port_link_mask_set), \
655 SW_API_DEF(SW_API_INTR_PORT_LINK_MASK_GET, isisc_intr_port_link_mask_get), \
656 SW_API_DEF(SW_API_INTR_PORT_LINK_STATUS_GET, isisc_intr_port_link_status_get),\
657 SW_API_DEF(SW_API_INTR_MASK_MAC_LINKCHG_SET, isisc_intr_mask_mac_linkchg_set), \
658 SW_API_DEF(SW_API_INTR_MASK_MAC_LINKCHG_GET, isisc_intr_mask_mac_linkchg_get), \
659 SW_API_DEF(SW_API_INTR_STATUS_MAC_LINKCHG_GET, isisc_intr_status_mac_linkchg_get), \
660 SW_API_DEF(SW_API_INTR_STATUS_MAC_LINKCHG_CLEAR, isisc_intr_status_mac_linkchg_clear), \
661 SW_API_DEF(SW_API_CPU_VID_EN_SET, isisc_cpu_vid_en_set), \
662 SW_API_DEF(SW_API_CPU_VID_EN_GET, isisc_cpu_vid_en_get), \
663 SW_API_DEF(SW_API_RTD_PPPOE_EN_SET, isisc_rtd_pppoe_en_set), \
664 SW_API_DEF(SW_API_RTD_PPPOE_EN_GET, isisc_rtd_pppoe_en_get),
665
666#define MISC_API_PARAM \
667 SW_API_DESC(SW_API_FRAME_MAX_SIZE_SET) \
668 SW_API_DESC(SW_API_FRAME_MAX_SIZE_GET) \
669 SW_API_DESC(SW_API_PT_UNK_UC_FILTER_SET) \
670 SW_API_DESC(SW_API_PT_UNK_UC_FILTER_GET) \
671 SW_API_DESC(SW_API_PT_UNK_MC_FILTER_SET) \
672 SW_API_DESC(SW_API_PT_UNK_MC_FILTER_GET) \
673 SW_API_DESC(SW_API_PT_BC_FILTER_SET) \
674 SW_API_DESC(SW_API_PT_BC_FILTER_GET) \
675 SW_API_DESC(SW_API_CPU_PORT_STATUS_SET) \
676 SW_API_DESC(SW_API_CPU_PORT_STATUS_GET) \
677 SW_API_DESC(SW_API_PPPOE_CMD_SET) \
678 SW_API_DESC(SW_API_PPPOE_CMD_GET) \
679 SW_API_DESC(SW_API_PPPOE_STATUS_SET) \
680 SW_API_DESC(SW_API_PPPOE_STATUS_GET) \
681 SW_API_DESC(SW_API_PT_DHCP_SET) \
682 SW_API_DESC(SW_API_PT_DHCP_GET) \
683 SW_API_DESC(SW_API_ARP_CMD_SET) \
684 SW_API_DESC(SW_API_ARP_CMD_GET) \
685 SW_API_DESC(SW_API_EAPOL_CMD_SET) \
686 SW_API_DESC(SW_API_EAPOL_CMD_GET) \
687 SW_API_DESC(SW_API_PPPOE_SESSION_ADD) \
688 SW_API_DESC(SW_API_PPPOE_SESSION_DEL) \
689 SW_API_DESC(SW_API_PPPOE_SESSION_GET) \
690 SW_API_DESC(SW_API_EAPOL_STATUS_SET) \
691 SW_API_DESC(SW_API_EAPOL_STATUS_GET) \
692 SW_API_DESC(SW_API_RIPV1_STATUS_SET) \
693 SW_API_DESC(SW_API_RIPV1_STATUS_GET) \
694 SW_API_DESC(SW_API_PT_ARP_REQ_STATUS_SET) \
695 SW_API_DESC(SW_API_PT_ARP_REQ_STATUS_GET) \
696 SW_API_DESC(SW_API_PT_ARP_ACK_STATUS_SET) \
697 SW_API_DESC(SW_API_PT_ARP_ACK_STATUS_GET) \
698 SW_API_DESC(SW_API_PPPOE_SESSION_TABLE_ADD) \
699 SW_API_DESC(SW_API_PPPOE_SESSION_TABLE_DEL) \
700 SW_API_DESC(SW_API_PPPOE_SESSION_TABLE_GET) \
701 SW_API_DESC(SW_API_PPPOE_SESSION_ID_SET) \
702 SW_API_DESC(SW_API_PPPOE_SESSION_ID_GET) \
703 SW_API_DESC(SW_API_INTR_MASK_SET) \
704 SW_API_DESC(SW_API_INTR_MASK_GET) \
705 SW_API_DESC(SW_API_INTR_STATUS_GET) \
706 SW_API_DESC(SW_API_INTR_STATUS_CLEAR) \
707 SW_API_DESC(SW_API_INTR_PORT_LINK_MASK_SET) \
708 SW_API_DESC(SW_API_INTR_PORT_LINK_MASK_GET) \
709 SW_API_DESC(SW_API_INTR_PORT_LINK_STATUS_GET) \
710 SW_API_DESC(SW_API_INTR_MASK_MAC_LINKCHG_SET) \
711 SW_API_DESC(SW_API_INTR_MASK_MAC_LINKCHG_GET) \
712 SW_API_DESC(SW_API_INTR_STATUS_MAC_LINKCHG_GET) \
713 SW_API_DESC(SW_API_INTR_STATUS_MAC_LINKCHG_CLEAR) \
714 SW_API_DESC(SW_API_CPU_VID_EN_SET) \
715 SW_API_DESC(SW_API_CPU_VID_EN_GET) \
716 SW_API_DESC(SW_API_RTD_PPPOE_EN_SET) \
717 SW_API_DESC(SW_API_RTD_PPPOE_EN_GET)
718
719#else
720#define MISC_API
721#define MISC_API_PARAM
722#endif
723
724
725#ifdef IN_LED
726#define LED_API \
727 SW_API_DEF(SW_API_LED_PATTERN_SET, isisc_led_ctrl_pattern_set), \
728 SW_API_DEF(SW_API_LED_PATTERN_GET, isisc_led_ctrl_pattern_get),
729
730#define LED_API_PARAM \
731 SW_API_DESC(SW_API_LED_PATTERN_SET) \
732 SW_API_DESC(SW_API_LED_PATTERN_GET)
733#else
734#define LED_API
735#define LED_API_PARAM
736#endif
737
738#ifdef IN_COSMAP
739#define COSMAP_API \
740 SW_API_DEF(SW_API_COSMAP_DSCP_TO_PRI_SET, isisc_cosmap_dscp_to_pri_set), \
741 SW_API_DEF(SW_API_COSMAP_DSCP_TO_PRI_GET, isisc_cosmap_dscp_to_pri_get), \
742 SW_API_DEF(SW_API_COSMAP_DSCP_TO_DP_SET, isisc_cosmap_dscp_to_dp_set), \
743 SW_API_DEF(SW_API_COSMAP_DSCP_TO_DP_GET, isisc_cosmap_dscp_to_dp_get), \
744 SW_API_DEF(SW_API_COSMAP_UP_TO_PRI_SET, isisc_cosmap_up_to_pri_set), \
745 SW_API_DEF(SW_API_COSMAP_UP_TO_PRI_GET, isisc_cosmap_up_to_pri_get), \
746 SW_API_DEF(SW_API_COSMAP_UP_TO_DP_SET, isisc_cosmap_up_to_dp_set), \
747 SW_API_DEF(SW_API_COSMAP_UP_TO_DP_GET, isisc_cosmap_up_to_dp_get), \
748 SW_API_DEF(SW_API_COSMAP_PRI_TO_QU_SET, isisc_cosmap_pri_to_queue_set), \
749 SW_API_DEF(SW_API_COSMAP_PRI_TO_QU_GET, isisc_cosmap_pri_to_queue_get), \
750 SW_API_DEF(SW_API_COSMAP_PRI_TO_EHQU_SET, isisc_cosmap_pri_to_ehqueue_set), \
751 SW_API_DEF(SW_API_COSMAP_PRI_TO_EHQU_GET, isisc_cosmap_pri_to_ehqueue_get), \
752 SW_API_DEF(SW_API_COSMAP_EG_REMARK_SET, isisc_cosmap_egress_remark_set), \
753 SW_API_DEF(SW_API_COSMAP_EG_REMARK_GET, isisc_cosmap_egress_remark_get),
754
755#define COSMAP_API_PARAM \
756 SW_API_DESC(SW_API_COSMAP_DSCP_TO_PRI_SET) \
757 SW_API_DESC(SW_API_COSMAP_DSCP_TO_PRI_GET) \
758 SW_API_DESC(SW_API_COSMAP_DSCP_TO_DP_SET) \
759 SW_API_DESC(SW_API_COSMAP_DSCP_TO_DP_GET) \
760 SW_API_DESC(SW_API_COSMAP_UP_TO_PRI_SET) \
761 SW_API_DESC(SW_API_COSMAP_UP_TO_PRI_GET) \
762 SW_API_DESC(SW_API_COSMAP_UP_TO_DP_SET) \
763 SW_API_DESC(SW_API_COSMAP_UP_TO_DP_GET) \
764 SW_API_DESC(SW_API_COSMAP_PRI_TO_QU_SET) \
765 SW_API_DESC(SW_API_COSMAP_PRI_TO_QU_GET) \
766 SW_API_DESC(SW_API_COSMAP_PRI_TO_EHQU_SET) \
767 SW_API_DESC(SW_API_COSMAP_PRI_TO_EHQU_GET) \
768 SW_API_DESC(SW_API_COSMAP_EG_REMARK_SET) \
769 SW_API_DESC(SW_API_COSMAP_EG_REMARK_GET)
770#else
771#define COSMAP_API
772#define COSMAP_API_PARAM
773#endif
774
775#ifdef IN_SEC
776#define SEC_API \
777 SW_API_DEF(SW_API_SEC_NORM_SET, isisc_sec_norm_item_set), \
778 SW_API_DEF(SW_API_SEC_NORM_GET, isisc_sec_norm_item_get), \
779 SW_API_DEF(SW_API_SEC_MAC_SET, isisc_sec_norm_item_set), \
780 SW_API_DEF(SW_API_SEC_MAC_GET, isisc_sec_norm_item_get), \
781 SW_API_DEF(SW_API_SEC_IP_SET, isisc_sec_norm_item_set), \
782 SW_API_DEF(SW_API_SEC_IP_GET, isisc_sec_norm_item_get), \
783 SW_API_DEF(SW_API_SEC_IP4_SET, isisc_sec_norm_item_set), \
784 SW_API_DEF(SW_API_SEC_IP4_GET, isisc_sec_norm_item_get), \
785 SW_API_DEF(SW_API_SEC_IP6_SET, isisc_sec_norm_item_set), \
786 SW_API_DEF(SW_API_SEC_IP6_GET, isisc_sec_norm_item_get), \
787 SW_API_DEF(SW_API_SEC_TCP_SET, isisc_sec_norm_item_set), \
788 SW_API_DEF(SW_API_SEC_TCP_GET, isisc_sec_norm_item_get), \
789 SW_API_DEF(SW_API_SEC_UDP_SET, isisc_sec_norm_item_set), \
790 SW_API_DEF(SW_API_SEC_UDP_GET, isisc_sec_norm_item_get), \
791 SW_API_DEF(SW_API_SEC_ICMP4_SET, isisc_sec_norm_item_set), \
792 SW_API_DEF(SW_API_SEC_ICMP4_GET, isisc_sec_norm_item_get), \
793 SW_API_DEF(SW_API_SEC_ICMP6_SET, isisc_sec_norm_item_set), \
794 SW_API_DEF(SW_API_SEC_ICMP6_GET, isisc_sec_norm_item_get),
795
796#define SEC_API_PARAM \
797 SW_API_DESC(SW_API_SEC_NORM_SET) \
798 SW_API_DESC(SW_API_SEC_NORM_GET) \
799 SW_API_DESC(SW_API_SEC_MAC_SET) \
800 SW_API_DESC(SW_API_SEC_MAC_GET) \
801 SW_API_DESC(SW_API_SEC_IP_SET) \
802 SW_API_DESC(SW_API_SEC_IP_GET) \
803 SW_API_DESC(SW_API_SEC_IP4_SET) \
804 SW_API_DESC(SW_API_SEC_IP4_GET) \
805 SW_API_DESC(SW_API_SEC_IP6_SET) \
806 SW_API_DESC(SW_API_SEC_IP6_GET) \
807 SW_API_DESC(SW_API_SEC_TCP_SET) \
808 SW_API_DESC(SW_API_SEC_TCP_GET) \
809 SW_API_DESC(SW_API_SEC_UDP_SET) \
810 SW_API_DESC(SW_API_SEC_UDP_GET) \
811 SW_API_DESC(SW_API_SEC_ICMP4_SET) \
812 SW_API_DESC(SW_API_SEC_ICMP4_GET) \
813 SW_API_DESC(SW_API_SEC_ICMP6_SET) \
814 SW_API_DESC(SW_API_SEC_ICMP6_GET)
815#else
816#define SEC_API
817#define SEC_API_PARAM
818#endif
819
820#ifdef IN_IP
821#define IP_API \
822 SW_API_DEF(SW_API_IP_HOST_ADD, isisc_ip_host_add), \
823 SW_API_DEF(SW_API_IP_HOST_DEL, isisc_ip_host_del), \
824 SW_API_DEF(SW_API_IP_HOST_GET, isisc_ip_host_get), \
825 SW_API_DEF(SW_API_IP_HOST_NEXT, isisc_ip_host_next), \
826 SW_API_DEF(SW_API_IP_HOST_COUNTER_BIND, isisc_ip_host_counter_bind), \
827 SW_API_DEF(SW_API_IP_HOST_PPPOE_BIND, isisc_ip_host_pppoe_bind), \
828 SW_API_DEF(SW_API_IP_PT_ARP_LEARN_SET, isisc_ip_pt_arp_learn_set), \
829 SW_API_DEF(SW_API_IP_PT_ARP_LEARN_GET, isisc_ip_pt_arp_learn_get), \
830 SW_API_DEF(SW_API_IP_ARP_LEARN_SET, isisc_ip_arp_learn_set), \
831 SW_API_DEF(SW_API_IP_ARP_LEARN_GET, isisc_ip_arp_learn_get), \
832 SW_API_DEF(SW_API_IP_SOURCE_GUARD_SET, isisc_ip_source_guard_set), \
833 SW_API_DEF(SW_API_IP_SOURCE_GUARD_GET, isisc_ip_source_guard_get), \
834 SW_API_DEF(SW_API_IP_ARP_GUARD_SET, isisc_ip_arp_guard_set), \
835 SW_API_DEF(SW_API_IP_ARP_GUARD_GET, isisc_ip_arp_guard_get), \
836 SW_API_DEF(SW_API_IP_ROUTE_STATUS_SET, isisc_ip_route_status_set), \
837 SW_API_DEF(SW_API_IP_ROUTE_STATUS_GET, isisc_ip_route_status_get), \
838 SW_API_DEF(SW_API_IP_INTF_ENTRY_ADD, isisc_ip_intf_entry_add), \
839 SW_API_DEF(SW_API_IP_INTF_ENTRY_DEL, isisc_ip_intf_entry_del), \
840 SW_API_DEF(SW_API_IP_INTF_ENTRY_NEXT, isisc_ip_intf_entry_next), \
841 SW_API_DEF(SW_API_IP_UNK_SOURCE_CMD_SET, isisc_ip_unk_source_cmd_set), \
842 SW_API_DEF(SW_API_IP_UNK_SOURCE_CMD_GET, isisc_ip_unk_source_cmd_get), \
843 SW_API_DEF(SW_API_ARP_UNK_SOURCE_CMD_SET, isisc_arp_unk_source_cmd_set), \
844 SW_API_DEF(SW_API_ARP_UNK_SOURCE_CMD_GET, isisc_arp_unk_source_cmd_get), \
845 SW_API_DEF(SW_API_IP_AGE_TIME_SET, isisc_ip_age_time_set), \
846 SW_API_DEF(SW_API_IP_AGE_TIME_GET, isisc_ip_age_time_get), \
847 SW_API_DEF(SW_API_WCMP_HASH_MODE_SET, isisc_ip_wcmp_hash_mode_set), \
848 SW_API_DEF(SW_API_WCMP_HASH_MODE_GET, isisc_ip_wcmp_hash_mode_get),
849
850#define IP_API_PARAM \
851 SW_API_DESC(SW_API_IP_HOST_ADD) \
852 SW_API_DESC(SW_API_IP_HOST_DEL) \
853 SW_API_DESC(SW_API_IP_HOST_GET) \
854 SW_API_DESC(SW_API_IP_HOST_NEXT) \
855 SW_API_DESC(SW_API_IP_HOST_COUNTER_BIND) \
856 SW_API_DESC(SW_API_IP_HOST_PPPOE_BIND) \
857 SW_API_DESC(SW_API_IP_PT_ARP_LEARN_SET) \
858 SW_API_DESC(SW_API_IP_PT_ARP_LEARN_GET) \
859 SW_API_DESC(SW_API_IP_ARP_LEARN_SET) \
860 SW_API_DESC(SW_API_IP_ARP_LEARN_GET) \
861 SW_API_DESC(SW_API_IP_SOURCE_GUARD_SET) \
862 SW_API_DESC(SW_API_IP_SOURCE_GUARD_GET) \
863 SW_API_DESC(SW_API_IP_ARP_GUARD_SET) \
864 SW_API_DESC(SW_API_IP_ARP_GUARD_GET) \
865 SW_API_DESC(SW_API_IP_ROUTE_STATUS_SET) \
866 SW_API_DESC(SW_API_IP_ROUTE_STATUS_GET) \
867 SW_API_DESC(SW_API_IP_INTF_ENTRY_ADD) \
868 SW_API_DESC(SW_API_IP_INTF_ENTRY_DEL) \
869 SW_API_DESC(SW_API_IP_INTF_ENTRY_NEXT) \
870 SW_API_DESC(SW_API_IP_UNK_SOURCE_CMD_SET) \
871 SW_API_DESC(SW_API_IP_UNK_SOURCE_CMD_GET) \
872 SW_API_DESC(SW_API_ARP_UNK_SOURCE_CMD_SET) \
873 SW_API_DESC(SW_API_ARP_UNK_SOURCE_CMD_GET) \
874 SW_API_DESC(SW_API_IP_AGE_TIME_SET) \
875 SW_API_DESC(SW_API_IP_AGE_TIME_GET) \
876 SW_API_DESC(SW_API_WCMP_HASH_MODE_SET) \
877 SW_API_DESC(SW_API_WCMP_HASH_MODE_GET)
878
879#else
880#define IP_API
881#define IP_API_PARAM
882#endif
883
884#ifdef IN_NAT
885#define NAT_API \
886 SW_API_DEF(SW_API_NAT_ADD, isisc_nat_add), \
887 SW_API_DEF(SW_API_NAT_DEL, isisc_nat_del), \
888 SW_API_DEF(SW_API_NAT_GET, isisc_nat_get), \
889 SW_API_DEF(SW_API_NAT_NEXT, isisc_nat_next), \
890 SW_API_DEF(SW_API_NAT_COUNTER_BIND, isisc_nat_counter_bind), \
891 SW_API_DEF(SW_API_NAPT_ADD, isisc_napt_add), \
892 SW_API_DEF(SW_API_NAPT_DEL, isisc_napt_del), \
893 SW_API_DEF(SW_API_NAPT_GET, isisc_napt_get), \
894 SW_API_DEF(SW_API_NAPT_NEXT, isisc_napt_next), \
895 SW_API_DEF(SW_API_NAPT_COUNTER_BIND, isisc_napt_counter_bind), \
896 SW_API_DEF(SW_API_NAT_STATUS_SET, isisc_nat_status_set), \
897 SW_API_DEF(SW_API_NAT_STATUS_GET, isisc_nat_status_get), \
898 SW_API_DEF(SW_API_NAT_HASH_MODE_SET, isisc_nat_hash_mode_set), \
899 SW_API_DEF(SW_API_NAT_HASH_MODE_GET, isisc_nat_hash_mode_get), \
900 SW_API_DEF(SW_API_NAPT_STATUS_SET, isisc_napt_status_set), \
901 SW_API_DEF(SW_API_NAPT_STATUS_GET, isisc_napt_status_get), \
902 SW_API_DEF(SW_API_NAPT_MODE_SET, isisc_napt_mode_set), \
903 SW_API_DEF(SW_API_NAPT_MODE_GET, isisc_napt_mode_get), \
904 SW_API_DEF(SW_API_PRV_BASE_ADDR_SET, isisc_nat_prv_base_addr_set), \
905 SW_API_DEF(SW_API_PRV_BASE_ADDR_GET, isisc_nat_prv_base_addr_get), \
906 SW_API_DEF(SW_API_PUB_ADDR_ENTRY_ADD, isisc_nat_pub_addr_add), \
907 SW_API_DEF(SW_API_PUB_ADDR_ENTRY_DEL, isisc_nat_pub_addr_del), \
908 SW_API_DEF(SW_API_PUB_ADDR_ENTRY_NEXT, isisc_nat_pub_addr_next), \
909 SW_API_DEF(SW_API_NAT_UNK_SESSION_CMD_SET, isisc_nat_unk_session_cmd_set), \
910 SW_API_DEF(SW_API_NAT_UNK_SESSION_CMD_GET, isisc_nat_unk_session_cmd_get), \
911 SW_API_DEF(SW_API_PRV_BASE_MASK_SET, isisc_nat_prv_base_mask_set), \
912 SW_API_DEF(SW_API_PRV_BASE_MASK_GET, isisc_nat_prv_base_mask_get), \
913 SW_API_DEF(SW_API_NAT_GLOBAL_SET, isisc_nat_global_set),
914
915#define NAT_API_PARAM \
916 SW_API_DESC(SW_API_NAT_ADD) \
917 SW_API_DESC(SW_API_NAT_DEL) \
918 SW_API_DESC(SW_API_NAT_GET) \
919 SW_API_DESC(SW_API_NAT_NEXT) \
920 SW_API_DESC(SW_API_NAT_COUNTER_BIND) \
921 SW_API_DESC(SW_API_NAPT_ADD) \
922 SW_API_DESC(SW_API_NAPT_DEL) \
923 SW_API_DESC(SW_API_NAPT_GET) \
924 SW_API_DESC(SW_API_NAPT_NEXT) \
925 SW_API_DESC(SW_API_NAPT_COUNTER_BIND) \
926 SW_API_DESC(SW_API_NAT_STATUS_SET) \
927 SW_API_DESC(SW_API_NAT_STATUS_GET) \
928 SW_API_DESC(SW_API_NAT_HASH_MODE_SET) \
929 SW_API_DESC(SW_API_NAT_HASH_MODE_GET) \
930 SW_API_DESC(SW_API_NAPT_STATUS_SET) \
931 SW_API_DESC(SW_API_NAPT_STATUS_GET) \
932 SW_API_DESC(SW_API_NAPT_MODE_SET) \
933 SW_API_DESC(SW_API_NAPT_MODE_GET) \
934 SW_API_DESC(SW_API_PRV_BASE_ADDR_SET) \
935 SW_API_DESC(SW_API_PRV_BASE_ADDR_GET) \
936 SW_API_DESC(SW_API_PUB_ADDR_ENTRY_ADD) \
937 SW_API_DESC(SW_API_PUB_ADDR_ENTRY_DEL) \
938 SW_API_DESC(SW_API_PUB_ADDR_ENTRY_NEXT) \
939 SW_API_DESC(SW_API_NAT_UNK_SESSION_CMD_SET) \
940 SW_API_DESC(SW_API_NAT_UNK_SESSION_CMD_GET) \
941 SW_API_DESC(SW_API_PRV_BASE_MASK_SET) \
942 SW_API_DESC(SW_API_PRV_BASE_MASK_GET) \
943 SW_API_DESC(SW_API_NAT_GLOBAL_SET)
944#else
945#define NAT_API
946#define NAT_API_PARAM
947#endif
948
949#ifdef IN_TRUNK
950#define TRUNK_API \
951 SW_API_DEF(SW_API_TRUNK_GROUP_SET, isisc_trunk_group_set), \
952 SW_API_DEF(SW_API_TRUNK_GROUP_GET, isisc_trunk_group_get), \
953 SW_API_DEF(SW_API_TRUNK_HASH_SET, isisc_trunk_hash_mode_set), \
954 SW_API_DEF(SW_API_TRUNK_HASH_GET, isisc_trunk_hash_mode_get), \
955 SW_API_DEF(SW_API_TRUNK_MAN_SA_SET, isisc_trunk_manipulate_sa_set), \
956 SW_API_DEF(SW_API_TRUNK_MAN_SA_GET, isisc_trunk_manipulate_sa_get),
957
958#define TRUNK_API_PARAM \
959 SW_API_DESC(SW_API_TRUNK_GROUP_SET) \
960 SW_API_DESC(SW_API_TRUNK_GROUP_GET) \
961 SW_API_DESC(SW_API_TRUNK_HASH_SET) \
962 SW_API_DESC(SW_API_TRUNK_HASH_GET) \
963 SW_API_DESC(SW_API_TRUNK_MAN_SA_SET)\
964 SW_API_DESC(SW_API_TRUNK_MAN_SA_GET)
965#else
966#define TRUNK_API
967#define TRUNK_API_PARAM
968#endif
969
970#ifdef IN_INTERFACECONTROL
971#define INTERFACECTRL_API \
972 SW_API_DEF(SW_API_MAC_MODE_SET, isisc_interface_mac_mode_set), \
973 SW_API_DEF(SW_API_MAC_MODE_GET, isisc_interface_mac_mode_get), \
974 SW_API_DEF(SW_API_PORT_3AZ_STATUS_SET, isisc_port_3az_status_set), \
975 SW_API_DEF(SW_API_PORT_3AZ_STATUS_GET, isisc_port_3az_status_get), \
976 SW_API_DEF(SW_API_PHY_MODE_SET, isisc_interface_phy_mode_set), \
977 SW_API_DEF(SW_API_PHY_MODE_GET, isisc_interface_phy_mode_get), \
978 SW_API_DEF(SW_API_FX100_CTRL_SET, isisc_interface_fx100_ctrl_set), \
979 SW_API_DEF(SW_API_FX100_CTRL_GET, isisc_interface_fx100_ctrl_get), \
980 SW_API_DEF(SW_API_FX100_STATUS_GET, isisc_interface_fx100_status_get), \
981 SW_API_DEF(SW_API_MAC06_EXCH_SET, isisc_interface_mac06_exch_set), \
982 SW_API_DEF(SW_API_MAC06_EXCH_GET, isisc_interface_mac06_exch_get),
983
984#define INTERFACECTRL_API_PARAM \
985 SW_API_DESC(SW_API_MAC_MODE_SET) \
986 SW_API_DESC(SW_API_MAC_MODE_GET) \
987 SW_API_DESC(SW_API_PORT_3AZ_STATUS_SET) \
988 SW_API_DESC(SW_API_PORT_3AZ_STATUS_GET) \
989 SW_API_DESC(SW_API_PHY_MODE_SET) \
990 SW_API_DESC(SW_API_PHY_MODE_GET) \
991 SW_API_DESC(SW_API_FX100_CTRL_SET) \
992 SW_API_DESC(SW_API_FX100_CTRL_GET) \
993 SW_API_DESC(SW_API_FX100_STATUS_GET) \
994 SW_API_DESC(SW_API_MAC06_EXCH_SET) \
995 SW_API_DESC(SW_API_MAC06_EXCH_GET)
996
997#else
998#define INTERFACECTRL_API
999#define INTERFACECTRL_API_PARAM
1000#endif
1001
1002#define REG_API \
1003 SW_API_DEF(SW_API_PHY_GET, isisc_phy_get), \
1004 SW_API_DEF(SW_API_PHY_SET, isisc_phy_set), \
1005 SW_API_DEF(SW_API_REG_GET, isisc_reg_get), \
1006 SW_API_DEF(SW_API_REG_SET, isisc_reg_set), \
1007 SW_API_DEF(SW_API_REG_FIELD_GET, isisc_reg_field_get), \
1008 SW_API_DEF(SW_API_REG_FIELD_SET, isisc_reg_field_set), \
1009 SW_API_DEF(SW_API_REG_DUMP, isisc_regsiter_dump), \
1010 SW_API_DEF(SW_API_DBG_REG_DUMP, isisc_debug_regsiter_dump),
1011
1012#define REG_API_PARAM \
1013 SW_API_DESC(SW_API_PHY_GET) \
1014 SW_API_DESC(SW_API_PHY_SET) \
1015 SW_API_DESC(SW_API_REG_GET) \
1016 SW_API_DESC(SW_API_REG_SET) \
1017 SW_API_DESC(SW_API_REG_FIELD_GET) \
1018 SW_API_DESC(SW_API_REG_FIELD_SET) \
1019 SW_API_DESC(SW_API_REG_DUMP) \
1020 SW_API_DESC(SW_API_DBG_REG_DUMP)
1021
1022#define SSDK_API \
1023 SW_API_DEF(SW_API_SWITCH_RESET, isisc_reset), \
1024 SW_API_DEF(SW_API_SSDK_CFG, hsl_ssdk_cfg), \
1025 PORTCONTROL_API \
1026 VLAN_API \
1027 PORTVLAN_API \
1028 FDB_API \
1029 ACL_API \
1030 QOS_API \
1031 IGMP_API \
1032 LEAKY_API \
1033 MIRROR_API \
1034 RATE_API \
1035 STP_API \
1036 MIB_API \
1037 MISC_API \
1038 LED_API \
1039 COSMAP_API \
1040 SEC_API \
1041 IP_API \
1042 NAT_API \
1043 TRUNK_API \
1044 INTERFACECTRL_API \
1045 REG_API \
1046 SW_API_DEF(SW_API_MAX, NULL),
1047
1048
1049#define SSDK_PARAM \
1050 SW_PARAM_DEF(SW_API_SWITCH_RESET, SW_UINT32, 4, SW_PARAM_IN, "Dev ID"), \
1051 SW_PARAM_DEF(SW_API_SSDK_CFG, SW_UINT32, 4, SW_PARAM_IN, "Dev ID"), \
1052 SW_PARAM_DEF(SW_API_SSDK_CFG, SW_SSDK_CFG, sizeof(ssdk_cfg_t), SW_PARAM_PTR|SW_PARAM_OUT, "ssdk configuration"), \
1053 MIB_API_PARAM \
1054 LEAKY_API_PARAM \
1055 MISC_API_PARAM \
1056 IGMP_API_PARAM \
1057 MIRROR_API_PARAM \
1058 PORTCONTROL_API_PARAM \
1059 PORTVLAN_API_PARAM \
1060 VLAN_API_PARAM \
1061 FDB_API_PARAM \
1062 QOS_API_PARAM \
1063 RATE_API_PARAM \
1064 STP_API_PARAM \
1065 ACL_API_PARAM \
1066 LED_API_PARAM \
1067 COSMAP_API_PARAM \
1068 SEC_API_PARAM \
1069 IP_API_PARAM \
1070 NAT_API_PARAM \
1071 TRUNK_API_PARAM \
1072 INTERFACECTRL_API_PARAM \
1073 REG_API_PARAM \
1074 SW_PARAM_DEF(SW_API_MAX, SW_UINT32, 4, SW_PARAM_IN, "Dev ID"),
1075
1076#if (defined(USER_MODE) && defined(KERNEL_MODULE))
1077#undef SSDK_API
1078#undef SSDK_PARAM
1079
1080#define SSDK_API \
1081 REG_API \
1082 SW_API_DEF(SW_API_MAX, NULL),
1083
1084#define SSDK_PARAM \
1085 REG_API_PARAM \
1086 SW_PARAM_DEF(SW_API_MAX, SW_UINT32, 4, SW_PARAM_IN, "Dev ID"),
1087#endif
1088
1089#ifdef __cplusplus
1090}
1091#endif /* __cplusplus */
1092
1093#endif /* _ISISC_API_H_ */