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