• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/char/rtl8365mb/
1  /*
2 * Copyright (C) 2013 Realtek Semiconductor Corp.
3 * All Rights Reserved.
4 *
5 * This program is the proprietary software of Realtek Semiconductor
6 * Corporation and/or its licensors, and only be used, duplicated,
7 * modified or distributed under the authorized license from Realtek.
8 *
9 * ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
10 * THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
11 *
12 * Purpose : RTL8367/RTL8367C switch high-level API
13 *
14 * Feature : The file includes Trap module high-layer API defination
15 *
16 */
17
18#ifndef __RTK_API_TRAP_H__
19#define __RTK_API_TRAP_H__
20
21
22typedef enum rtk_trap_type_e
23{
24    TRAP_BRG_GROUP = 0,
25    TRAP_FD_PAUSE,
26    TRAP_SP_MCAST,
27    TRAP_1X_PAE,
28    TRAP_UNDEF_BRG_04,
29    TRAP_UNDEF_BRG_05,
30    TRAP_UNDEF_BRG_06,
31    TRAP_UNDEF_BRG_07,
32    TRAP_PROVIDER_BRIDGE_GROUP_ADDRESS,
33    TRAP_UNDEF_BRG_09,
34    TRAP_UNDEF_BRG_0A,
35    TRAP_UNDEF_BRG_0B,
36    TRAP_UNDEF_BRG_0C,
37    TRAP_PROVIDER_BRIDGE_GVRP_ADDRESS,
38    TRAP_8021AB,
39    TRAP_UNDEF_BRG_0F,
40    TRAP_BRG_MNGEMENT,
41    TRAP_UNDEFINED_11,
42    TRAP_UNDEFINED_12,
43    TRAP_UNDEFINED_13,
44    TRAP_UNDEFINED_14,
45    TRAP_UNDEFINED_15,
46    TRAP_UNDEFINED_16,
47    TRAP_UNDEFINED_17,
48    TRAP_UNDEFINED_18,
49    TRAP_UNDEFINED_19,
50    TRAP_UNDEFINED_1A,
51    TRAP_UNDEFINED_1B,
52    TRAP_UNDEFINED_1C,
53    TRAP_UNDEFINED_1D,
54    TRAP_UNDEFINED_1E,
55    TRAP_UNDEFINED_1F,
56    TRAP_GMRP,
57    TRAP_GVRP,
58    TRAP_UNDEF_GARP_22,
59    TRAP_UNDEF_GARP_23,
60    TRAP_UNDEF_GARP_24,
61    TRAP_UNDEF_GARP_25,
62    TRAP_UNDEF_GARP_26,
63    TRAP_UNDEF_GARP_27,
64    TRAP_UNDEF_GARP_28,
65    TRAP_UNDEF_GARP_29,
66    TRAP_UNDEF_GARP_2A,
67    TRAP_UNDEF_GARP_2B,
68    TRAP_UNDEF_GARP_2C,
69    TRAP_UNDEF_GARP_2D,
70    TRAP_UNDEF_GARP_2E,
71    TRAP_UNDEF_GARP_2F,
72    TRAP_CDP,
73    TRAP_CSSTP,
74    TRAP_LLDP,
75    TRAP_END,
76}rtk_trap_type_t;
77
78
79typedef enum rtk_mcast_type_e
80{
81    MCAST_L2 = 0,
82    MCAST_IPV4,
83    MCAST_IPV6,
84    MCAST_END
85} rtk_mcast_type_t;
86
87typedef enum rtk_trap_mcast_action_e
88{
89    MCAST_ACTION_FORWARD = 0,
90    MCAST_ACTION_DROP,
91    MCAST_ACTION_TRAP2CPU,
92    MCAST_ACTION_ROUTER_PORT,
93    MCAST_ACTION_DROP_EX_RMA,
94    MCAST_ACTION_END
95} rtk_trap_mcast_action_t;
96
97typedef enum rtk_trap_rma_action_e
98{
99    RMA_ACTION_FORWARD = 0,
100    RMA_ACTION_TRAP2CPU,
101    RMA_ACTION_DROP,
102    RMA_ACTION_FORWARD_EXCLUDE_CPU,
103    RMA_ACTION_END
104} rtk_trap_rma_action_t;
105
106typedef enum rtk_trap_ucast_action_e
107{
108    UCAST_ACTION_FORWARD_PMASK = 0,
109    UCAST_ACTION_DROP,
110    UCAST_ACTION_TRAP2CPU,
111    UCAST_ACTION_FLOODING,
112    UCAST_ACTION_END
113} rtk_trap_ucast_action_t;
114
115typedef enum rtk_trap_ucast_type_e
116{
117    UCAST_UNKNOWNDA = 0,
118    UCAST_UNKNOWNSA,
119    UCAST_UNMATCHSA,
120    UCAST_END
121} rtk_trap_ucast_type_t;
122
123typedef enum rtk_trap_reason_type_e
124{
125    TRAP_REASON_RMA = 0,
126    TRAP_REASON_OAM,
127    TRAP_REASON_1XUNAUTH,
128    TRAP_REASON_VLANSTACK,
129    TRAP_REASON_UNKNOWNMC,
130    TRAP_REASON_END,
131} rtk_trap_reason_type_t;
132
133
134/* Function Name:
135 *      rtk_trap_unknownUnicastPktAction_set
136 * Description:
137 *      Set unknown unicast packet action configuration.
138 * Input:
139 *      port            - ingress port ID for unknown unicast packet
140 *      ucast_action    - Unknown unicast action.
141 * Output:
142 *      None
143 * Return:
144 *      RT_ERR_OK                  - OK
145 *      RT_ERR_FAILED              - Failed
146 *      RT_ERR_SMI                 - SMI access error
147 *      RT_ERR_NOT_ALLOWED         - Invalid action.
148 *      RT_ERR_INPUT               - Invalid input parameters.
149 * Note:
150 *      This API can set unknown unicast packet action configuration.
151 *      The unknown unicast action is as following:
152 *          - UCAST_ACTION_FORWARD_PMASK
153 *          - UCAST_ACTION_DROP
154 *          - UCAST_ACTION_TRAP2CPU
155 *          - UCAST_ACTION_FLOODING
156 */
157rtk_api_ret_t rtk_trap_unknownUnicastPktAction_set(rtk_port_t port, rtk_trap_ucast_action_t ucast_action);
158
159/* Function Name:
160 *      rtk_trap_unknownUnicastPktAction_get
161 * Description:
162 *      Get unknown unicast packet action configuration.
163 * Input:
164 *      port            - ingress port ID for unknown unicast packet
165 * Output:
166 *      pUcast_action   - Unknown unicast action.
167 * Return:
168 *      RT_ERR_OK                  - OK
169 *      RT_ERR_FAILED              - Failed
170 *      RT_ERR_SMI                 - SMI access error
171 *      RT_ERR_NOT_ALLOWED         - Invalid action.
172 *      RT_ERR_INPUT               - Invalid input parameters.
173 *      RT_ERR_NULL_POINTER        - Null pointer
174 * Note:
175 *      This API can get unknown unicast packet action configuration.
176 *      The unknown unicast action is as following:
177 *          - UCAST_ACTION_FORWARD_PMASK
178 *          - UCAST_ACTION_DROP
179 *          - UCAST_ACTION_TRAP2CPU
180 *          - UCAST_ACTION_FLOODING
181 */
182rtk_api_ret_t rtk_trap_unknownUnicastPktAction_get(rtk_port_t port, rtk_trap_ucast_action_t *pUcast_action);
183
184/* Function Name:
185 *      rtk_trap_unknownMacPktAction_set
186 * Description:
187 *      Set unknown source MAC packet action configuration.
188 * Input:
189 *      ucast_action    - Unknown source MAC action.
190 * Output:
191 *      None
192 * Return:
193 *      RT_ERR_OK                  - OK
194 *      RT_ERR_FAILED              - Failed
195 *      RT_ERR_SMI                 - SMI access error
196 *      RT_ERR_NOT_ALLOWED         - Invalid action.
197 *      RT_ERR_INPUT               - Invalid input parameters.
198 * Note:
199 *      This API can set unknown unicast packet action configuration.
200 *      The unknown unicast action is as following:
201 *          - UCAST_ACTION_FORWARD_PMASK
202 *          - UCAST_ACTION_DROP
203 *          - UCAST_ACTION_TRAP2CPU
204 */
205extern rtk_api_ret_t rtk_trap_unknownMacPktAction_set(rtk_trap_ucast_action_t ucast_action);
206
207/* Function Name:
208 *      rtk_trap_unknownMacPktAction_get
209 * Description:
210 *      Get unknown source MAC packet action configuration.
211 * Input:
212 *      None.
213 * Output:
214 *      pUcast_action   - Unknown source MAC action.
215 * Return:
216 *      RT_ERR_OK                  - OK
217 *      RT_ERR_FAILED              - Failed
218 *      RT_ERR_SMI                 - SMI access error
219 *      RT_ERR_NULL_POINTER        - Null Pointer.
220 *      RT_ERR_INPUT               - Invalid input parameters.
221 * Note:
222 *
223 */
224extern rtk_api_ret_t rtk_trap_unknownMacPktAction_get(rtk_trap_ucast_action_t *pUcast_action);
225
226/* Function Name:
227 *      rtk_trap_unmatchMacPktAction_set
228 * Description:
229 *      Set unmatch source MAC packet action configuration.
230 * Input:
231 *      ucast_action    - Unknown source MAC action.
232 * Output:
233 *      None
234 * Return:
235 *      RT_ERR_OK                  - OK
236 *      RT_ERR_FAILED              - Failed
237 *      RT_ERR_SMI                 - SMI access error
238 *      RT_ERR_NOT_ALLOWED         - Invalid action.
239 *      RT_ERR_INPUT               - Invalid input parameters.
240 * Note:
241 *      This API can set unknown unicast packet action configuration.
242 *      The unknown unicast action is as following:
243 *          - UCAST_ACTION_FORWARD_PMASK
244 *          - UCAST_ACTION_DROP
245 *          - UCAST_ACTION_TRAP2CPU
246 */
247extern rtk_api_ret_t rtk_trap_unmatchMacPktAction_set(rtk_trap_ucast_action_t ucast_action);
248
249/* Function Name:
250 *      rtk_trap_unmatchMacPktAction_get
251 * Description:
252 *      Get unmatch source MAC packet action configuration.
253 * Input:
254 *      None.
255 * Output:
256 *      pUcast_action   - Unknown source MAC action.
257 * Return:
258 *      RT_ERR_OK                  - OK
259 *      RT_ERR_FAILED              - Failed
260 *      RT_ERR_SMI                 - SMI access error
261 *      RT_ERR_NOT_ALLOWED         - Invalid action.
262 *      RT_ERR_INPUT               - Invalid input parameters.
263 * Note:
264 *      This API can set unknown unicast packet action configuration.
265 *      The unknown unicast action is as following:
266 *          - UCAST_ACTION_FORWARD_PMASK
267 *          - UCAST_ACTION_DROP
268 *          - UCAST_ACTION_TRAP2CPU
269 */
270extern rtk_api_ret_t rtk_trap_unmatchMacPktAction_get(rtk_trap_ucast_action_t *pUcast_action);
271
272/* Function Name:
273 *      rtk_trap_unmatchMacMoving_set
274 * Description:
275 *      Set unmatch source MAC packet moving state.
276 * Input:
277 *      port        - Port ID.
278 *      enable      - ENABLED: allow SA moving, DISABLE: don't allow SA moving.
279 * Output:
280 *      None
281 * Return:
282 *      RT_ERR_OK                  - OK
283 *      RT_ERR_FAILED              - Failed
284 *      RT_ERR_SMI                 - SMI access error
285 *      RT_ERR_NOT_ALLOWED         - Invalid action.
286 *      RT_ERR_INPUT               - Invalid input parameters.
287 * Note:
288 */
289extern rtk_api_ret_t rtk_trap_unmatchMacMoving_set(rtk_port_t port, rtk_enable_t enable);
290
291/* Function Name:
292 *      rtk_trap_unmatchMacMoving_get
293 * Description:
294 *      Set unmatch source MAC packet moving state.
295 * Input:
296 *      port        - Port ID.
297 * Output:
298 *      pEnable     - ENABLED: allow SA moving, DISABLE: don't allow SA moving.
299 * Return:
300 *      RT_ERR_OK                  - OK
301 *      RT_ERR_FAILED              - Failed
302 *      RT_ERR_SMI                 - SMI access error
303 *      RT_ERR_NOT_ALLOWED         - Invalid action.
304 *      RT_ERR_INPUT               - Invalid input parameters.
305 * Note:
306 */
307extern rtk_api_ret_t rtk_trap_unmatchMacMoving_get(rtk_port_t port, rtk_enable_t *pEnable);
308
309/* Function Name:
310 *      rtk_trap_unknownMcastPktAction_set
311 * Description:
312 *      Set behavior of unknown multicast
313 * Input:
314 *      port            - Port id.
315 *      type            - unknown multicast packet type.
316 *      mcast_action    - unknown multicast action.
317 * Output:
318 *      None
319 * Return:
320 *      RT_ERR_OK           - OK
321 *      RT_ERR_FAILED       - Failed
322 *      RT_ERR_SMI          - SMI access error
323 *      RT_ERR_PORT_ID 		- Invalid port number.
324 *      RT_ERR_NOT_ALLOWED 	- Invalid action.
325 *      RT_ERR_INPUT 		- Invalid input parameters.
326 * Note:
327 *      When receives an unknown multicast packet, switch may trap, drop or flood this packet
328 *      (1) The unknown multicast packet type is as following:
329 *          - MCAST_L2
330 *          - MCAST_IPV4
331 *          - MCAST_IPV6
332 *      (2) The unknown multicast action is as following:
333 *          - MCAST_ACTION_FORWARD
334 *          - MCAST_ACTION_DROP
335 *          - MCAST_ACTION_TRAP2CPU
336 */
337extern rtk_api_ret_t rtk_trap_unknownMcastPktAction_set(rtk_port_t port, rtk_mcast_type_t type, rtk_trap_mcast_action_t mcast_action);
338
339/* Function Name:
340 *      rtk_trap_unknownMcastPktAction_get
341 * Description:
342 *      Get behavior of unknown multicast
343 * Input:
344 *      type - unknown multicast packet type.
345 * Output:
346 *      pMcast_action - unknown multicast action.
347 * Return:
348 *      RT_ERR_OK              	- OK
349 *      RT_ERR_FAILED          	- Failed
350 *      RT_ERR_SMI             	- SMI access error
351 *      RT_ERR_PORT_ID 			- Invalid port number.
352 *      RT_ERR_NOT_ALLOWED 		- Invalid operation.
353 *      RT_ERR_INPUT 			- Invalid input parameters.
354 * Note:
355 *      When receives an unknown multicast packet, switch may trap, drop or flood this packet
356 *      (1) The unknown multicast packet type is as following:
357 *          - MCAST_L2
358 *          - MCAST_IPV4
359 *          - MCAST_IPV6
360 *      (2) The unknown multicast action is as following:
361 *          - MCAST_ACTION_FORWARD
362 *          - MCAST_ACTION_DROP
363 *          - MCAST_ACTION_TRAP2CPU
364 */
365extern rtk_api_ret_t rtk_trap_unknownMcastPktAction_get(rtk_port_t port, rtk_mcast_type_t type, rtk_trap_mcast_action_t *pMcast_action);
366
367/* Function Name:
368 *      rtk_trap_lldpEnable_set
369 * Description:
370 *      Set LLDP enable.
371 * Input:
372 *      enabled - LLDP enable, 0: follow RMA, 1: use LLDP action.
373 * Output:
374 *      None
375 * Return:
376 *      RT_ERR_OK              	- OK
377 *      RT_ERR_FAILED          	- Failed
378 *      RT_ERR_SMI             	- SMI access error
379 *      RT_ERR_NOT_ALLOWED 		- Invalid action.
380 *      RT_ERR_INPUT 			- Invalid input parameters.
381 * Note:
382 *      - DMAC                                                 Assignment
383 *      - 01:80:c2:00:00:0e ethertype = 0x88CC    LLDP
384 *      - 01:80:c2:00:00:03 ethertype = 0x88CC
385 *      - 01:80:c2:00:00:00 ethertype = 0x88CC
386
387 */
388extern rtk_api_ret_t rtk_trap_lldpEnable_set(rtk_enable_t enabled);
389
390/* Function Name:
391 *      rtk_trap_lldpEnable_get
392 * Description:
393 *      Get LLDP status.
394 * Input:
395 *      None
396 * Output:
397 *      pEnabled - LLDP enable, 0: follow RMA, 1: use LLDP action.
398 * Return:
399 *      RT_ERR_OK           - OK
400 *      RT_ERR_FAILED       - Failed
401 *      RT_ERR_SMI          - SMI access error
402 *      RT_ERR_INPUT 		- Invalid input parameters.
403 * Note:
404 *      LLDP is as following definition.
405 *      - DMAC                                                 Assignment
406 *      - 01:80:c2:00:00:0e ethertype = 0x88CC    LLDP
407 *      - 01:80:c2:00:00:03 ethertype = 0x88CC
408 *      - 01:80:c2:00:00:00 ethertype = 0x88CC
409 */
410extern rtk_api_ret_t rtk_trap_lldpEnable_get(rtk_enable_t *pEnabled);
411
412/* Function Name:
413 *      rtk_trap_reasonTrapToCpuPriority_set
414 * Description:
415 *      Set priority value of a packet that trapped to CPU port according to specific reason.
416 * Input:
417 *      type     - reason that trap to CPU port.
418 *      priority - internal priority that is going to be set for specific trap reason.
419 * Output:
420 *      None.
421 * Return:
422 *      RT_ERR_OK
423 *      RT_ERR_FAILED
424 *      RT_ERR_NOT_INIT - The module is not initial
425 *      RT_ERR_INPUT    - Invalid input parameter
426 * Note:
427 *      Currently the trap reason that supported are listed as follows:
428 *      - TRAP_REASON_RMA
429 *      - TRAP_REASON_OAM
430 *      - TRAP_REASON_1XUNAUTH
431 *      - TRAP_REASON_VLANSTACK
432 *      - TRAP_REASON_UNKNOWNMC
433 */
434extern rtk_api_ret_t rtk_trap_reasonTrapToCpuPriority_set(rtk_trap_reason_type_t type, rtk_pri_t priority);
435
436/* Function Name:
437 *      rtk_trap_reasonTrapToCpuPriority_get
438 * Description:
439 *      Get priority value of a packet that trapped to CPU port according to specific reason.
440 * Input:
441 *      type      - reason that trap to CPU port.
442 * Output:
443 *      pPriority - configured internal priority for such reason.
444 * Return:
445 *      RT_ERR_OK
446 *      RT_ERR_FAILED
447 *      RT_ERR_NOT_INIT     - The module is not initial
448 *      RT_ERR_INPUT        - Invalid input parameter
449 *      RT_ERR_NULL_POINTER - NULL pointer
450 * Note:
451 *      Currently the trap reason that supported are listed as follows:
452 *      - TRAP_REASON_RMA
453 *      - TRAP_REASON_OAM
454 *      - TRAP_REASON_1XUNAUTH
455 *      - TRAP_REASON_VLANSTACK
456 *      - TRAP_REASON_UNKNOWNMC
457 */
458extern rtk_api_ret_t rtk_trap_reasonTrapToCpuPriority_get(rtk_trap_reason_type_t type, rtk_pri_t *pPriority);
459
460/* Function Name:
461 *      rtk_trap_rmaAction_set
462 * Description:
463 *      Set Reserved multicast address action configuration.
464 * Input:
465 *      type    - rma type.
466 *      rma_action - RMA action.
467 * Output:
468 *      None
469 * Return:
470 *      RT_ERR_OK           - OK
471 *      RT_ERR_FAILED       - Failed
472 *      RT_ERR_SMI          - SMI access error
473 *      RT_ERR_INPUT 		- Invalid input parameters.
474 *      RT_ERR_ENABLE 		- Invalid IFG parameter
475 * Note:
476 *
477 *      There are 48 types of Reserved Multicast Address frame for application usage.
478 *      (1)They are as following definition.
479 *      - TRAP_BRG_GROUP,
480 *      - TRAP_FD_PAUSE,
481 *      - TRAP_SP_MCAST,
482 *      - TRAP_1X_PAE,
483 *      - TRAP_UNDEF_BRG_04,
484 *      - TRAP_UNDEF_BRG_05,
485 *      - TRAP_UNDEF_BRG_06,
486 *      - TRAP_UNDEF_BRG_07,
487 *      - TRAP_PROVIDER_BRIDGE_GROUP_ADDRESS,
488 *      - TRAP_UNDEF_BRG_09,
489 *      - TRAP_UNDEF_BRG_0A,
490 *      - TRAP_UNDEF_BRG_0B,
491 *      - TRAP_UNDEF_BRG_0C,
492 *      - TRAP_PROVIDER_BRIDGE_GVRP_ADDRESS,
493 *      - TRAP_8021AB,
494 *      - TRAP_UNDEF_BRG_0F,
495 *      - TRAP_BRG_MNGEMENT,
496 *      - TRAP_UNDEFINED_11,
497 *      - TRAP_UNDEFINED_12,
498 *      - TRAP_UNDEFINED_13,
499 *      - TRAP_UNDEFINED_14,
500 *      - TRAP_UNDEFINED_15,
501 *      - TRAP_UNDEFINED_16,
502 *      - TRAP_UNDEFINED_17,
503 *      - TRAP_UNDEFINED_18,
504 *      - TRAP_UNDEFINED_19,
505 *      - TRAP_UNDEFINED_1A,
506 *      - TRAP_UNDEFINED_1B,
507 *      - TRAP_UNDEFINED_1C,
508 *      - TRAP_UNDEFINED_1D,
509 *      - TRAP_UNDEFINED_1E,
510 *      - TRAP_UNDEFINED_1F,
511 *      - TRAP_GMRP,
512 *      - TRAP_GVRP,
513 *      - TRAP_UNDEF_GARP_22,
514 *      - TRAP_UNDEF_GARP_23,
515 *      - TRAP_UNDEF_GARP_24,
516 *      - TRAP_UNDEF_GARP_25,
517 *      - TRAP_UNDEF_GARP_26,
518 *      - TRAP_UNDEF_GARP_27,
519 *      - TRAP_UNDEF_GARP_28,
520 *      - TRAP_UNDEF_GARP_29,
521 *      - TRAP_UNDEF_GARP_2A,
522 *      - TRAP_UNDEF_GARP_2B,
523 *      - TRAP_UNDEF_GARP_2C,
524 *      - TRAP_UNDEF_GARP_2D,
525 *      - TRAP_UNDEF_GARP_2E,
526 *      - TRAP_UNDEF_GARP_2F,
527 *      - TRAP_CDP.
528 *      - TRAP_CSSTP.
529 *      - TRAP_LLDP.
530 *      (2) The RMA action is as following:
531 *      - RMA_ACTION_FORWARD
532 *      - RMA_ACTION_TRAP2CPU
533 *      - RMA_ACTION_DROP
534 *      - RMA_ACTION_FORWARD_EXCLUDE_CPU
535 */
536extern rtk_api_ret_t rtk_trap_rmaAction_set(rtk_trap_type_t type, rtk_trap_rma_action_t rma_action);
537
538/* Function Name:
539 *      rtk_trap_rmaAction_get
540 * Description:
541 *      Get Reserved multicast address action configuration.
542 * Input:
543 *      type - rma type.
544 * Output:
545 *      pRma_action - RMA action.
546 * Return:
547 *      RT_ERR_OK           - OK
548 *      RT_ERR_FAILED       - Failed
549 *      RT_ERR_SMI          - SMI access error
550 *      RT_ERR_INPUT 		- Invalid input parameters.
551 * Note:
552 *      There are 48 types of Reserved Multicast Address frame for application usage.
553 *      (1)They are as following definition.
554 *      - TRAP_BRG_GROUP,
555 *      - TRAP_FD_PAUSE,
556 *      - TRAP_SP_MCAST,
557 *      - TRAP_1X_PAE,
558 *      - TRAP_UNDEF_BRG_04,
559 *      - TRAP_UNDEF_BRG_05,
560 *      - TRAP_UNDEF_BRG_06,
561 *      - TRAP_UNDEF_BRG_07,
562 *      - TRAP_PROVIDER_BRIDGE_GROUP_ADDRESS,
563 *      - TRAP_UNDEF_BRG_09,
564 *      - TRAP_UNDEF_BRG_0A,
565 *      - TRAP_UNDEF_BRG_0B,
566 *      - TRAP_UNDEF_BRG_0C,
567 *      - TRAP_PROVIDER_BRIDGE_GVRP_ADDRESS,
568 *      - TRAP_8021AB,
569 *      - TRAP_UNDEF_BRG_0F,
570 *      - TRAP_BRG_MNGEMENT,
571 *      - TRAP_UNDEFINED_11,
572 *      - TRAP_UNDEFINED_12,
573 *      - TRAP_UNDEFINED_13,
574 *      - TRAP_UNDEFINED_14,
575 *      - TRAP_UNDEFINED_15,
576 *      - TRAP_UNDEFINED_16,
577 *      - TRAP_UNDEFINED_17,
578 *      - TRAP_UNDEFINED_18,
579 *      - TRAP_UNDEFINED_19,
580 *      - TRAP_UNDEFINED_1A,
581 *      - TRAP_UNDEFINED_1B,
582 *      - TRAP_UNDEFINED_1C,
583 *      - TRAP_UNDEFINED_1D,
584 *      - TRAP_UNDEFINED_1E,
585 *      - TRAP_UNDEFINED_1F,
586 *      - TRAP_GMRP,
587 *      - TRAP_GVRP,
588 *      - TRAP_UNDEF_GARP_22,
589 *      - TRAP_UNDEF_GARP_23,
590 *      - TRAP_UNDEF_GARP_24,
591 *      - TRAP_UNDEF_GARP_25,
592 *      - TRAP_UNDEF_GARP_26,
593 *      - TRAP_UNDEF_GARP_27,
594 *      - TRAP_UNDEF_GARP_28,
595 *      - TRAP_UNDEF_GARP_29,
596 *      - TRAP_UNDEF_GARP_2A,
597 *      - TRAP_UNDEF_GARP_2B,
598 *      - TRAP_UNDEF_GARP_2C,
599 *      - TRAP_UNDEF_GARP_2D,
600 *      - TRAP_UNDEF_GARP_2E,
601 *      - TRAP_UNDEF_GARP_2F,
602 *      - TRAP_CDP.
603 *      - TRAP_CSSTP.
604 *      - TRAP_LLDP.
605 *      (2) The RMA action is as following:
606 *      - RMA_ACTION_FORWARD
607 *      - RMA_ACTION_TRAP2CPU
608 *      - RMA_ACTION_DROP
609 *      - RMA_ACTION_FORWARD_EXCLUDE_CPU
610 */
611extern rtk_api_ret_t rtk_trap_rmaAction_get(rtk_trap_type_t type, rtk_trap_rma_action_t *pRma_action);
612
613/* Function Name:
614 *      rtk_trap_rmaKeepFormat_set
615 * Description:
616 *      Set Reserved multicast address keep format configuration.
617 * Input:
618 *      type    - rma type.
619 *      enable - enable keep format.
620 * Output:
621 *      None
622 * Return:
623 *      RT_ERR_OK           - OK
624 *      RT_ERR_FAILED       - Failed
625 *      RT_ERR_SMI          - SMI access error
626 *      RT_ERR_INPUT 		- Invalid input parameters.
627 *      RT_ERR_ENABLE 		- Invalid IFG parameter
628 * Note:
629 *
630 *      There are 48 types of Reserved Multicast Address frame for application usage.
631 *      They are as following definition.
632 *      - TRAP_BRG_GROUP,
633 *      - TRAP_FD_PAUSE,
634 *      - TRAP_SP_MCAST,
635 *      - TRAP_1X_PAE,
636 *      - TRAP_UNDEF_BRG_04,
637 *      - TRAP_UNDEF_BRG_05,
638 *      - TRAP_UNDEF_BRG_06,
639 *      - TRAP_UNDEF_BRG_07,
640 *      - TRAP_PROVIDER_BRIDGE_GROUP_ADDRESS,
641 *      - TRAP_UNDEF_BRG_09,
642 *      - TRAP_UNDEF_BRG_0A,
643 *      - TRAP_UNDEF_BRG_0B,
644 *      - TRAP_UNDEF_BRG_0C,
645 *      - TRAP_PROVIDER_BRIDGE_GVRP_ADDRESS,
646 *      - TRAP_8021AB,
647 *      - TRAP_UNDEF_BRG_0F,
648 *      - TRAP_BRG_MNGEMENT,
649 *      - TRAP_UNDEFINED_11,
650 *      - TRAP_UNDEFINED_12,
651 *      - TRAP_UNDEFINED_13,
652 *      - TRAP_UNDEFINED_14,
653 *      - TRAP_UNDEFINED_15,
654 *      - TRAP_UNDEFINED_16,
655 *      - TRAP_UNDEFINED_17,
656 *      - TRAP_UNDEFINED_18,
657 *      - TRAP_UNDEFINED_19,
658 *      - TRAP_UNDEFINED_1A,
659 *      - TRAP_UNDEFINED_1B,
660 *      - TRAP_UNDEFINED_1C,
661 *      - TRAP_UNDEFINED_1D,
662 *      - TRAP_UNDEFINED_1E,
663 *      - TRAP_UNDEFINED_1F,
664 *      - TRAP_GMRP,
665 *      - TRAP_GVRP,
666 *      - TRAP_UNDEF_GARP_22,
667 *      - TRAP_UNDEF_GARP_23,
668 *      - TRAP_UNDEF_GARP_24,
669 *      - TRAP_UNDEF_GARP_25,
670 *      - TRAP_UNDEF_GARP_26,
671 *      - TRAP_UNDEF_GARP_27,
672 *      - TRAP_UNDEF_GARP_28,
673 *      - TRAP_UNDEF_GARP_29,
674 *      - TRAP_UNDEF_GARP_2A,
675 *      - TRAP_UNDEF_GARP_2B,
676 *      - TRAP_UNDEF_GARP_2C,
677 *      - TRAP_UNDEF_GARP_2D,
678 *      - TRAP_UNDEF_GARP_2E,
679 *      - TRAP_UNDEF_GARP_2F,
680 *      - TRAP_CDP.
681 *      - TRAP_CSSTP.
682 *      - TRAP_LLDP.
683 */
684extern rtk_api_ret_t rtk_trap_rmaKeepFormat_set(rtk_trap_type_t type, rtk_enable_t enable);
685
686/* Function Name:
687 *      rtk_trap_rmaKeepFormat_get
688 * Description:
689 *      Get Reserved multicast address action configuration.
690 * Input:
691 *      type - rma type.
692 * Output:
693 *      pEnable - keep format status.
694 * Return:
695 *      RT_ERR_OK           - OK
696 *      RT_ERR_FAILED       - Failed
697 *      RT_ERR_SMI          - SMI access error
698 *      RT_ERR_INPUT 		- Invalid input parameters.
699 * Note:
700 *      There are 48 types of Reserved Multicast Address frame for application usage.
701 *      They are as following definition.
702 *      - TRAP_BRG_GROUP,
703 *      - TRAP_FD_PAUSE,
704 *      - TRAP_SP_MCAST,
705 *      - TRAP_1X_PAE,
706 *      - TRAP_UNDEF_BRG_04,
707 *      - TRAP_UNDEF_BRG_05,
708 *      - TRAP_UNDEF_BRG_06,
709 *      - TRAP_UNDEF_BRG_07,
710 *      - TRAP_PROVIDER_BRIDGE_GROUP_ADDRESS,
711 *      - TRAP_UNDEF_BRG_09,
712 *      - TRAP_UNDEF_BRG_0A,
713 *      - TRAP_UNDEF_BRG_0B,
714 *      - TRAP_UNDEF_BRG_0C,
715 *      - TRAP_PROVIDER_BRIDGE_GVRP_ADDRESS,
716 *      - TRAP_8021AB,
717 *      - TRAP_UNDEF_BRG_0F,
718 *      - TRAP_BRG_MNGEMENT,
719 *      - TRAP_UNDEFINED_11,
720 *      - TRAP_UNDEFINED_12,
721 *      - TRAP_UNDEFINED_13,
722 *      - TRAP_UNDEFINED_14,
723 *      - TRAP_UNDEFINED_15,
724 *      - TRAP_UNDEFINED_16,
725 *      - TRAP_UNDEFINED_17,
726 *      - TRAP_UNDEFINED_18,
727 *      - TRAP_UNDEFINED_19,
728 *      - TRAP_UNDEFINED_1A,
729 *      - TRAP_UNDEFINED_1B,
730 *      - TRAP_UNDEFINED_1C,
731 *      - TRAP_UNDEFINED_1D,
732 *      - TRAP_UNDEFINED_1E,
733 *      - TRAP_UNDEFINED_1F,
734 *      - TRAP_GMRP,
735 *      - TRAP_GVRP,
736 *      - TRAP_UNDEF_GARP_22,
737 *      - TRAP_UNDEF_GARP_23,
738 *      - TRAP_UNDEF_GARP_24,
739 *      - TRAP_UNDEF_GARP_25,
740 *      - TRAP_UNDEF_GARP_26,
741 *      - TRAP_UNDEF_GARP_27,
742 *      - TRAP_UNDEF_GARP_28,
743 *      - TRAP_UNDEF_GARP_29,
744 *      - TRAP_UNDEF_GARP_2A,
745 *      - TRAP_UNDEF_GARP_2B,
746 *      - TRAP_UNDEF_GARP_2C,
747 *      - TRAP_UNDEF_GARP_2D,
748 *      - TRAP_UNDEF_GARP_2E,
749 *      - TRAP_UNDEF_GARP_2F,
750 *      - TRAP_CDP.
751 *      - TRAP_CSSTP.
752 *      - TRAP_LLDP.
753 */
754extern rtk_api_ret_t rtk_trap_rmaKeepFormat_get(rtk_trap_type_t type, rtk_enable_t *pEnable);
755
756
757#endif /* __RTK_API_TRAP_H__ */
758
759
760