kernel: add missing config symbols for 5.15
[openwrt/staging/mkresin.git] / target / linux / mediatek / files-5.10 / drivers / net / phy / rtk / rtl8367c / include / igmp.h
1 /*
2 * Copyright (C) 2013 Realtek Semiconductor Corp.
3 * All Rights Reserved.
4 *
5 * Unless you and Realtek execute a separate written software license
6 * agreement governing use of this software, this software is licensed
7 * to you under the terms of the GNU General Public License version 2,
8 * available at https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
9 *
10 * Purpose : RTL8367/RTL8367C switch high-level API
11 *
12 * Feature : The file includes IGMP module high-layer API defination
13 *
14 */
15
16 #ifndef __RTK_API_IGMP_H__
17 #define __RTK_API_IGMP_H__
18
19 /*
20 * Data Type Declaration
21 */
22 typedef enum rtk_igmp_type_e
23 {
24 IGMP_IPV4 = 0,
25 IGMP_PPPOE_IPV4,
26 IGMP_MLD,
27 IGMP_PPPOE_MLD,
28 IGMP_TYPE_END
29 } rtk_igmp_type_t;
30
31 typedef enum rtk_trap_igmp_action_e
32 {
33 IGMP_ACTION_FORWARD = 0,
34 IGMP_ACTION_TRAP2CPU,
35 IGMP_ACTION_DROP,
36 IGMP_ACTION_ASIC,
37 IGMP_ACTION_END
38 } rtk_igmp_action_t;
39
40 typedef enum rtk_igmp_protocol_e
41 {
42 PROTOCOL_IGMPv1 = 0,
43 PROTOCOL_IGMPv2,
44 PROTOCOL_IGMPv3,
45 PROTOCOL_MLDv1,
46 PROTOCOL_MLDv2,
47 PROTOCOL_END
48 } rtk_igmp_protocol_t;
49
50 typedef enum rtk_igmp_tableFullAction_e
51 {
52 IGMP_TABLE_FULL_FORWARD = 0,
53 IGMP_TABLE_FULL_DROP,
54 IGMP_TABLE_FULL_TRAP,
55 IGMP_TABLE_FULL_OP_END
56 }rtk_igmp_tableFullAction_t;
57
58 typedef enum rtk_igmp_checksumErrorAction_e
59 {
60 IGMP_CRC_ERR_DROP = 0,
61 IGMP_CRC_ERR_TRAP,
62 IGMP_CRC_ERR_FORWARD,
63 IGMP_CRC_ERR_OP_END
64 }rtk_igmp_checksumErrorAction_t;
65
66 typedef enum rtk_igmp_bypassGroup_e
67 {
68 IGMP_BYPASS_224_0_0_X = 0,
69 IGMP_BYPASS_224_0_1_X,
70 IGMP_BYPASS_239_255_255_X,
71 IGMP_BYPASS_IPV6_00XX,
72 IGMP_BYPASS_GROUP_END
73 }rtk_igmp_bypassGroup_t;
74
75
76 typedef struct rtk_igmp_dynamicRouterPort_s
77 {
78 rtk_enable_t dynamicRouterPort0Valid;
79 rtk_port_t dynamicRouterPort0;
80 rtk_uint32 dynamicRouterPort0Timer;
81 rtk_enable_t dynamicRouterPort1Valid;
82 rtk_port_t dynamicRouterPort1;
83 rtk_uint32 dynamicRouterPort1Timer;
84
85 }rtk_igmp_dynamicRouterPort_t;
86
87 typedef struct rtk_igmp_rxPktEnable_s
88 {
89 rtk_enable_t rxQuery;
90 rtk_enable_t rxReport;
91 rtk_enable_t rxLeave;
92 rtk_enable_t rxMRP;
93 rtk_enable_t rxMcast;
94 }rtk_igmp_rxPktEnable_t;
95
96 typedef struct rtk_igmp_groupInfo_s
97 {
98 rtk_enable_t valid;
99 rtk_portmask_t member;
100 rtk_uint32 timer[RTK_PORT_MAX];
101 rtk_uint32 reportSuppFlag;
102 }rtk_igmp_groupInfo_t;
103
104 typedef enum rtk_igmp_ReportLeaveFwdAct_e
105 {
106 IGMP_REPORT_LEAVE_TO_ROUTER = 0,
107 IGMP_REPORT_LEAVE_TO_ALLPORT,
108 IGMP_REPORT_LEAVE_TO_ROUTER_PORT_ADV,
109 IGMP_REPORT_LEAVE_ACT_END
110 }rtk_igmp_ReportLeaveFwdAct_t;
111
112 /* Function Name:
113 * rtk_igmp_init
114 * Description:
115 * This API enables H/W IGMP and set a default initial configuration.
116 * Input:
117 * None.
118 * Output:
119 * None.
120 * Return:
121 * RT_ERR_OK - OK
122 * RT_ERR_FAILED - Failed
123 * RT_ERR_SMI - SMI access error
124 * Note:
125 * This API enables H/W IGMP and set a default initial configuration.
126 */
127 extern rtk_api_ret_t rtk_igmp_init(void);
128
129 /* Function Name:
130 * rtk_igmp_state_set
131 * Description:
132 * This API set H/W IGMP state.
133 * Input:
134 * enabled - H/W IGMP state
135 * Output:
136 * None.
137 * Return:
138 * RT_ERR_OK - OK
139 * RT_ERR_FAILED - Failed
140 * RT_ERR_SMI - SMI access error
141 * RT_ERR_INPUT - Error parameter
142 * Note:
143 * This API set H/W IGMP state.
144 */
145 extern rtk_api_ret_t rtk_igmp_state_set(rtk_enable_t enabled);
146
147 /* Function Name:
148 * rtk_igmp_state_get
149 * Description:
150 * This API get H/W IGMP state.
151 * Input:
152 * None.
153 * Output:
154 * pEnabled - H/W IGMP state
155 * Return:
156 * RT_ERR_OK - OK
157 * RT_ERR_FAILED - Failed
158 * RT_ERR_SMI - SMI access error
159 * RT_ERR_INPUT - Error parameter
160 * Note:
161 * This API set current H/W IGMP state.
162 */
163 extern rtk_api_ret_t rtk_igmp_state_get(rtk_enable_t *pEnabled);
164
165 /* Function Name:
166 * rtk_igmp_static_router_port_set
167 * Description:
168 * Configure static router port
169 * Input:
170 * pPortmask - Static Port mask
171 * Output:
172 * None.
173 * Return:
174 * RT_ERR_OK - OK
175 * RT_ERR_FAILED - Failed
176 * RT_ERR_SMI - SMI access error
177 * RT_ERR_PORT_MASK - Error parameter
178 * Note:
179 * This API set static router port
180 */
181 extern rtk_api_ret_t rtk_igmp_static_router_port_set(rtk_portmask_t *pPortmask);
182
183 /* Function Name:
184 * rtk_igmp_static_router_port_get
185 * Description:
186 * Get static router port
187 * Input:
188 * None.
189 * Output:
190 * pPortmask - Static port mask
191 * Return:
192 * RT_ERR_OK - OK
193 * RT_ERR_FAILED - Failed
194 * RT_ERR_SMI - SMI access error
195 * RT_ERR_PORT_MASK - Error parameter
196 * Note:
197 * This API get static router port
198 */
199 extern rtk_api_ret_t rtk_igmp_static_router_port_get(rtk_portmask_t *pPortmask);
200
201 /* Function Name:
202 * rtk_igmp_protocol_set
203 * Description:
204 * set IGMP/MLD protocol action
205 * Input:
206 * port - Port ID
207 * protocol - IGMP/MLD protocol
208 * action - Per-port and per-protocol IGMP action seeting
209 * Output:
210 * None.
211 * Return:
212 * RT_ERR_OK - OK
213 * RT_ERR_FAILED - Failed
214 * RT_ERR_SMI - SMI access error
215 * RT_ERR_PORT_MASK - Error parameter
216 * Note:
217 * This API set IGMP/MLD protocol action
218 */
219 extern rtk_api_ret_t rtk_igmp_protocol_set(rtk_port_t port, rtk_igmp_protocol_t protocol, rtk_igmp_action_t action);
220
221 /* Function Name:
222 * rtk_igmp_protocol_get
223 * Description:
224 * set IGMP/MLD protocol action
225 * Input:
226 * port - Port ID
227 * protocol - IGMP/MLD protocol
228 * action - Per-port and per-protocol IGMP action seeting
229 * Output:
230 * None.
231 * Return:
232 * RT_ERR_OK - OK
233 * RT_ERR_FAILED - Failed
234 * RT_ERR_SMI - SMI access error
235 * RT_ERR_PORT_MASK - Error parameter
236 * Note:
237 * This API set IGMP/MLD protocol action
238 */
239 extern rtk_api_ret_t rtk_igmp_protocol_get(rtk_port_t port, rtk_igmp_protocol_t protocol, rtk_igmp_action_t *pAction);
240
241 /* Function Name:
242 * rtk_igmp_fastLeave_set
243 * Description:
244 * set IGMP/MLD FastLeave state
245 * Input:
246 * state - ENABLED: Enable FastLeave, DISABLED: disable FastLeave
247 * Output:
248 * None.
249 * Return:
250 * RT_ERR_OK - OK
251 * RT_ERR_INPUT - Error Input
252 * RT_ERR_FAILED - Failed
253 * RT_ERR_SMI - SMI access error
254 * Note:
255 * This API set IGMP/MLD FastLeave state
256 */
257 extern rtk_api_ret_t rtk_igmp_fastLeave_set(rtk_enable_t state);
258
259 /* Function Name:
260 * rtk_igmp_fastLeave_get
261 * Description:
262 * get IGMP/MLD FastLeave state
263 * Input:
264 * None
265 * Output:
266 * pState - ENABLED: Enable FastLeave, DISABLED: disable FastLeave
267 * Return:
268 * RT_ERR_OK - OK
269 * RT_ERR_NULL_POINTER - NULL pointer
270 * RT_ERR_FAILED - Failed
271 * RT_ERR_SMI - SMI access error
272 * Note:
273 * This API get IGMP/MLD FastLeave state
274 */
275 extern rtk_api_ret_t rtk_igmp_fastLeave_get(rtk_enable_t *pState);
276
277 /* Function Name:
278 * rtk_igmp_maxGroup_set
279 * Description:
280 * Set per port multicast group learning limit.
281 * Input:
282 * port - Port ID
283 * group - The number of multicast group learning limit.
284 * Output:
285 * None.
286 * Return:
287 * RT_ERR_OK - OK
288 * RT_ERR_PORT_ID - Error Port ID
289 * RT_ERR_OUT_OF_RANGE - parameter out of range
290 * RT_ERR_FAILED - Failed
291 * RT_ERR_SMI - SMI access error
292 * Note:
293 * This API set per port multicast group learning limit.
294 */
295 extern rtk_api_ret_t rtk_igmp_maxGroup_set(rtk_port_t port, rtk_uint32 group);
296
297 /* Function Name:
298 * rtk_igmp_maxGroup_get
299 * Description:
300 * Get per port multicast group learning limit.
301 * Input:
302 * port - Port ID
303 * Output:
304 * pGroup - The number of multicast group learning limit.
305 * Return:
306 * RT_ERR_OK - OK
307 * RT_ERR_PORT_ID - Error Port ID
308 * RT_ERR_NULL_POINTER - Null pointer
309 * RT_ERR_FAILED - Failed
310 * RT_ERR_SMI - SMI access error
311 * Note:
312 * This API get per port multicast group learning limit.
313 */
314 extern rtk_api_ret_t rtk_igmp_maxGroup_get(rtk_port_t port, rtk_uint32 *pGroup);
315
316 /* Function Name:
317 * rtk_igmp_currentGroup_get
318 * Description:
319 * Get per port multicast group learning count.
320 * Input:
321 * port - Port ID
322 * Output:
323 * pGroup - The number of multicast group learning count.
324 * Return:
325 * RT_ERR_OK - OK
326 * RT_ERR_PORT_ID - Error Port ID
327 * RT_ERR_NULL_POINTER - Null pointer
328 * RT_ERR_FAILED - Failed
329 * RT_ERR_SMI - SMI access error
330 * Note:
331 * This API get per port multicast group learning count.
332 */
333 extern rtk_api_ret_t rtk_igmp_currentGroup_get(rtk_port_t port, rtk_uint32 *pGroup);
334
335 /* Function Name:
336 * rtk_igmp_tableFullAction_set
337 * Description:
338 * set IGMP/MLD Table Full Action
339 * Input:
340 * action - Table Full Action
341 * Output:
342 * None.
343 * Return:
344 * RT_ERR_OK - OK
345 * RT_ERR_INPUT - Error Input
346 * RT_ERR_FAILED - Failed
347 * RT_ERR_SMI - SMI access error
348 * Note:
349 */
350 extern rtk_api_ret_t rtk_igmp_tableFullAction_set(rtk_igmp_tableFullAction_t action);
351
352 /* Function Name:
353 * rtk_igmp_tableFullAction_get
354 * Description:
355 * get IGMP/MLD Table Full Action
356 * Input:
357 * None
358 * Output:
359 * pAction - Table Full Action
360 * Return:
361 * RT_ERR_OK - OK
362 * RT_ERR_NULL_POINTER - Null pointer
363 * RT_ERR_FAILED - Failed
364 * RT_ERR_SMI - SMI access error
365 * Note:
366 */
367 extern rtk_api_ret_t rtk_igmp_tableFullAction_get(rtk_igmp_tableFullAction_t *pAction);
368
369 /* Function Name:
370 * rtk_igmp_checksumErrorAction_set
371 * Description:
372 * set IGMP/MLD Checksum Error Action
373 * Input:
374 * action - Checksum error Action
375 * Output:
376 * None.
377 * Return:
378 * RT_ERR_OK - OK
379 * RT_ERR_INPUT - Error Input
380 * RT_ERR_FAILED - Failed
381 * RT_ERR_SMI - SMI access error
382 * Note:
383 */
384 extern rtk_api_ret_t rtk_igmp_checksumErrorAction_set(rtk_igmp_checksumErrorAction_t action);
385
386 /* Function Name:
387 * rtk_igmp_checksumErrorAction_get
388 * Description:
389 * get IGMP/MLD Checksum Error Action
390 * Input:
391 * None
392 * Output:
393 * pAction - Checksum error Action
394 * Return:
395 * RT_ERR_OK - OK
396 * RT_ERR_NULL_POINTER - Null pointer
397 * RT_ERR_FAILED - Failed
398 * RT_ERR_SMI - SMI access error
399 * Note:
400 */
401 extern rtk_api_ret_t rtk_igmp_checksumErrorAction_get(rtk_igmp_checksumErrorAction_t *pAction);
402
403 /* Function Name:
404 * rtk_igmp_leaveTimer_set
405 * Description:
406 * set IGMP/MLD Leave timer
407 * Input:
408 * timer - Leave timer
409 * Output:
410 * None.
411 * Return:
412 * RT_ERR_OK - OK
413 * RT_ERR_INPUT - Error Input
414 * RT_ERR_FAILED - Failed
415 * RT_ERR_SMI - SMI access error
416 * Note:
417 */
418 extern rtk_api_ret_t rtk_igmp_leaveTimer_set(rtk_uint32 timer);
419
420 /* Function Name:
421 * rtk_igmp_leaveTimer_get
422 * Description:
423 * get IGMP/MLD Leave timer
424 * Input:
425 * None
426 * Output:
427 * pTimer - Leave Timer.
428 * Return:
429 * RT_ERR_OK - OK
430 * RT_ERR_NULL_POINTER - Null pointer
431 * RT_ERR_FAILED - Failed
432 * RT_ERR_SMI - SMI access error
433 * Note:
434 */
435 extern rtk_api_ret_t rtk_igmp_leaveTimer_get(rtk_uint32 *pTimer);
436
437 /* Function Name:
438 * rtk_igmp_queryInterval_set
439 * Description:
440 * set IGMP/MLD Query Interval
441 * Input:
442 * interval - Query Interval
443 * Output:
444 * None.
445 * Return:
446 * RT_ERR_OK - OK
447 * RT_ERR_INPUT - Error Input
448 * RT_ERR_FAILED - Failed
449 * RT_ERR_SMI - SMI access error
450 * Note:
451 */
452 extern rtk_api_ret_t rtk_igmp_queryInterval_set(rtk_uint32 interval);
453
454 /* Function Name:
455 * rtk_igmp_queryInterval_get
456 * Description:
457 * get IGMP/MLD Query Interval
458 * Input:
459 * None.
460 * Output:
461 * pInterval - Query Interval
462 * Return:
463 * RT_ERR_OK - OK
464 * RT_ERR_NULL_POINTER - Null pointer
465 * RT_ERR_FAILED - Failed
466 * RT_ERR_SMI - SMI access error
467 * Note:
468 */
469 extern rtk_api_ret_t rtk_igmp_queryInterval_get(rtk_uint32 *pInterval);
470
471 /* Function Name:
472 * rtk_igmp_robustness_set
473 * Description:
474 * set IGMP/MLD Robustness value
475 * Input:
476 * robustness - Robustness value
477 * Output:
478 * None.
479 * Return:
480 * RT_ERR_OK - OK
481 * RT_ERR_INPUT - Error Input
482 * RT_ERR_FAILED - Failed
483 * RT_ERR_SMI - SMI access error
484 * Note:
485 */
486 extern rtk_api_ret_t rtk_igmp_robustness_set(rtk_uint32 robustness);
487
488 /* Function Name:
489 * rtk_igmp_robustness_get
490 * Description:
491 * get IGMP/MLD Robustness value
492 * Input:
493 * None
494 * Output:
495 * pRobustness - Robustness value.
496 * Return:
497 * RT_ERR_OK - OK
498 * RT_ERR_NULL_POINTER - Null pointer
499 * RT_ERR_FAILED - Failed
500 * RT_ERR_SMI - SMI access error
501 * Note:
502 */
503 extern rtk_api_ret_t rtk_igmp_robustness_get(rtk_uint32 *pRobustness);
504
505 /* Function Name:
506 * rtk_igmp_dynamicRouterRortAllow_set
507 * Description:
508 * Configure dynamic router port allow option
509 * Input:
510 * pPortmask - Dynamic Port allow mask
511 * Output:
512 * None.
513 * Return:
514 * RT_ERR_OK - OK
515 * RT_ERR_FAILED - Failed
516 * RT_ERR_SMI - SMI access error
517 * RT_ERR_PORT_MASK - Error parameter
518 * Note:
519 *
520 */
521 extern rtk_api_ret_t rtk_igmp_dynamicRouterPortAllow_set(rtk_portmask_t *pPortmask);
522
523 /* Function Name:
524 * rtk_igmp_dynamicRouterRortAllow_get
525 * Description:
526 * Get dynamic router port allow option
527 * Input:
528 * None.
529 * Output:
530 * pPortmask - Dynamic Port allow mask
531 * Return:
532 * RT_ERR_OK - OK
533 * RT_ERR_FAILED - Failed
534 * RT_ERR_SMI - SMI access error
535 * RT_ERR_PORT_MASK - Error parameter
536 * Note:
537 *
538 */
539 extern rtk_api_ret_t rtk_igmp_dynamicRouterPortAllow_get(rtk_portmask_t *pPortmask);
540
541 /* Function Name:
542 * rtk_igmp_dynamicRouterPort_get
543 * Description:
544 * Get dynamic router port
545 * Input:
546 * None.
547 * Output:
548 * pDynamicRouterPort - Dynamic Router Port
549 * Return:
550 * RT_ERR_OK - OK
551 * RT_ERR_FAILED - Failed
552 * RT_ERR_NULL_POINTER - Null pointer
553 * RT_ERR_SMI - SMI access error
554 * RT_ERR_PORT_MASK - Error parameter
555 * Note:
556 *
557 */
558 extern rtk_api_ret_t rtk_igmp_dynamicRouterPort_get(rtk_igmp_dynamicRouterPort_t *pDynamicRouterPort);
559
560 /* Function Name:
561 * rtk_igmp_suppressionEnable_set
562 * Description:
563 * Configure IGMPv1/v2 & MLDv1 Report/Leave/Done suppression
564 * Input:
565 * reportSuppression - Report suppression
566 * leaveSuppression - Leave suppression
567 * Output:
568 * None.
569 * Return:
570 * RT_ERR_OK - OK
571 * RT_ERR_FAILED - Failed
572 * RT_ERR_SMI - SMI access error
573 * RT_ERR_INPUT - Error Input
574 * Note:
575 *
576 */
577 extern rtk_api_ret_t rtk_igmp_suppressionEnable_set(rtk_enable_t reportSuppression, rtk_enable_t leaveSuppression);
578
579 /* Function Name:
580 * rtk_igmp_suppressionEnable_get
581 * Description:
582 * Get IGMPv1/v2 & MLDv1 Report/Leave/Done suppression
583 * Input:
584 * None
585 * Output:
586 * pReportSuppression - Report suppression
587 * pLeaveSuppression - Leave suppression
588 * Return:
589 * RT_ERR_OK - OK
590 * RT_ERR_FAILED - Failed
591 * RT_ERR_SMI - SMI access error
592 * RT_ERR_NULL_POINTER - Null pointer
593 * Note:
594 *
595 */
596 extern rtk_api_ret_t rtk_igmp_suppressionEnable_get(rtk_enable_t *pReportSuppression, rtk_enable_t *pLeaveSuppression);
597
598 /* Function Name:
599 * rtk_igmp_portRxPktEnable_set
600 * Description:
601 * Configure IGMP/MLD RX Packet configuration
602 * Input:
603 * port - Port ID
604 * pRxCfg - RX Packet Configuration
605 * Output:
606 * None.
607 * Return:
608 * RT_ERR_OK - OK
609 * RT_ERR_FAILED - Failed
610 * RT_ERR_SMI - SMI access error
611 * RT_ERR_INPUT - Error Input
612 * RT_ERR_NULL_POINTER - Null pointer
613 * Note:
614 *
615 */
616 extern rtk_api_ret_t rtk_igmp_portRxPktEnable_set(rtk_port_t port, rtk_igmp_rxPktEnable_t *pRxCfg);
617
618 /* Function Name:
619 * rtk_igmp_portRxPktEnable_get
620 * Description:
621 * Get IGMP/MLD RX Packet configuration
622 * Input:
623 * port - Port ID
624 * pRxCfg - RX Packet Configuration
625 * Output:
626 * None.
627 * Return:
628 * RT_ERR_OK - OK
629 * RT_ERR_FAILED - Failed
630 * RT_ERR_SMI - SMI access error
631 * RT_ERR_INPUT - Error Input
632 * RT_ERR_NULL_POINTER - Null pointer
633 * Note:
634 *
635 */
636 extern rtk_api_ret_t rtk_igmp_portRxPktEnable_get(rtk_port_t port, rtk_igmp_rxPktEnable_t *pRxCfg);
637
638 /* Function Name:
639 * rtk_igmp_groupInfo_get
640 * Description:
641 * Get IGMP/MLD Group database
642 * Input:
643 * indes - Index (0~255)
644 * Output:
645 * pGroup - Group database information.
646 * Return:
647 * RT_ERR_OK - OK
648 * RT_ERR_FAILED - Failed
649 * RT_ERR_SMI - SMI access error
650 * RT_ERR_INPUT - Error Input
651 * RT_ERR_NULL_POINTER - Null pointer
652 * Note:
653 *
654 */
655 extern rtk_api_ret_t rtk_igmp_groupInfo_get(rtk_uint32 index, rtk_igmp_groupInfo_t *pGroup);
656
657 /* Function Name:
658 * rtk_igmp_ReportLeaveFwdAction_set
659 * Description:
660 * Set Report Leave packet forwarding action
661 * Input:
662 * action - Action
663 * Output:
664 * None.
665 * Return:
666 * RT_ERR_OK - OK
667 * RT_ERR_FAILED - Failed
668 * RT_ERR_SMI - SMI access error
669 * RT_ERR_INPUT - Error Input
670 * Note:
671 *
672 */
673 extern rtk_api_ret_t rtk_igmp_ReportLeaveFwdAction_set(rtk_igmp_ReportLeaveFwdAct_t action);
674
675 /* Function Name:
676 * rtk_igmp_ReportLeaveFwdAction_get
677 * Description:
678 * Get Report Leave packet forwarding action
679 * Input:
680 * action - Action
681 * Output:
682 * None.
683 * Return:
684 * RT_ERR_OK - OK
685 * RT_ERR_FAILED - Failed
686 * RT_ERR_SMI - SMI access error
687 * RT_ERR_INPUT - Error Input
688 * RT_ERR_NULL_POINTER - Null Pointer
689 * Note:
690 *
691 */
692 extern rtk_api_ret_t rtk_igmp_ReportLeaveFwdAction_get(rtk_igmp_ReportLeaveFwdAct_t *pAction);
693
694 /* Function Name:
695 * rtk_igmp_dropLeaveZeroEnable_set
696 * Description:
697 * Set the function of droppping Leave packet with group IP = 0.0.0.0
698 * Input:
699 * enabled - Action 1: drop, 0:pass
700 * Output:
701 * None.
702 * Return:
703 * RT_ERR_OK - OK
704 * RT_ERR_FAILED - Failed
705 * RT_ERR_SMI - SMI access error
706 * RT_ERR_INPUT - Error Input
707 * Note:
708 *
709 */
710 extern rtk_api_ret_t rtk_igmp_dropLeaveZeroEnable_set(rtk_enable_t enabled);
711
712 /* Function Name:
713 * rtk_igmp_dropLeaveZeroEnable_get
714 * Description:
715 * Get the function of droppping Leave packet with group IP = 0.0.0.0
716 * Input:
717 * None
718 * Output:
719 * pEnabled. - Action 1: drop, 0:pass
720 * Return:
721 * RT_ERR_OK - OK
722 * RT_ERR_FAILED - Failed
723 * RT_ERR_SMI - SMI access error
724 * RT_ERR_INPUT - Error Input
725 * RT_ERR_NULL_POINTER - Null Pointer
726 * Note:
727 *
728 */
729 extern rtk_api_ret_t rtk_igmp_dropLeaveZeroEnable_get(rtk_enable_t *pEnabled);
730
731 /* Function Name:
732 * rtk_igmp_bypassGroupRange_set
733 * Description:
734 * Set Bypass group
735 * Input:
736 * group - bypassed group
737 * enabled - enabled 1: Bypassed, 0: not bypass
738 * Output:
739 * None.
740 * Return:
741 * RT_ERR_OK - OK
742 * RT_ERR_FAILED - Failed
743 * RT_ERR_SMI - SMI access error
744 * RT_ERR_INPUT - Error Input
745 * Note:
746 *
747 */
748 extern rtk_api_ret_t rtk_igmp_bypassGroupRange_set(rtk_igmp_bypassGroup_t group, rtk_enable_t enabled);
749
750 /* Function Name:
751 * rtk_igmp_bypassGroupRange_get
752 * Description:
753 * get Bypass group
754 * Input:
755 * group - bypassed group
756 * Output:
757 * pEnable - enabled 1: Bypassed, 0: not bypass
758 * Return:
759 * RT_ERR_OK - OK
760 * RT_ERR_FAILED - Failed
761 * RT_ERR_SMI - SMI access error
762 * RT_ERR_INPUT - Error Input
763 * RT_ERR_NULL_POINTER - Null Pointer
764 * Note:
765 *
766 */
767 extern rtk_api_ret_t rtk_igmp_bypassGroupRange_get(rtk_igmp_bypassGroup_t group, rtk_enable_t *pEnable);
768
769 #endif /* __RTK_API_IGMP_H__ */