Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.4.4.5
openapi_snooping.h
Go to the documentation of this file.
1 
9 /********************************************************************************
10 *
11 * Copyright 2016-2018 Broadcom.
12 *
13 * Licensed under the Apache License, Version 2.0 (the "License");
14 * you may not use this file except in compliance with the License.
15 * You may obtain a copy of the License at
16 *
17 * http://www.apache.org/licenses/LICENSE-2.?0
18 *
19 * Unless required by applicable law or agreed to in writing, software
20 * distributed under the License is distributed on an "AS IS" BASIS,
21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 * See the License for the specific language governing permissions and
23 * limitations under the License.
24 *
25 ********************************************************************************
26 *
27 * @filename openapi_snooping.h
28 *
29 * @purpose Provide interface for L2 Multicast Snooping API's
30 *
31 * @component OpEN
32 *
33 * @create 06/18/2015
34 *
35 * @end
36 *
37 ********************************************************************************/
38 #ifndef OPENAPI_SNOOPING_H_INCLUDED
39 #define OPENAPI_SNOOPING_H_INCLUDED
40 
41 #include "openapi_common.h"
42 
43 #define OPEN_INTF_LEN 4
44 
45 typedef enum
46 {
47  OPEN_SNOOP_SSM_FILTER_MODE_NONE = 0,
51 
52 typedef enum
53 {
54  OPEN_SNOOP_QUERIER_DISABLED = 0,
59 
60 /*****************************************************************************/
77  uint8_t family,
78  OPEN_BOOL_t * status);
79 
80 /*****************************************************************************/
98  OPEN_CONTROL_t * adminMode,
99  uint8_t family);
100 
101 /*****************************************************************************/
119  OPEN_CONTROL_t adminMode,
120  uint8_t family);
121 
122 /*****************************************************************************/
143  uint32_t * processedFrames,
144  uint8_t family);
145 
146 /*****************************************************************************/
166  uint32_t * forwardedFrames,
167  uint8_t family);
168 
169 /*****************************************************************************/
190  OPEN_CONTROL_t * adminMode,
191  uint8_t family);
192 
193 /*****************************************************************************/
214  OPEN_CONTROL_t adminMode,
215  uint8_t family);
216 
217 /*****************************************************************************/
235  OPEN_BOOL_t * floodAll);
236 
237 /*****************************************************************************/
255  OPEN_BOOL_t floodAll);
256 
257 /*****************************************************************************/
274  uint8_t family);
275 
276 /*****************************************************************************/
298  open_buffdesc * mask,
299  uint8_t family);
300 
301 /****************************************************************************/
322  open_buffdesc * mask,
323  uint8_t family);
324 
325 /*****************************************************************************/
344  uint32_t intIfNum,
345  OPEN_CONTROL_t * mode,
346  uint8_t family);
347 
348 /*****************************************************************************/
367  uint32_t intIfNum,
368  OPEN_CONTROL_t mode,
369  uint8_t family);
370 
371 /*****************************************************************************/
392  uint32_t intIfNum,
393  uint32_t * queryTime,
394  uint8_t family);
395 
396 /*****************************************************************************/
417  uint32_t intIfNum,
418  uint32_t queryTime,
419  uint8_t family);
420 
421 /*****************************************************************************/
440  uint32_t intIfNum,
441  uint32_t * responseTime,
442  uint8_t family);
443 
444 /*****************************************************************************/
465  uint32_t intIfNum,
466  uint32_t responseTime,
467  uint8_t family);
468 
469 /*****************************************************************************/
488  uint32_t intIfNum,
489  OPEN_CONTROL_t * mode,
490  uint8_t family);
491 
492 /*****************************************************************************/
513  uint32_t intIfNum,
514  OPEN_CONTROL_t mode,
515  uint8_t family);
516 
517 /*****************************************************************************/
537  uint32_t intIfNum,
538  OPEN_CONTROL_t * mode,
539  uint8_t family);
540 
541 /*****************************************************************************/
561  uint32_t intIfNum,
562  OPEN_CONTROL_t mode,
563  uint8_t family);
564 
565 /*****************************************************************************/
580  uint32_t intIfNum,
581  OPEN_BOOL_t * status);
582 
583 /*************************************************************************/
604  uint8_t family, open_inet_addr_t *pGroup,
605  uint32_t *pIntIfNum, uint32_t *pVlanId,
606  OPEN_SNOOP_SSM_FILTER_MODE_t *pfilterMode);
607 
608 /*************************************************************************/
629  uint8_t family, open_inet_addr_t *pGroup,
630  uint32_t *pIntIfNum, uint32_t *pVlanId,
631  open_inet_addr_t *pSrcIp);
632 
633 /*************************************************************************/
654  uint8_t family, open_inet_addr_t *pGroup,
655  uint32_t *pIntIfNum, uint32_t *pVlanId);
656 
657 /*************************************************************************/
678  uint8_t family, open_inet_addr_t *pGroup,
679  uint32_t *pIntIfNum, uint32_t *pVlanId);
680 
681 /*************************************************************************/
697  uint8_t family, uint32_t *currEntries);
698 
699 /**************************************************************************/
721  uint8_t family, open_inet_addr_t *pGroup,
722  open_inet_addr_t *pSource, uint32_t *pVlanId,
723  open_buffdesc *excPortMaskName);
724 
725 /*************************************************************************/
745  uint8_t family, open_inet_addr_t *pGroup,
746  open_inet_addr_t *pSource, uint32_t *pVlanId);
747 
748 /**************************************************************************/
770  uint8_t family, open_inet_addr_t *pGroup,
771  open_inet_addr_t *pSource, uint32_t *pVlanId,
772  open_buffdesc *incPortMaskName);
773 
774 /**************************************************************************/
794  uint8_t family,
795  open_inet_addr_t *pGroup,
796  open_inet_addr_t *pSource,
797  uint32_t *pVlanId);
798 
799 /*************************************************************************/
816  uint8_t family,
817  uint32_t *maxEntries);
818 
819 /*************************************************************************/
836  uint8_t family,
837  uint32_t *mostEntries);
838 
839 /**************************************************************************/
861  uint8_t family,
862  open_inet_addr_t *pGroup,
863  uint32_t *pIntIfNum,
864  uint32_t *pVlanId,
865  open_inet_addr_t *pSrcIp);
866 
867 /**************************************************************************/
890  uint8_t family,
891  open_inet_addr_t *pGroup,
892  uint32_t *pIntIfNum,
893  uint32_t *pVlanId,
894  open_inet_addr_t *pSrcIp);
895 
896 /**************************************************************************/
909 open_error_t openapiSnoopVlanCheckValid(openapiClientHandle_t *client_handle, uint32_t vlanId);
910 
911 /**************************************************************************/
925 open_error_t openapiSnoopVlanNextGet(openapiClientHandle_t *client_handle, uint32_t vlanId,
926  uint32_t *nextVlan);
927 
928 /**************************************************************************/
945  uint32_t vlanId,
946  OPEN_BOOL_t *fastLeaveMode,
947  uint8_t family);
948 
949 /**************************************************************************/
966  uint32_t vlanId,
967  OPEN_BOOL_t fastLeaveMode,
968  uint8_t family);
969 
970 /**************************************************************************/
988  uint32_t vlanId,
989  uint16_t *groupMembershipInterval,
990  uint8_t family);
991 
992 /**************************************************************************/
1010  uint32_t vlanId,
1011  uint16_t groupMembershipInterval,
1012  uint8_t family);
1013 
1014 /**************************************************************************/
1032  uint32_t vlanId,
1033  uint16_t *responseTime,
1034  uint8_t family);
1035 
1036 /**************************************************************************/
1053  uint32_t vlanId,
1054  uint16_t responseTime,
1055  uint8_t family);
1056 
1057 /**************************************************************************/
1074  uint32_t vlanId,
1075  uint32_t *snoopVlanMode,
1076  uint8_t family);
1077 
1078 /**************************************************************************/
1095  uint32_t vlanId,
1096  uint32_t snoopVlanMode,
1097  uint8_t family);
1098 
1099 /**************************************************************************/
1117  uint32_t vlanId,
1118  uint32_t *mode,
1119  uint8_t family);
1120 
1121 /**************************************************************************/
1139  uint32_t vlanId,
1140  uint32_t mode,
1141  uint8_t family);
1142 
1143 /**************************************************************************/
1161  uint32_t vlanId,
1162  uint8_t family,
1163  OPEN_BOOL_t *reportSuppMode);
1164 
1165 /**************************************************************************/
1183  uint32_t vlanId,
1184  uint8_t family,
1185  OPEN_BOOL_t reportSuppMode);
1186 
1187 /**************************************************************************/
1203  open_inet_addr_t *snoopQuerierAddr,
1204  uint8_t family);
1205 
1206 /**************************************************************************/
1222  open_inet_addr_t *snoopQuerierAddr,
1223  uint8_t family);
1224 
1225 /**************************************************************************/
1241  uint32_t *adminMode,
1242  uint8_t family);
1243 
1244 /**************************************************************************/
1260  uint32_t adminMode,
1261  uint8_t family);
1262 
1263 /**************************************************************************/
1279  uint32_t *expiryInterval,
1280  uint8_t family);
1281 
1282 /**************************************************************************/
1298  uint32_t expiryInterval,
1299  uint8_t family);
1300 
1301 /**************************************************************************/
1319  uint32_t vlanId,
1320  open_inet_addr_t *querierAddr,
1321  uint8_t family);
1322 
1323 /**************************************************************************/
1342  uint32_t vlanId,
1343  uint32_t *version,
1344  uint8_t family);
1345 
1346 /**************************************************************************/
1368  uint32_t vlanId,
1369  uint32_t *maxRespTime,
1370  uint8_t family);
1371 
1372 /**************************************************************************/
1391  uint32_t vlanId,
1392  uint32_t *state,
1393  uint8_t family);
1394 
1395 /**************************************************************************/
1414  uint32_t vlanId,
1415  uint32_t *version,
1416  uint8_t family);
1417 
1418 /**************************************************************************/
1435  uint32_t *queryInterval,
1436  uint8_t family);
1437 
1438 /**************************************************************************/
1455  uint32_t queryInterval,
1456  uint8_t family);
1457 
1458 /**************************************************************************/
1474  uint32_t *version,
1475  uint8_t family);
1476 
1477 /**************************************************************************/
1493  uint32_t version,
1494  uint8_t family);
1495 
1496 /**************************************************************************/
1514  uint32_t vlanId,
1515  open_inet_addr_t *snoopQuerierAddr,
1516  uint8_t family);
1517 
1518 /**************************************************************************/
1536  uint32_t vlanId,
1537  open_inet_addr_t *snoopQuerierAddr,
1538  uint8_t family);
1539 
1540 /**************************************************************************/
1559  uint32_t vlanId,
1560  uint32_t *vlanMode,
1561  uint8_t family);
1562 
1563 /**************************************************************************/
1582  uint32_t vlanId,
1583  uint32_t vlanMode,
1584  uint8_t family);
1585 
1586 /**************************************************************************/
1604  uint32_t vlanId,
1605  OPEN_CONTROL_t *vlanMode,
1606  uint8_t family);
1607 
1608 /**************************************************************************/
1626  uint32_t vlanId,
1627  OPEN_CONTROL_t vlanMode,
1628  uint8_t family);
1629 
1630 #endif /* OPENAPI_SNOOPING_H_INCLUDED */
1631