Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.12.0.1
openapi_snooping.h
Go to the documentation of this file.
1 
9 /********************************************************************************
10 *
11 * Copyright 2016-2023 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 #include "openapi_vlan.h"
43 
44 #define OPEN_INTF_LEN 4
45 
46 typedef enum
47 {
48  OPEN_SNOOP_SSM_FILTER_MODE_NONE = 0,
52 
53 typedef enum
54 {
55  OPEN_SNOOP_QUERIER_DISABLED = 0,
60 
61 /*****************************************************************************/
78  uint8_t family,
79  OPEN_BOOL_t * status);
80 
81 /*****************************************************************************/
99  OPEN_CONTROL_t * adminMode,
100  uint8_t family);
101 
102 /*****************************************************************************/
120  OPEN_CONTROL_t adminMode,
121  uint8_t family);
122 
123 /*****************************************************************************/
144  uint32_t * processedFrames,
145  uint8_t family);
146 
147 /*****************************************************************************/
167  uint32_t * forwardedFrames,
168  uint8_t family);
169 
170 /*****************************************************************************/
191  OPEN_CONTROL_t * adminMode,
192  uint8_t family);
193 
194 /*****************************************************************************/
215  OPEN_CONTROL_t adminMode,
216  uint8_t family);
217 
218 /*****************************************************************************/
236  OPEN_BOOL_t * floodAll);
237 
238 /*****************************************************************************/
256  OPEN_BOOL_t floodAll);
257 
258 /*****************************************************************************/
275  uint8_t family);
276 
277 /*****************************************************************************/
299  open_buffdesc * mask,
300  uint8_t family);
301 
302 /****************************************************************************/
323  open_buffdesc * mask,
324  uint8_t family);
325 
326 /*****************************************************************************/
345  uint32_t intIfNum,
346  OPEN_CONTROL_t * mode,
347  uint8_t family);
348 
349 /*****************************************************************************/
368  uint32_t intIfNum,
369  OPEN_CONTROL_t mode,
370  uint8_t family);
371 
372 /*****************************************************************************/
393  uint32_t intIfNum,
394  uint32_t * queryTime,
395  uint8_t family);
396 
397 /*****************************************************************************/
418  uint32_t intIfNum,
419  uint32_t queryTime,
420  uint8_t family);
421 
422 /*****************************************************************************/
441  uint32_t intIfNum,
442  uint32_t * responseTime,
443  uint8_t family);
444 
445 /*****************************************************************************/
466  uint32_t intIfNum,
467  uint32_t responseTime,
468  uint8_t family);
469 
470 /*****************************************************************************/
489  uint32_t intIfNum,
490  OPEN_CONTROL_t * mode,
491  uint8_t family);
492 
493 /*****************************************************************************/
514  uint32_t intIfNum,
515  OPEN_CONTROL_t mode,
516  uint8_t family);
517 
518 /*****************************************************************************/
538  uint32_t intIfNum,
539  OPEN_CONTROL_t * mode,
540  uint8_t family);
541 
542 /*****************************************************************************/
562  uint32_t intIfNum,
563  OPEN_CONTROL_t mode,
564  uint8_t family);
565 
566 /*****************************************************************************/
581  uint32_t intIfNum,
582  OPEN_BOOL_t * status);
583 
584 /*************************************************************************/
605  uint8_t family, open_inet_addr_t *pGroup,
606  uint32_t *pIntIfNum, uint32_t *pVlanId,
607  OPEN_SNOOP_SSM_FILTER_MODE_t *pfilterMode);
608 
609 /*************************************************************************/
630  uint8_t family, open_inet_addr_t *pGroup,
631  uint32_t *pIntIfNum, uint32_t *pVlanId,
632  open_inet_addr_t *pSrcIp);
633 
634 /*************************************************************************/
655  uint8_t family, open_inet_addr_t *pGroup,
656  uint32_t *pIntIfNum, uint32_t *pVlanId);
657 
658 /*************************************************************************/
679  uint8_t family, open_inet_addr_t *pGroup,
680  uint32_t *pIntIfNum, uint32_t *pVlanId);
681 
682 /*************************************************************************/
698  uint8_t family, uint32_t *currEntries);
699 
700 /**************************************************************************/
722  uint8_t family, open_inet_addr_t *pGroup,
723  open_inet_addr_t *pSource, uint32_t *pVlanId,
724  open_buffdesc *excPortMaskName);
725 
726 /*************************************************************************/
746  uint8_t family, open_inet_addr_t *pGroup,
747  open_inet_addr_t *pSource, uint32_t *pVlanId);
748 
749 /**************************************************************************/
771  uint8_t family, open_inet_addr_t *pGroup,
772  open_inet_addr_t *pSource, uint32_t *pVlanId,
773  open_buffdesc *incPortMaskName);
774 
775 /**************************************************************************/
795  uint8_t family,
796  open_inet_addr_t *pGroup,
797  open_inet_addr_t *pSource,
798  uint32_t *pVlanId);
799 
800 /*************************************************************************/
817  uint8_t family,
818  uint32_t *maxEntries);
819 
820 /*************************************************************************/
837  uint8_t family,
838  uint32_t *mostEntries);
839 
840 /**************************************************************************/
862  uint8_t family,
863  open_inet_addr_t *pGroup,
864  uint32_t *pIntIfNum,
865  uint32_t *pVlanId,
866  open_inet_addr_t *pSrcIp);
867 
868 /**************************************************************************/
891  uint8_t family,
892  open_inet_addr_t *pGroup,
893  uint32_t *pIntIfNum,
894  uint32_t *pVlanId,
895  open_inet_addr_t *pSrcIp);
896 
897 /**************************************************************************/
910 open_error_t openapiSnoopVlanCheckValid(openapiClientHandle_t *client_handle, uint32_t vlanId);
911 
912 /**************************************************************************/
926 open_error_t openapiSnoopVlanNextGet(openapiClientHandle_t *client_handle, uint32_t vlanId,
927  uint32_t *nextVlan);
928 
929 /**************************************************************************/
946  uint32_t vlanId,
947  OPEN_BOOL_t *fastLeaveMode,
948  uint8_t family);
949 
950 /**************************************************************************/
967  uint32_t vlanId,
968  OPEN_BOOL_t fastLeaveMode,
969  uint8_t family);
970 
971 /**************************************************************************/
989  uint32_t vlanId,
990  uint16_t *groupMembershipInterval,
991  uint8_t family);
992 
993 /**************************************************************************/
1011  uint32_t vlanId,
1012  uint16_t groupMembershipInterval,
1013  uint8_t family);
1014 
1015 /**************************************************************************/
1033  uint32_t vlanId,
1034  uint16_t *responseTime,
1035  uint8_t family);
1036 
1037 /**************************************************************************/
1054  uint32_t vlanId,
1055  uint16_t responseTime,
1056  uint8_t family);
1057 
1058 /**************************************************************************/
1075  uint32_t vlanId,
1076  uint32_t *snoopVlanMode,
1077  uint8_t family);
1078 
1079 /**************************************************************************/
1096  uint32_t vlanId,
1097  uint32_t snoopVlanMode,
1098  uint8_t family);
1099 
1100 /**************************************************************************/
1118  uint32_t vlanId,
1119  uint32_t *mode,
1120  uint8_t family);
1121 
1122 /**************************************************************************/
1140  uint32_t vlanId,
1141  uint32_t mode,
1142  uint8_t family);
1143 
1144 /**************************************************************************/
1164  uint32_t vlanId,
1165  uint8_t family,
1166  OPEN_BOOL_t *reportSuppMode);
1167 
1168 /**************************************************************************/
1186  uint32_t vlanId,
1187  uint8_t family,
1188  OPEN_BOOL_t reportSuppMode);
1189 
1190 /**************************************************************************/
1206  open_inet_addr_t *snoopQuerierAddr,
1207  uint8_t family);
1208 
1209 /**************************************************************************/
1225  open_inet_addr_t *snoopQuerierAddr,
1226  uint8_t family);
1227 
1228 /**************************************************************************/
1244  uint32_t *adminMode,
1245  uint8_t family);
1246 
1247 /**************************************************************************/
1263  uint32_t adminMode,
1264  uint8_t family);
1265 
1266 /**************************************************************************/
1282  uint32_t *expiryInterval,
1283  uint8_t family);
1284 
1285 /**************************************************************************/
1301  uint32_t expiryInterval,
1302  uint8_t family);
1303 
1304 /**************************************************************************/
1323  uint32_t vlanId,
1324  open_inet_addr_t *querierAddr,
1325  uint8_t family);
1326 
1327 /**************************************************************************/
1346  uint32_t vlanId,
1347  uint32_t *version,
1348  uint8_t family);
1349 
1350 /**************************************************************************/
1372  uint32_t vlanId,
1373  uint32_t *maxRespTime,
1374  uint8_t family);
1375 
1376 /**************************************************************************/
1395  uint32_t vlanId,
1396  uint32_t *state,
1397  uint8_t family);
1398 
1399 /**************************************************************************/
1418  uint32_t vlanId,
1419  uint32_t *version,
1420  uint8_t family);
1421 
1422 /**************************************************************************/
1439  uint32_t *queryInterval,
1440  uint8_t family);
1441 
1442 /**************************************************************************/
1459  uint32_t queryInterval,
1460  uint8_t family);
1461 
1462 /**************************************************************************/
1478  uint32_t *version,
1479  uint8_t family);
1480 
1481 /**************************************************************************/
1497  uint32_t version,
1498  uint8_t family);
1499 
1500 /**************************************************************************/
1518  uint32_t vlanId,
1519  open_inet_addr_t *snoopQuerierAddr,
1520  uint8_t family);
1521 
1522 /**************************************************************************/
1540  uint32_t vlanId,
1541  open_inet_addr_t *snoopQuerierAddr,
1542  uint8_t family);
1543 
1544 /**************************************************************************/
1563  uint32_t vlanId,
1564  uint32_t *vlanMode,
1565  uint8_t family);
1566 
1567 /**************************************************************************/
1586  uint32_t vlanId,
1587  uint32_t vlanMode,
1588  uint8_t family);
1589 
1590 /**************************************************************************/
1608  uint32_t vlanId,
1609  uint32_t *vlanMode,
1610  uint8_t family);
1611 
1612 /**************************************************************************/
1630  uint32_t vlanId,
1631  uint32_t vlanMode,
1632  uint8_t family);
1633 
1634 /*****************************************************************/
1649  OPEN_CONTROL_t *mode);
1650 
1651 /*****************************************************************/
1666  OPEN_CONTROL_t mode);
1667 
1668 /*****************************************************************/
1683  uint32_t *vlanId);
1684 
1685 /*************************************************************************/
1702  uint8_t family,
1703  OPEN_CONTROL_t *mode);
1704 
1705 /*************************************************************************/
1722  uint8_t family,
1723  OPEN_CONTROL_t mode);
1724 
1725 /*************************************************************************/
1742  uint8_t family,
1743  OPEN_CONTROL_t *mode);
1744 
1745 /*************************************************************************/
1762  uint8_t family,
1763  OPEN_CONTROL_t mode);
1764 
1765 /*************************************************************************/
1783  uint8_t family,
1784  uint32_t ifNum,
1785  OPEN_VLAN_LIST_t *vlanStaticMcastRtr);
1786 
1787 /*************************************************************************/
1806  uint8_t family,
1807  uint32_t ifNum,
1808  OPEN_VLAN_LIST_t *vlanStaticMcastRtr,
1809  OPEN_CONTROL_t status);
1810 
1811 /*************************************************************************/
1829  uint8_t family,
1830  uint32_t ifNum,
1831  OPEN_CONTROL_t *mode);
1832 
1833 /*************************************************************************/
1851  uint8_t family,
1852  uint32_t ifNum,
1853  OPEN_CONTROL_t mode);
1854 
1855 /*************************************************************************/
1873  uint8_t family,
1874  uint32_t ifNum,
1875  uint32_t *expiryTime);
1876 
1877 /*************************************************************************/
1895  uint8_t family,
1896  uint32_t ifNum,
1897  uint32_t expiryTime);
1898 
1899 /*************************************************************************/
1918  uint8_t family,
1919  uint32_t ifNum,
1920  uint32_t vlanId,
1921  OPEN_CONTROL_t *mode);
1922 
1923 /*************************************************************************/
1941  uint8_t family,
1942  uint32_t ifNum,
1943  OPEN_CONTROL_t mode);
1944 
1945 /*************************************************************************/
1963  uint8_t family,
1964  uint32_t ifNum,
1965  OPEN_CONTROL_t *status);
1966 
1967 /*************************************************************************/
1983  uint32_t vlanId,
1984  OPEN_BOOL_t *status);
1985 
1986 /*************************************************************************/
2003  uint8_t family,
2004  OPEN_CONTROL_t *mode);
2005 
2006 /*************************************************************************/
2023  uint8_t family,
2024  OPEN_CONTROL_t mode);
2025 
2026 /*************************************************************************/
2043  uint32_t family,
2044  uint32_t *nextFamily);
2045 
2046 /*************************************************************************/
2064  uint8_t family,
2065  uint32_t vlan,
2066  open_buffdesc *snoopQuerierMac);
2067 
2068 /*************************************************************************/
2085  uint8_t family,
2086  OPEN_CONTROL_t *mode);
2087 
2088 /*************************************************************************/
2105  uint8_t family,
2106  OPEN_CONTROL_t mode);
2107 
2108 /*************************************************************************/
2125  uint8_t family,
2126  OPEN_BOOL_t *checkRtrAlert);
2127 
2128 /*************************************************************************/
2145  uint8_t family,
2146  OPEN_BOOL_t checkRtrAlert);
2147 
2148 /*************************************************************************/
2166  uint8_t family,
2167  uint32_t vlan,
2168  OPEN_CONTROL_t *mode);
2169 
2170 /*************************************************************************/
2188  uint8_t family,
2189  uint32_t vlan,
2190  OPEN_CONTROL_t mode);
2191 
2192 /*************************************************************************/
2210  uint8_t family,
2211  uint32_t vlan,
2212  uint16_t *expiryTime);
2213 
2214 /*************************************************************************/
2232  uint8_t family,
2233  uint32_t vlan,
2234  uint16_t expiryTime);
2235 
2236 /*************************************************************************/
2255  uint8_t family,
2256  uint32_t vlan,
2257  open_buffdesc *dynamicMask,
2258  open_buffdesc *staticMask);
2259 
2260 /*************************************************************************/
2278  uint8_t family,
2279  uint32_t vlan,
2280  OPEN_CONTROL_t *mode);
2281 
2282 /*************************************************************************/
2300  uint8_t family,
2301  uint32_t vlan,
2302  OPEN_CONTROL_t mode);
2303 
2304 /*************************************************************************/
2322  uint8_t family,
2323  uint32_t vlan,
2324  OPEN_CONTROL_t *mode);
2325 
2326 /*************************************************************************/
2344  uint8_t family,
2345  uint32_t vlan,
2346  OPEN_CONTROL_t mode);
2347 
2348 /*************************************************************************/
2367  uint8_t family,
2368  uint32_t vlan,
2369  uint32_t ifNum,
2370  OPEN_CONTROL_t *status);
2371 
2372 #endif /* OPENAPI_SNOOPING_H_INCLUDED */
2373 
open_error_t openapiSnoopIntfApiVlanStaticMcastRtrGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t vlan, uint32_t ifNum, OPEN_CONTROL_t *status)
Get the IGMP static mcast router attached status for the specified interface/VLAN.
open_error_t openapiSnoopQuerierExpiryIntervalGet(openapiClientHandle_t *client_handle, uint32_t *expiryInterval, uint8_t family)
Gets the other querier expiry interval of a snoop instance.
open_error_t openapiSnoopVlanGroupMembershipIntervalSet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint16_t groupMembershipInterval, uint8_t family)
Sets the configured IGMP/MLD snooping group membership interval for the specified VLAN...
open_error_t openapiSnoopSSMGroupFilterModeGet(openapiClientHandle_t *client_handle, uint8_t family, open_inet_addr_t *pGroup, uint32_t *pIntIfNum, uint32_t *pVlanId, OPEN_SNOOP_SSM_FILTER_MODE_t *pfilterMode)
Gets the source filter mode (Include or Exclude) for the specified group on the specified interface a...
open_error_t openapiSnoopQuerierOperVersionGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *version, uint8_t family)
Gets the operational version of querier for specified VLAN ID of a snoop instance.
open_error_t openapiSnoopQuerierOperStateGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *state, uint8_t family)
Gets the operational state of querier for specified VLAN ID of a snoop instance.
open_error_t openapiSnoopVlanNextGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *nextVlan)
Gets next VLAN ID for snooping configuration.
open_error_t openapiSnoopQuerierVlanElectionModeSet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t vlanMode, uint8_t family)
Sets the configured snooping querier election mode for the specified VLAN ID of a snoop instance...
open_error_t openapiSnoopSSMGroupLastReporterGet(openapiClientHandle_t *client_handle, uint8_t family, open_inet_addr_t *pGroup, uint32_t *pIntIfNum, uint32_t *pVlanId, open_inet_addr_t *pSrcIp)
Gets the IP address of the source of last membership report received for the specified group address ...
open_error_t openapiSnoopIntfResponseTimeGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *responseTime, uint8_t family)
Returns the IGMP/MLD query response time for the specified interface.
open_error_t openapiSnoopIntfMrouterGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t ifNum, uint32_t vlanId, OPEN_CONTROL_t *mode)
Get the Multicast Router Detected mode on a specified vlan, interface.
open_error_t openapiSnoopVlanReportSuppModeGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint8_t family, OPEN_BOOL_t *reportSuppMode)
Get the configured IGMP/MLD snooping report suppression mode for the specified VLAN.
open_error_t openapiSnoopFastLeaveAutoAssignmentModeSet(openapiClientHandle_t *client_handle, uint8_t family, OPEN_CONTROL_t mode)
Set the global mode for the Fast Leave Auto Assignment.
open_error_t openapiSnoopVlanProxyQuerierModeSet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t mode, uint8_t family)
Sets the configured snooping proxy querier mode for the specified VLAN of a snoop instance...
open_error_t openapiSnoopVlanModeGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *snoopVlanMode, uint8_t family)
Get the IGMP/MLD snooping mode corresponding to the VLAN ID.
open_error_t openapiSnoopQuerierVlanModeSet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t vlanMode, uint8_t family)
Set the configured snooping querier mode for the specified vlanId of a snoop instance.
open_error_t openapiSnoopQuerierQueryIntervalSet(openapiClientHandle_t *client_handle, uint32_t queryInterval, uint8_t family)
Sets the qnooping querier query interval of a snoop instance.
open_error_t openapiSnoopEntriesFlush(openapiClientHandle_t *client_handle, uint8_t family)
Flushes all Snooping entries and multicast router entries.
open_error_t openapiSnoopSSMMfdbEntryFirstGet(openapiClientHandle_t *client_handle, uint8_t family, open_inet_addr_t *pGroup, open_inet_addr_t *pSource, uint32_t *pVlanId)
Gets the first learnt entry from SSM MFDB.
open_error_t openapiSnoopIntfFastLeaveOperModeSet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t ifNum, OPEN_CONTROL_t mode)
Set the fast leave auto-assignment mode on an interface.
open_error_t openapiSnoopQuerierVlanAddressSet(openapiClientHandle_t *client_handle, uint32_t vlanId, open_inet_addr_t *snoopQuerierAddr, uint8_t family)
Sets the snooping querier configured address for specified VLAN ID of a snoop instance.
open_error_t
OPEN uses these enumerators to indicate the error codes.
open_error_t openapiSnoopMrtrExcludeModeSet(openapiClientHandle_t *client_handle, uint8_t family, OPEN_CONTROL_t mode)
Configure to exclude mrouter ports from the forwarding list.
open_error_t openapiSnoopProxyQuerierAdminModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t adminMode, uint8_t family)
Sets the IGMP/MLD Proxy Querier Admin mode for the specified snooping instance.
open_error_t openapiSnoopIntfModeSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_CONTROL_t mode, uint8_t family)
Sets the IGMP/MLD Snooping mode for the specified interface.
open_error_t openapiSnoopIntfFastLeaveAdminModeSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_CONTROL_t mode, uint8_t family)
Sets the Fast-Leave Admin mode for the specified interface.
open_error_t openapiSnoopVlanFastLeaveModeGet(openapiClientHandle_t *client_handle, uint32_t vlanId, OPEN_BOOL_t *fastLeaveMode, uint8_t family)
Gets the configured IGMP/MLD snooping fast leave mode for the specified VLAN.
open_error_t openapiSnoopProtocolGet(openapiClientHandle_t *client_handle, uint8_t family, OPEN_BOOL_t *status)
Checks if the passed family type snooping is supported or not.
open_error_t openapiSnoopIsAutoVideoVlanEnabled(openapiClientHandle_t *client_handle, uint32_t vlanId, OPEN_BOOL_t *status)
To check if Auto-Video feature is supported and enabled.
open_error_t openapiSnoopFloodUnknownAllPortsGet(openapiClientHandle_t *client_handle, OPEN_BOOL_t *floodAll)
Returns the configured mode for flooding unknown multicast traffic to all ports.
open_error_t openapiSnoopIntfStaticMcastRtrVlanMaskSet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t ifNum, OPEN_VLAN_LIST_t *vlanStaticMcastRtr, OPEN_CONTROL_t status)
Set the VLAN list on which static mrouter is enabled.
open_error_t openapiSnoopSSMMfdbEntryExcPortMaskGet(openapiClientHandle_t *client_handle, uint8_t family, open_inet_addr_t *pGroup, open_inet_addr_t *pSource, uint32_t *pVlanId, open_buffdesc *excPortMaskName)
Get the exclude port list for a given SSM MFDB entry.
open_error_t openapiSnoopAdminModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t adminMode, uint8_t family)
Sets the IGMP/MLD Snooping Admin mode.
open_error_t openapiSnoopSSMGroupRecordFirstGet(openapiClientHandle_t *client_handle, uint8_t family, open_inet_addr_t *pGroup, uint32_t *pIntIfNum, uint32_t *pVlanId)
Gets the first learnt entry from SSM group database.
open_error_t openapiSnoopProtocolNextGet(openapiClientHandle_t *client_handle, uint32_t family, uint32_t *nextFamily)
Get the next supported protocol family given the family.
open_error_t openapiSnoopQuerierVersionSet(openapiClientHandle_t *client_handle, uint32_t version, uint8_t family)
Sets the snooping querier configured version of a snoop instance.
open_error_t openapiSnoopVlanCheckValid(openapiClientHandle_t *client_handle, uint32_t vlanId)
Check if VLAN is eligible for snooping configuration.
open_error_t openapiSnoopIntfProxyQuerierModeSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_CONTROL_t mode, uint8_t family)
Sets the Proxy Querier Admin mode for the specified interface.
open_error_t openapiSnoopQuerierVlanModeGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *vlanMode, uint8_t family)
Gets the configured snooping querier mode for the specified vlanId of a snoop instance.
open_error_t openapiSnoopQuerierAddressSet(openapiClientHandle_t *client_handle, open_inet_addr_t *snoopQuerierAddr, uint8_t family)
Sets the snooping querier configured address of a snoop instance.
open_error_t openapiSnoopQuerierAdminModeGet(openapiClientHandle_t *client_handle, uint32_t *adminMode, uint8_t family)
Gets the snooping querier admin mode of a snoop instance.
open_error_t openapiSnoopIntfEnabledMaskSet(openapiClientHandle_t *client_handle, open_buffdesc *mask, uint8_t family)
Sets IGMP/MLD Snooping interface mode via a comma separated string.
open_error_t openapiSnoopVlanMrtrExcludeModeGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t vlan, OPEN_CONTROL_t *mode)
Get the VLAN mode for excluding mrouter ports.
open_error_t openapiSnoopReportFloodModeSet(openapiClientHandle_t *client_handle, uint8_t family, OPEN_CONTROL_t mode)
Set the global mode based on which Reports will be flooded.
open_error_t openapiSnoopQuerierAdminModeSet(openapiClientHandle_t *client_handle, uint32_t adminMode, uint8_t family)
Gets the Snooping Querier Admin mode of a snoop instance.
open_error_t openapiSnoopAutoVideoModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *mode)
Gets the Auto-Video mode.
OPEN_SNOOP_QUERIER_STATE_t
open_error_t openapiSnoopVlanMaximumResponseTimeSet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint16_t responseTime, uint8_t family)
Set response time for the specified VLAN.
open_error_t openapiSnoopProxyQuerierAdminModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *adminMode, uint8_t family)
Returns the IGMP/MLD Proxy Querier Admin mode for the specified snooping instance.
open_error_t openapiSnoopVlanIgmpPlusModeGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t vlan, OPEN_CONTROL_t *mode)
Get the igmp plus vlan mode.
open_error_t openapiSnoopQuerierExpiryIntervalSet(openapiClientHandle_t *client_handle, uint32_t expiryInterval, uint8_t family)
Sets the other querier expiry interval of a snoop instance.
open_error_t openapiSnoopQuerierLastQuerierVersionGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *version, uint8_t family)
Gets the detected last querier's version for specified VLAN ID of a snoop instance.
open_error_t openapiSnoopMrtrExcludeModeGet(openapiClientHandle_t *client_handle, uint8_t family, OPEN_CONTROL_t *mode)
To check if mrouter ports are excluded from the forwarding list.
open_error_t openapiSnoopIntfMcastRtrExpiryTimeGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t ifNum, uint32_t *expiryTime)
Get the multicast router expiry time value on an interface.
open_error_t openapiSnoopVlanModeSet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t snoopVlanMode, uint8_t family)
Set the IGMP/MLD snooping mode corresponding to the VLAN ID.
open_error_t openapiSnoopVlanMrtrExcludeModeSet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t vlan, OPEN_CONTROL_t mode)
Set the VLAN mode for excluding mrouter ports.
open_error_t openapiSnoopDataFramesForwardedGet(openapiClientHandle_t *client_handle, uint32_t *forwardedFrames, uint8_t family)
Returns the number of multicast data frames forwarded by the CPU.
OPEN_CONTROL_t
OPEN uses these enumerators to indicate enable or disable for a given config or status parameter...
open_error_t openapiSnoopAutoVideoVlanGet(openapiClientHandle_t *client_handle, uint32_t *vlanId)
Gets the Auto-Video VLAN.
open_error_t openapiSnoopIntfStaticMcastRtrVlanMaskGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t ifNum, OPEN_VLAN_LIST_t *vlanStaticMcastRtr)
Get the VLAN list on which static mrouter is enabled.
open_error_t openapiSnoopQuerierLastQuerierAddressGet(openapiClientHandle_t *client_handle, uint32_t vlanId, open_inet_addr_t *querierAddr, uint8_t family)
Gets the detected last querier address for specified VLAN ID of a snoop instance. ...
open_error_t openapiSnoopSSMMfdbEntryIncPortMaskGet(openapiClientHandle_t *client_handle, uint8_t family, open_inet_addr_t *pGroup, open_inet_addr_t *pSource, uint32_t *pVlanId, open_buffdesc *incPortMaskName)
Get the include port list for a given SSM MFDB entry.
open_error_t openapiSnoopIntfResponseTimeSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t responseTime, uint8_t family)
Sets the IGMP/MLD query response time for the specified interface.
open_error_t openapiSnoopSSMMfdbCurrEntriesGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t *currEntries)
To get the current number of entries in the MFDB table.
open_error_t openapiSnoopVlanReportSuppModeSet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint8_t family, OPEN_BOOL_t reportSuppMode)
Sets the configured IGMP/MLD snooping report suppression mode for the specified VLAN.
SSM Filter Mode Include.
open_error_t openapiSnoopIntfMcastRtrExpiryTimeSet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t ifNum, uint32_t expiryTime)
Set the multicast router expiry time value on an interface.
OPEN_BOOL_t
OPEN uses these enumerators to indicate true or false for a given config or status parameter...
open_error_t openapiSnoopRouterAlertMandatorySet(openapiClientHandle_t *client_handle, uint8_t family, OPEN_BOOL_t checkRtrAlert)
Set if router alert checking in IGMP frames to be enabled.
open_error_t openapiSnoopIsValidIntf(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_BOOL_t *status)
Checks if interface is a valid IGMP/MLD snooping Interface.
open_error_t openapiSnoopIntfMrouterSet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t ifNum, OPEN_CONTROL_t mode)
Set the specified interface as a multicast router interface.
open_error_t openapiSnoopVlanFastLeaveModeSet(openapiClientHandle_t *client_handle, uint32_t vlanId, OPEN_BOOL_t fastLeaveMode, uint8_t family)
Sets the configured IGMP/MLD snooping fast leave mode for the specified VLAN.
open_error_t openapiSnoopVlanMaximumResponseTimeGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint16_t *responseTime, uint8_t family)
Gets the configured IGMP/MLD snooping maximum response time for the specified VLAN.
open_error_t openapiSnoopIntfFastLeaveAdminModeGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_CONTROL_t *mode, uint8_t family)
Returns the Fast-Leave Admin mode for the specified interface.
open_error_t openapiSnoopQuerierAddressGet(openapiClientHandle_t *client_handle, open_inet_addr_t *snoopQuerierAddr, uint8_t family)
Gets the snooping querier configured address of a snoop instance.
Non-SSM Filter Mode State.
open_error_t openapiSnoopFastLeaveAutoAssignmentModeGet(openapiClientHandle_t *client_handle, uint8_t family, OPEN_CONTROL_t *mode)
Get the snooping fast leave auto-assignment global mode.
open_error_t openapiSnoopVlanIgmpPlusModeSet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t vlan, OPEN_CONTROL_t mode)
Set the igmp plus vlan mode.
open_error_t openapiSnoopIntfGroupMembershipIntervalSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t queryTime, uint8_t family)
Sets the IGMP/MLD group membership interval for the specified interface.
open_error_t openapiSnoopAutoVideoModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t mode)
Sets the Auto-Video mode.
open_error_t openapiSnoopSSMSrcListEntryGet(openapiClientHandle_t *client_handle, uint8_t family, open_inet_addr_t *pGroup, uint32_t *pIntIfNum, uint32_t *pVlanId, open_inet_addr_t *pSrcIp)
To validate if the specified source address exists for the specified group address and interface or n...
open_error_t openapiSnoopQuerierVersionGet(openapiClientHandle_t *client_handle, uint32_t *version, uint8_t family)
Gets the snooping querier configured version of a snoop instance.
open_error_t openapiSnoopControlFramesProcessedGet(openapiClientHandle_t *client_handle, uint32_t *processedFrames, uint8_t family)
Returns the number of multicast control frames processed by the CPU.
open_error_t openapiSnoopIntfFastLeaveOperModeGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t ifNum, OPEN_CONTROL_t *mode)
Get the interface based fast leave auto-assignment mode.
open_error_t openapiSnoopSSMSrcListEntryNextGet(openapiClientHandle_t *client_handle, uint8_t family, open_inet_addr_t *pGroup, uint32_t *pIntIfNum, uint32_t *pVlanId, open_inet_addr_t *pSrcIp)
Get the next source list entry for the specified group address interface and source address...
open_error_t openapiSnoopVlanReportFloodModeGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t vlan, OPEN_CONTROL_t *mode)
Get the report flood mode in the VLAN.
open_error_t openapiSnoopAdminModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *adminMode, uint8_t family)
Returns the IGMP/MLD Snooping Admin mode.
open_error_t openapiSnoopQuerierOperMaxRespTimeGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *maxRespTime, uint8_t family)
Gets the operational value of max response time for specified VLAN ID of a snoop instance.
open_error_t openapiSnoopIgmpPlusModeSet(openapiClientHandle_t *client_handle, uint8_t family, OPEN_CONTROL_t mode)
Set the IGMP plus mode.
open_error_t openapiSnoopIntfMrouterStatusGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t ifNum, OPEN_CONTROL_t *status)
Get the Multicast Router Detected status for the specified interface.
open_error_t openapiSnoopIntfModeGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_CONTROL_t *mode, uint8_t family)
Returns the IGMP/MLD Snooping mode for the specified interface.
open_error_t openapiSnoopVlanReportFloodModeSet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t vlan, OPEN_CONTROL_t mode)
Set the report flood mode in the VLAN.
open_error_t openapiSnoopSSMGroupRecordNextGet(openapiClientHandle_t *client_handle, uint8_t family, open_inet_addr_t *pGroup, uint32_t *pIntIfNum, uint32_t *pVlanId)
Gets the next learnt entry from SSM group database.
open_error_t openapiSnoopQuerierVlanElectionModeGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *vlanMode, uint8_t family)
Gets the configured snooping querier election mode for the specified vlan ID of a snoop instance...
open_error_t openapiSnoopIntfEnabledMaskGet(openapiClientHandle_t *client_handle, open_buffdesc *mask, uint8_t family)
Returns the interface mask of interfaces enabled for IGMP/MLD Snooping.
open_error_t openapiSnoopSSMMfdbMostEntriesGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t *mostEntries)
To get the most number of entries ever in the SSM MFDB table for a given family.
open_error_t openapiSnoopIntfProxyQuerierModeGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_CONTROL_t *mode, uint8_t family)
Returns the Proxy Querier Admin mode for the specified interface.
open_error_t openapiSnoopQuerierQueryIntervalGet(openapiClientHandle_t *client_handle, uint32_t *queryInterval, uint8_t family)
Gets the snooping querier query interval of a snoop instance.
open_error_t openapiSnoopVlanGroupMembershipIntervalGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint16_t *groupMembershipInterval, uint8_t family)
Gets the configured IGMP/MLD snooping group membership interval for the specified VLAN...
open_error_t openapiSnoopVlanMrouterListGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t vlan, open_buffdesc *dynamicMask, open_buffdesc *staticMask)
Get the static and dynamic Mrouter interface list.
open_error_t openapiSnoopReportFloodModeGet(openapiClientHandle_t *client_handle, uint8_t family, OPEN_CONTROL_t *mode)
Get the global mode based on which Reports will be flooded.
open_error_t openapiSnoopIntfGroupMembershipIntervalGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *queryTime, uint8_t family)
Returns the IGMP/MLD group membership interval for the specified interface.
open_error_t openapiSnoopVlanProxyQuerierModeGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *mode, uint8_t family)
Gets the configured snooping proxy querier mode for the specified VLAN of a snoop instance...
open_error_t openapiSnoopVlanMcastRtrExpiryTimeSet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t vlan, uint16_t expiryTime)
Set the configured IGMP Snooping Mcast Router Expiry Time for the VLAN.
open_error_t openapiSnoopRouterAlertMandatoryGet(openapiClientHandle_t *client_handle, uint8_t family, OPEN_BOOL_t *checkRtrAlert)
Get whether router alert checking in IGMP frames is enabled.
open_error_t openapiSnoopSSMMfdbMaxTableEntriesGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t *maxEntries)
To get the maximum number of entries that the SSM MFDB table can hold for a given family...
open_error_t openapiSnoopFloodUnknownAllPortsSet(openapiClientHandle_t *client_handle, OPEN_BOOL_t floodAll)
Sets the configured mode for flooding unknown multicast traffic to all ports.
OPEN_SNOOP_SSM_FILTER_MODE_t
open_error_t openapiSnoopIgmpPlusModeGet(openapiClientHandle_t *client_handle, uint8_t family, OPEN_CONTROL_t *mode)
Get the IGMP plus mode.
open_error_t openapiSnoopQuerierMacAddrGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t vlan, open_buffdesc *snoopQuerierMac)
Get the last detected Querier MAC Address on a vlan.
open_error_t openapiSnoopVlanMcastRtrExpiryTimeGet(openapiClientHandle_t *client_handle, uint8_t family, uint32_t vlan, uint16_t *expiryTime)
Get the configured IGMP Snooping Mcast Router Expiry Time for the VLAN.
open_error_t openapiSnoopQuerierVlanAddressGet(openapiClientHandle_t *client_handle, uint32_t vlanId, open_inet_addr_t *snoopQuerierAddr, uint8_t family)
Gets the qnooping querier configured address for specified VLAN ID of a snoop instance.
open_error_t openapiSnoopSSMMfdbEntryNextGet(openapiClientHandle_t *client_handle, uint8_t family, open_inet_addr_t *pGroup, open_inet_addr_t *pSource, uint32_t *pVlanId)
Gets next learnt entry from SSM MFDB.