Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.11.1.2
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 /**************************************************************************/
1162  uint32_t vlanId,
1163  uint8_t family,
1164  OPEN_BOOL_t *reportSuppMode);
1165 
1166 /**************************************************************************/
1184  uint32_t vlanId,
1185  uint8_t family,
1186  OPEN_BOOL_t reportSuppMode);
1187 
1188 /**************************************************************************/
1204  open_inet_addr_t *snoopQuerierAddr,
1205  uint8_t family);
1206 
1207 /**************************************************************************/
1223  open_inet_addr_t *snoopQuerierAddr,
1224  uint8_t family);
1225 
1226 /**************************************************************************/
1242  uint32_t *adminMode,
1243  uint8_t family);
1244 
1245 /**************************************************************************/
1261  uint32_t adminMode,
1262  uint8_t family);
1263 
1264 /**************************************************************************/
1280  uint32_t *expiryInterval,
1281  uint8_t family);
1282 
1283 /**************************************************************************/
1299  uint32_t expiryInterval,
1300  uint8_t family);
1301 
1302 /**************************************************************************/
1320  uint32_t vlanId,
1321  open_inet_addr_t *querierAddr,
1322  uint8_t family);
1323 
1324 /**************************************************************************/
1343  uint32_t vlanId,
1344  uint32_t *version,
1345  uint8_t family);
1346 
1347 /**************************************************************************/
1369  uint32_t vlanId,
1370  uint32_t *maxRespTime,
1371  uint8_t family);
1372 
1373 /**************************************************************************/
1392  uint32_t vlanId,
1393  uint32_t *state,
1394  uint8_t family);
1395 
1396 /**************************************************************************/
1415  uint32_t vlanId,
1416  uint32_t *version,
1417  uint8_t family);
1418 
1419 /**************************************************************************/
1436  uint32_t *queryInterval,
1437  uint8_t family);
1438 
1439 /**************************************************************************/
1456  uint32_t queryInterval,
1457  uint8_t family);
1458 
1459 /**************************************************************************/
1475  uint32_t *version,
1476  uint8_t family);
1477 
1478 /**************************************************************************/
1494  uint32_t version,
1495  uint8_t family);
1496 
1497 /**************************************************************************/
1515  uint32_t vlanId,
1516  open_inet_addr_t *snoopQuerierAddr,
1517  uint8_t family);
1518 
1519 /**************************************************************************/
1537  uint32_t vlanId,
1538  open_inet_addr_t *snoopQuerierAddr,
1539  uint8_t family);
1540 
1541 /**************************************************************************/
1560  uint32_t vlanId,
1561  uint32_t *vlanMode,
1562  uint8_t family);
1563 
1564 /**************************************************************************/
1583  uint32_t vlanId,
1584  uint32_t vlanMode,
1585  uint8_t family);
1586 
1587 /**************************************************************************/
1605  uint32_t vlanId,
1606  uint32_t *vlanMode,
1607  uint8_t family);
1608 
1609 /**************************************************************************/
1627  uint32_t vlanId,
1628  uint32_t vlanMode,
1629  uint8_t family);
1630 
1631 /*****************************************************************/
1646  OPEN_CONTROL_t *mode);
1647 
1648 /*****************************************************************/
1663  OPEN_CONTROL_t mode);
1664 
1665 /*****************************************************************/
1680  uint32_t *vlanId);
1681 
1682 /*************************************************************************/
1699  uint8_t family,
1700  OPEN_CONTROL_t *mode);
1701 
1702 /*************************************************************************/
1719  uint8_t family,
1720  OPEN_CONTROL_t mode);
1721 
1722 /*************************************************************************/
1739  uint8_t family,
1740  OPEN_CONTROL_t *mode);
1741 
1742 /*************************************************************************/
1759  uint8_t family,
1760  OPEN_CONTROL_t mode);
1761 
1762 /*************************************************************************/
1780  uint8_t family,
1781  uint32_t ifNum,
1782  OPEN_VLAN_LIST_t *vlanStaticMcastRtr);
1783 
1784 /*************************************************************************/
1803  uint8_t family,
1804  uint32_t ifNum,
1805  OPEN_VLAN_LIST_t *vlanStaticMcastRtr,
1806  OPEN_CONTROL_t status);
1807 
1808 /*************************************************************************/
1826  uint8_t family,
1827  uint32_t ifNum,
1828  OPEN_CONTROL_t *mode);
1829 
1830 /*************************************************************************/
1848  uint8_t family,
1849  uint32_t ifNum,
1850  OPEN_CONTROL_t mode);
1851 
1852 /*************************************************************************/
1870  uint8_t family,
1871  uint32_t ifNum,
1872  uint32_t *expiryTime);
1873 
1874 /*************************************************************************/
1892  uint8_t family,
1893  uint32_t ifNum,
1894  uint32_t expiryTime);
1895 
1896 /*************************************************************************/
1915  uint8_t family,
1916  uint32_t ifNum,
1917  uint32_t vlanId,
1918  OPEN_CONTROL_t *mode);
1919 
1920 /*************************************************************************/
1938  uint8_t family,
1939  uint32_t ifNum,
1940  OPEN_CONTROL_t mode);
1941 
1942 /*************************************************************************/
1960  uint8_t family,
1961  uint32_t ifNum,
1962  OPEN_CONTROL_t *status);
1963 
1964 /*************************************************************************/
1980  uint32_t vlanId,
1981  OPEN_BOOL_t *status);
1982 
1983 /*************************************************************************/
2000  uint8_t family,
2001  OPEN_CONTROL_t *mode);
2002 
2003 /*************************************************************************/
2020  uint8_t family,
2021  OPEN_CONTROL_t mode);
2022 
2023 /*************************************************************************/
2040  uint32_t family,
2041  uint32_t *nextFamily);
2042 
2043 /*************************************************************************/
2061  uint8_t family,
2062  uint32_t vlan,
2063  open_buffdesc *snoopQuerierMac);
2064 
2065 /*************************************************************************/
2082  uint8_t family,
2083  OPEN_CONTROL_t *mode);
2084 
2085 /*************************************************************************/
2102  uint8_t family,
2103  OPEN_CONTROL_t mode);
2104 
2105 /*************************************************************************/
2122  uint8_t family,
2123  OPEN_BOOL_t *checkRtrAlert);
2124 
2125 /*************************************************************************/
2142  uint8_t family,
2143  OPEN_BOOL_t checkRtrAlert);
2144 
2145 /*************************************************************************/
2163  uint8_t family,
2164  uint32_t vlan,
2165  OPEN_CONTROL_t *mode);
2166 
2167 /*************************************************************************/
2185  uint8_t family,
2186  uint32_t vlan,
2187  OPEN_CONTROL_t mode);
2188 
2189 /*************************************************************************/
2207  uint8_t family,
2208  uint32_t vlan,
2209  uint16_t *expiryTime);
2210 
2211 /*************************************************************************/
2229  uint8_t family,
2230  uint32_t vlan,
2231  uint16_t expiryTime);
2232 
2233 /*************************************************************************/
2252  uint8_t family,
2253  uint32_t vlan,
2254  open_buffdesc *dynamicMask,
2255  open_buffdesc *staticMask);
2256 
2257 /*************************************************************************/
2275  uint8_t family,
2276  uint32_t vlan,
2277  OPEN_CONTROL_t *mode);
2278 
2279 /*************************************************************************/
2297  uint8_t family,
2298  uint32_t vlan,
2299  OPEN_CONTROL_t mode);
2300 
2301 /*************************************************************************/
2319  uint8_t family,
2320  uint32_t vlan,
2321  OPEN_CONTROL_t *mode);
2322 
2323 /*************************************************************************/
2341  uint8_t family,
2342  uint32_t vlan,
2343  OPEN_CONTROL_t mode);
2344 
2345 /*************************************************************************/
2364  uint8_t family,
2365  uint32_t vlan,
2366  uint32_t ifNum,
2367  OPEN_CONTROL_t *status);
2368 
2369 #endif /* OPENAPI_SNOOPING_H_INCLUDED */
2370 
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.