Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.13.1.2
openapi_dhcp_snooping.h
Go to the documentation of this file.
1 
9 /*********************************************************************
10 *
11 * Copyright 2018-2024 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_dhcp_snooping.h
28 *
29 * @purpose DHCP Snooping API
30 *
31 * @component OpEN
32 *
33 * @note This code must not include any ICOS header files.
34 *
35 * @create 7/9/2018
36 *
37 * @end
38 *
39 **********************************************************************/
40 #ifndef OPENAPI_DHCP_SNOOPING_H_INCLUDED
41 #define OPENAPI_DHCP_SNOOPING_H_INCLUDED
42 
43 #include "openapi_common.h"
44 
46 typedef enum
47 {
52 
54 #define OPEN_DS_BINDING_TENTATIVE 0
55 #define OPEN_DS_BINDING_STATIC 1
56 #define OPEN_DS_BINDING_DYNAMIC 2
57 #define OPEN_DS_BINDING_VOLATILE 3
59 #define OPEN_MAC_ADDR_LEN 6
61 {
62  unsigned char macAddr[OPEN_MAC_ADDR_LEN];
63  unsigned short vlanId;
64  uint32_t ipAddr;
65  uint32_t intIfNum;
66  uint32_t remLease;
67  uint32_t allottedLeaseTime;
68  uint32_t bindingType;
70 
72 {
73  unsigned char macAddr[OPEN_MAC_ADDR_LEN];
74  unsigned short vlanId;
76  uint32_t intIfNum;
77  uint32_t remLease;
78  uint32_t allottedLeaseTime;
79  uint32_t bindingType;
81 
83 #define OPEN_DS_CID_MAC_VERIFY 1
84 #define OPEN_DS_CID_INTF_MISMATCH 2
85 #define OPEN_DS_CID_UNTRUSTED_SRVR_MSG 3
86 
87 #define OPEN_DS_DB_MIN_STORE_INTERVAL 15
88 #define OPEN_DS_DB_MAX_STORE_INTERVAL 86400
89 
90 #define OPEN_DS_RATE_LIMIT_MIN 0
91 #define OPEN_DS_RATE_LIMIT_MAX 300
92 #define OPEN_DS_RATE_LIMIT_DEFAULT -1 /* rate-limit disabled */
93 #define OPEN_DS_BURST_INTERVAL_MIN 1
94 #define OPEN_DS_BURST_INTERVAL_MAX 15
95 #define OPEN_DS_BURST_INTERVAL_DEFAULT -1 /* No burst interval by default */
96 /*****************************************************************/
114  OPEN_AF_t family,
115  OPEN_CONTROL_t *adminMode);
116 
117 /*****************************************************************/
140  OPEN_AF_t family,
141  OPEN_CONTROL_t *sourceMacVerify);
142 
143 /*****************************************************************/
167  OPEN_AF_t family,
168  uint32_t *vlanStart,
169  uint32_t *vlanEnd);
170 
171 /*****************************************************************/
192  OPEN_AF_t family,
193  uint32_t ifNum,
194  OPEN_CONTROL_t *enabled);
195 
196 /*****************************************************************/
213  OPEN_AF_t family,
214  uint32_t ifNum,
215  OPEN_BOOL_t *trusted);
216 
217 /*****************************************************************/
235  OPEN_AF_t family,
236  uint32_t ifNum,
237  OPEN_BOOL_t *logged);
238 
239 /*****************************************************************/
253 
254 /*****************************************************************/
270  OPEN_AF_t family,
271  open_buffdesc *fileName);
272 
273 /*****************************************************************/
288  OPEN_AF_t family,
289  open_inet_addr_t *addr);
290 
291 /*****************************************************************/
306  OPEN_AF_t family,
307  uint32_t *delay);
308 
309 /*****************************************************************/
325  OPEN_CONTROL_t *adminMode);
326 
327 /*****************************************************************/
342  OPEN_CONTROL_t adminMode);
343 
344 /*****************************************************************/
361  uint32_t ifNum,
362  OPEN_CONTROL_t *intfMode);
363 
364 /*****************************************************************/
380  uint32_t ifNum,
381  OPEN_CONTROL_t intfMode);
382 
383 /*****************************************************************/
400  uint32_t ifNum,
401  OPEN_BOOL_t *trustMode);
402 
403 /*****************************************************************/
419  uint32_t ifNum,
420  OPEN_BOOL_t trustMode);
421 
422 /*****************************************************************/
439  uint32_t vlanNum,
440  OPEN_CONTROL_t *l2RelayMode);
441 
442 /*****************************************************************/
458  uint32_t vlanNum,
459  OPEN_CONTROL_t l2RelayMode);
460 
461 /*****************************************************************/
478  uint32_t vlanStart, uint32_t vlanEnd,
479  OPEN_CONTROL_t l2RelayMode);
480 
481 /*****************************************************************/
498  uint32_t vlanNum,
499  OPEN_CONTROL_t *circuitIdMode);
500 
501 /*****************************************************************/
517  uint32_t vlanNum,
518  OPEN_CONTROL_t circuitIdMode);
519 
520 /*****************************************************************/
537  uint32_t vlanStart,
538  uint32_t vlanEnd,
539  OPEN_CONTROL_t circuitIdMode);
540 
541 /*****************************************************************/
557  uint32_t vlanNum,
558  open_buffdesc *remoteId);
559 
560 /*****************************************************************/
576  uint32_t vlanNum,
577  open_buffdesc *remoteId);
578 
579 /*****************************************************************/
596  uint32_t vlanStart,
597  uint32_t vlanEnd,
598  open_buffdesc *remoteId);
599 
600 /*****************************************************************/
618  uint32_t ifNum,
619  open_buffdesc *subscriptionName,
620  OPEN_CONTROL_t *l2RelaySubMode);
621 
622 /*****************************************************************/
639  uint32_t ifNum,
640  open_buffdesc *subscriptionName,
641  OPEN_CONTROL_t l2RelaySubMode);
642 
643 /*****************************************************************/
662  uint32_t ifNum,
663  open_buffdesc *subscriptionName,
664  OPEN_CONTROL_t *l2RelayCIdMode);
665 
666 /*****************************************************************/
684  uint32_t ifNum,
685  open_buffdesc *subscriptionName,
686  OPEN_CONTROL_t l2RelayCIdMode);
687 
688 /*****************************************************************/
706  uint32_t ifNum,
707  open_buffdesc *subscriptionName,
708  open_buffdesc *remoteId);
709 
710 /*****************************************************************/
728  uint32_t ifNum,
729  open_buffdesc *subscriptionName,
730  open_buffdesc *remoteId);
731 
732 /*****************************************************************/
753  uint32_t ifNum,
754  uint32_t *untrustedSrvMsgsWithOpt82,
755  uint32_t *untrustedCliMsgsWithOpt82,
756  uint32_t *trustedSrvMsgsWithoutOpt82,
757  uint32_t *trustedCliMsgsWithoutOpt82,
758  uint32_t *trustedSrvMsgsWithOpt82,
759  uint32_t *trustedCliMsgsWithOpt82);
760 
761 /*****************************************************************/
776  uint32_t ifNum);
777 
778 /*****************************************************************/
795  uint32_t ifNum,
797 
798 /*****************************************************************/
815  uint32_t ifNum,
817 
818 /*****************************************************************/
834  uint32_t intIfNum,
835  open_buffdesc *circuitId);
836 
837 /*****************************************************************/
853  uint32_t intIfNum,
854  open_buffdesc *circuitId);
855 
856 /*************************************************************************/
876  OPEN_AF_t family, uint32_t ifNum,
877  int32_t *rate);
878 
879 /*************************************************************************/
900  OPEN_AF_t family, uint32_t ifNum,
901  int32_t rate);
902 
903 /*************************************************************************/
924  OPEN_AF_t family, uint32_t ifNum,
925  int32_t *interval);
926 
927 /*************************************************************************/
949  OPEN_AF_t family, uint32_t ifNum,
950  int32_t interval);
951 
952 /*************************************************************************/
969  OPEN_AF_t family, uint32_t *count);
970 
971 /*************************************************************************/
988  OPEN_DHCP_SNOOP_BINDING_t *dsBinding);
989 
990 /*************************************************************************/
1008  OPEN_DHCP_SNOOP_BINDING_t *dsBinding,
1009  OPEN_DHCP_SNOOP_BINDING_t *dsBindingNext);
1010 
1011 /*************************************************************************/
1028  OPEN_AF_t family, uint32_t *ipAddr);
1029 
1030 /*************************************************************************/
1048  OPEN_AF_t family, uint32_t ipAddr);
1049 
1050 /*************************************************************************/
1067  OPEN_AF_t family, open_buffdesc *fileName);
1068 
1069 /*************************************************************************/
1087  OPEN_AF_t family, open_buffdesc *fileName);
1088 
1089 /*************************************************************************/
1107  OPEN_AF_t family, uint32_t interval);
1108 
1109 /*************************************************************************/
1130  OPEN_AF_t family, uint32_t ifNum,
1131  uint32_t counterId, uint32_t *value);
1132 
1133 /*************************************************************************/
1151  OPEN_AF_t family, uint32_t ifNum,
1152  OPEN_BOOL_t clearStaticFlag);
1153 
1154 /*************************************************************************/
1171  OPEN_AF_t family, uint32_t mode);
1172 
1173 /*************************************************************************/
1190  OPEN_AF_t family, OPEN_BOOL_t status);
1191 
1192 /*************************************************************************/
1209  OPEN_AF_t family, uint32_t vlanId,
1210  uint32_t *mode);
1211 
1212 /*************************************************************************/
1231  OPEN_AF_t family, uint32_t vlanStart,
1232  uint32_t vlanEnd, uint32_t mode);
1233 
1234 /*************************************************************************/
1252  OPEN_AF_t family, uint32_t ifNum,
1253  OPEN_BOOL_t trustMode);
1254 
1255 /*************************************************************************/
1273  OPEN_AF_t family, uint32_t ifNum,
1274  OPEN_BOOL_t logMode);
1275 
1276 /*************************************************************************/
1291  OPEN_DHCP_V6_SNOOP_BINDING_t *dsBinding);
1292 
1293 /*************************************************************************/
1309  OPEN_DHCP_V6_SNOOP_BINDING_t *dsBinding,
1310  OPEN_DHCP_V6_SNOOP_BINDING_t *dsBindingNext);
1311 
1312 /*************************************************************************/
1332  OPEN_AF_t family, open_buffdesc *macAddr,
1333  open_buffdesc *ipAddr, uint32_t vlanId,
1334  uint32_t ifNum);
1335 
1336 /*************************************************************************/
1353  OPEN_AF_t family,
1354  open_buffdesc *macAddr);
1355 
1356 /*************************************************************************/
1377  OPEN_AF_t family, open_buffdesc *macAddr,
1378  open_buffdesc *ipAddr, uint32_t vlanId,
1379  uint32_t ifNum, uint32_t leaseTime);
1380 
1381 #endif /* OPENAPI_DHCP_SNOOPING_H_INCLUDED */
1382 
open_error_t openapiDsDbStoreIntervalSet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t interval)
Set write delay interval to store the DHCP SNOOPING database.
open_error_t openapiDsL2RelayAdminModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *adminMode)
Gets the DHCP L2 Relay Admin mode.
open_error_t openapiDsL2RelaySubscriptionModeSet(openapiClientHandle_t *client_handle, uint32_t ifNum, open_buffdesc *subscriptionName, OPEN_CONTROL_t l2RelaySubMode)
Sets the DHCP L2 Relay mode for a given subscription on an interface.
unsigned short vlanId
VLAN ID.
open_error_t openapiDsIntfBurstIntervalSet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ifNum, int32_t interval)
Set the burst interval value of incoming DHCP packets on untrusted interfaces.
open_error_t openapiDhcpSnoopingIntfLoggedGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ifNum, OPEN_BOOL_t *logged)
Determines whether DHCP snooping logs invalid packets on an interface.
open_error_t openapiDsL2RelayIntfTrustSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t trustMode)
Set API to configure a port in desired trust mode for DHCP l2 relay.
open_error_t openapiDhcpSnoopingDbFileNameGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, open_buffdesc *fileName)
Get the remote DHCP snooping database file name.
uint32_t allottedLeaseTime
Lease time allotted.
open_error_t openapiDsAdminModeSet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t mode)
Sets the DHCP Snooping admin mode.
open_error_t openapiDsDbIpAddrSet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ipAddr)
Set remote IP Address to store and restore the DHCP SNOOPING database.
open_error_t openapiDsL2RelaySubscriptionCircuitIdModeSet(openapiClientHandle_t *client_handle, uint32_t ifNum, open_buffdesc *subscriptionName, OPEN_CONTROL_t l2RelayCIdMode)
Sets the DHCP L2 Relay Circuit-id mode for a given subscription on an interface.
uint32_t ipAddr
IP address assigned to the station.
open_error_t openapiDsDbFileNameGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, open_buffdesc *fileName)
Get remote file name to store and restore the DHCP SNOOPING database.
open_error_t openapiDsL2RelayIntfStatsGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *untrustedSrvMsgsWithOpt82, uint32_t *untrustedCliMsgsWithOpt82, uint32_t *trustedSrvMsgsWithoutOpt82, uint32_t *trustedCliMsgsWithoutOpt82, uint32_t *trustedSrvMsgsWithOpt82, uint32_t *trustedCliMsgsWithOpt82)
Gets the DHCP L2 Relay interface specific statistics.
open_error_t openapiDhcpSnoopingDbIpAddressGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, open_inet_addr_t *addr)
Get the remote DHCP snooping database IPv4 Address.
open_error_t openapiDsL2RelayVlanRangeCircuitIdSet(openapiClientHandle_t *client_handle, uint32_t vlanStart, uint32_t vlanEnd, OPEN_CONTROL_t circuitIdMode)
Sets the DHCP L2 Relay circuit-Id mode for a vlan range.
open_error_t openapiDsIpv6BindingGetNext(openapiClientHandle_t *client_handle, OPEN_DHCP_V6_SNOOP_BINDING_t *dsBinding, OPEN_DHCP_V6_SNOOP_BINDING_t *dsBindingNext)
Get the next DHCP IPv6 snooping binding entry.
unsigned char macAddr[OPEN_MAC_ADDR_LEN]
A MAC address uniquely identifies a node in the bindings data base.
open_error_t openapiDhcpSnoopingIntfTrustedGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ifNum, OPEN_BOOL_t *trusted)
Determines whether DHCP snooping considers an interface as trusted.
open_error_t openapiDsL2RelayVlanRangeModeSet(openapiClientHandle_t *client_handle, uint32_t vlanStart, uint32_t vlanEnd, OPEN_CONTROL_t l2RelayMode)
Sets the DHCP L2 Relay mode for a vlan range.
open_error_t openapiDsL2RelayIntfTrustGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t *trustMode)
Get API for whether DHCP L2 relay considers a port trusted.
open_error_t openapiDsStaticBindingCountGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t *count)
Get the number of DHCP snooping static bindings.
open_error_t openapiDsL2RelayIntfTrustNoOption82ActionGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_DHCP_L2RELAY_NO_OPTION_82_ACTION_t *action)
Fetch configured no-option-82 action on L2 relay trusted interfaces.
open_error_t
OPEN uses these enumerators to indicate the error codes.
unsigned char macAddr[OPEN_MAC_ADDR_LEN]
A MAC address uniquely identifies a node in the bindings data base.
open_error_t openapiDsIpv6BindingGet(openapiClientHandle_t *client_handle, OPEN_DHCP_V6_SNOOP_BINDING_t *dsBinding)
Get the DHCP IPv6 snooping binding entry.
uint32_t remLease
Time left on lease (minutes)
uint32_t remLease
Time left on lease (minutes)
open_error_t openapiDhcpSnoopingAdminModeGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, OPEN_CONTROL_t *adminMode)
Gets the DHCP Snooping Admin mode.
open_error_t openapiDsIntfRateLimitSet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ifNum, int32_t rate)
Set the rate limit value of incoming DHCP packets on untrusted interfaces.
open_error_t openapiDsDbIpAddrGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t *ipAddr)
Get remote IP Address to store and restore the DHCP SNOOPING database.
open_error_t openapiDhcpSnoopingPortEnabledGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ifNum, OPEN_CONTROL_t *enabled)
Determines whether DHCP snooping is enabled on a port.
open_error_t openapiDsDbFileNameSet(openapiClientHandle_t *client_handle, OPEN_AF_t family, open_buffdesc *fileName)
Set remote file name to store and restore the DHCP SNOOPING database.
open_error_t openapiDsL2RelayCircuitIdGet(openapiClientHandle_t *client_handle, uint32_t vlanNum, OPEN_CONTROL_t *circuitIdMode)
Gets the DHCP L2 Relay circuit-id mode for a vlan.
open_error_t openapiDsL2RelayRemoteIdGet(openapiClientHandle_t *client_handle, uint32_t vlanNum, open_buffdesc *remoteId)
Gets the DHCP L2 Relay remote-id string for a vlan.
open_error_t openapiDsVerifyMacSet(openapiClientHandle_t *client_handle, OPEN_AF_t family, OPEN_BOOL_t status)
Set API for whether DHCP snooping verifies source MAC addresses.
open_error_t openapiDsL2RelaySubscriptionRemoteIdGet(openapiClientHandle_t *client_handle, uint32_t ifNum, open_buffdesc *subscriptionName, open_buffdesc *remoteId)
Gets the DHCP L2 Relay Remote-id string for a given subscription on an interface. ...
open_error_t openapiDsL2RelayCircuitIdSet(openapiClientHandle_t *client_handle, uint32_t vlanNum, OPEN_CONTROL_t circuitIdMode)
Sets the DHCP L2 Relay circuit-Id mode for a vlan.
open_error_t openapiDsL2RelayVlanRangeRemoteIdSet(openapiClientHandle_t *client_handle, uint32_t vlanStart, uint32_t vlanEnd, open_buffdesc *remoteId)
Sets the DHCP L2 Relay remote-Id string for a vlan range.
open_error_t openapiDsIntfStatsGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ifNum, uint32_t counterId, uint32_t *value)
Get DHCP snooping statistics for passed counter Id.
OPEN_AF_t
OPEN uses these enumerators to indicate address family, IPV4 or IPV6.
open_error_t openapiDsL2RelaySubscriptionRemoteIdSet(openapiClientHandle_t *client_handle, uint32_t ifNum, open_buffdesc *subscriptionName, open_buffdesc *remoteId)
Sets the DHCP L2 Relay Remote-id string for a given subscription on an interface. ...
open_error_t openapiDhcpSnoopingDbFileNameMaxLengthGet(openapiClientHandle_t *client_handle, uint32_t *len)
Get the remote DHCP snooping database file name max length.
open_error_t openapiDsBindingGetNext(openapiClientHandle_t *client_handle, OPEN_DHCP_SNOOP_BINDING_t *dsBinding, OPEN_DHCP_SNOOP_BINDING_t *dsBindingNext)
Get the next DHCP snooping binding entry.
uint32_t intIfNum
Physical port where client is attached.
open_error_t openapiDsIpStaticBindingRemove(openapiClientHandle_t *client_handle, OPEN_AF_t family, open_buffdesc *macAddr)
Remove a static entry from the DHCP snooping bindings database.
OPEN_CONTROL_t
OPEN uses these enumerators to indicate enable or disable for a given config or status parameter...
open_error_t openapiDhcpSnoopingDbWriteDelayGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t *delay)
Get the DHCP snooping database write delay.
open_error_t openapiDsL2RelayIntfModeSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t intfMode)
Sets the DHCP L2 Relay interface mode.
uint32_t allottedLeaseTime
Lease time allotted.
open_error_t openapiDhcpSnoopingEnabledVlanRangeNextGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t *vlanStart, uint32_t *vlanEnd)
Given a VLAN ID, return the endpoints of the next range of VLANs enabled for DHCP snooping...
OPEN_BOOL_t
OPEN uses these enumerators to indicate true or false for a given config or status parameter...
OPEN_DHCP_L2RELAY_NO_OPTION_82_ACTION_t
DHCP L2 relay option 82 actions.
open_error_t openapiDsIpStaticBindingAdd(openapiClientHandle_t *client_handle, OPEN_AF_t family, open_buffdesc *macAddr, open_buffdesc *ipAddr, uint32_t vlanId, uint32_t ifNum)
Add a static entry to the DHCP snooping bindings database.
open_in6_addr_t ipAddr
IPv6 address assigned to the station.
open_error_t openapiDsL2RelayIntfCircuitIdStringGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, open_buffdesc *circuitId)
Gets the DHCP L2 relay circuit-id string on an interface.
open_error_t openapiDsL2RelayIntfStatsClear(openapiClientHandle_t *client_handle, uint32_t ifNum)
Clears the DHCP L2 Relay interface specific statistics.
open_error_t openapiDsL2RelayIntfCircuitIdStringSet(openapiClientHandle_t *client_handle, uint32_t intIfNum, open_buffdesc *circuitId)
Sets the DHCP L2 relay circuit-id string on an interface.
uint32_t bindingType
dynamic, static, tentative
open_error_t openapiDsL2RelayVlanModeSet(openapiClientHandle_t *client_handle, uint32_t vlanNum, OPEN_CONTROL_t l2RelayMode)
Sets the DHCP L2 Relay mode for a vlan.
open_error_t openapiDsIntfBurstIntervalGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ifNum, int32_t *interval)
Get the burst interval value of incoming DHCP packets on untrusted interfaces.
open_error_t openapiDsBindingClear(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ifNum, OPEN_BOOL_t clearStaticFlag)
Clear DHCP snooping bindings.
open_error_t openapiDsIpVolatileBindingAdd(openapiClientHandle_t *client_handle, OPEN_AF_t family, open_buffdesc *macAddr, open_buffdesc *ipAddr, uint32_t vlanId, uint32_t ifNum, uint32_t leaseTime)
Add a volatile entry to the DHCP snooping bindings database.
open_error_t openapiDsVlanConfigSet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t vlanStart, uint32_t vlanEnd, uint32_t mode)
Set API to enable or disable DHCP snooping on a VLAN.
open_error_t openapiDhcpSnoopingVerifySourceMacGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, OPEN_CONTROL_t *sourceMacVerify)
Gets whether DHCP snooping verifies source MAC addresses.
open_error_t openapiDsBindingGet(openapiClientHandle_t *client_handle, OPEN_DHCP_SNOOP_BINDING_t *dsBinding)
Get the DHCP snooping binding entry.
open_error_t openapiDsL2RelayIntfTrustNoOption82ActionSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_DHCP_L2RELAY_NO_OPTION_82_ACTION_t action)
Configure action for packets received without option-82 on L2 relay trusted interfaces.
open_error_t openapiDsIntfTrustSet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ifNum, OPEN_BOOL_t trustMode)
Set API for whether DHCP snooping considers a port trusted.
open_error_t openapiDsL2RelayIntfModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *intfMode)
Gets the DHCP L2 Relay interface mode.
open_error_t openapiDsL2RelayRemoteIdSet(openapiClientHandle_t *client_handle, uint32_t vlanNum, open_buffdesc *remoteId)
Sets the DHCP L2 Relay remote-Id string for a vlan.
open_error_t openapiDsL2RelayVlanModeGet(openapiClientHandle_t *client_handle, uint32_t vlanNum, OPEN_CONTROL_t *l2RelayMode)
Gets the DHCP L2 Relay mode for a VLAN.
uint32_t intIfNum
Physical port where client is attached.
open_error_t openapiDsVlanConfigGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t vlanId, uint32_t *mode)
Get API for whether DHCP snooping is enabled or disabled on a VLAN.
open_error_t openapiDsL2RelaySubscriptionModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, open_buffdesc *subscriptionName, OPEN_CONTROL_t *l2RelaySubMode)
Gets the DHCP L2 Relay mode for a given subscription on an interface.
uint32_t bindingType
dynamic, static, tentative, volatile
open_error_t openapiDsL2RelaySubscriptionCircuitIdModeGet(openapiClientHandle_t *client_handle, uint32_t ifNum, open_buffdesc *subscriptionName, OPEN_CONTROL_t *l2RelayCIdMode)
Gets the DHCP L2 Relay Circuit-id mode for a given subscription on an interface.
open_error_t openapiDsIntfRateLimitGet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ifNum, int32_t *rate)
Get the rate limit value of incoming DHCP packets on untrusted interfaces.
open_error_t openapiDsIntfLogInvalidSet(openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ifNum, OPEN_BOOL_t logMode)
Set API for whether DHCP snooping logs invalid packets.
open_error_t openapiDsL2RelayAdminModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t adminMode)
Sets the DHCP L2 Relay Admin mode.
unsigned short vlanId
VLAN ID.
Hash Mode names.