40 #ifndef OPENAPI_DHCP_SNOOPING_H_INCLUDED
41 #define OPENAPI_DHCP_SNOOPING_H_INCLUDED
54 #define OPEN_DS_BINDING_TENTATIVE 0
55 #define OPEN_DS_BINDING_STATIC 1
56 #define OPEN_DS_BINDING_DYNAMIC 2
58 #define OPEN_MAC_ADDR_LEN 6
82 #define OPEN_DS_CID_MAC_VERIFY 1
83 #define OPEN_DS_CID_INTF_MISMATCH 2
84 #define OPEN_DS_CID_UNTRUSTED_SRVR_MSG 3
86 #define OPEN_DS_DB_MIN_STORE_INTERVAL 15
87 #define OPEN_DS_DB_MAX_STORE_INTERVAL 86400
89 #define OPEN_DS_RATE_LIMIT_MIN 0
90 #define OPEN_DS_RATE_LIMIT_MAX 300
91 #define OPEN_DS_RATE_LIMIT_DEFAULT -1
92 #define OPEN_DS_BURST_INTERVAL_MIN 1
93 #define OPEN_DS_BURST_INTERVAL_MAX 15
94 #define OPEN_DS_BURST_INTERVAL_DEFAULT -1
477 uint32_t vlanStart, uint32_t vlanEnd,
751 uint32_t *untrustedSrvMsgsWithOpt82,
752 uint32_t *untrustedCliMsgsWithOpt82,
753 uint32_t *trustedSrvMsgsWithoutOpt82,
754 uint32_t *trustedCliMsgsWithoutOpt82);
1088 uint32_t counterId, uint32_t *value);
1189 uint32_t vlanEnd, uint32_t mode);
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 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.
This action is not supported.
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 openapiDsL2RelayIntfStatsGet(openapiClientHandle_t *client_handle, uint32_t ifNum, uint32_t *untrustedSrvMsgsWithOpt82, uint32_t *untrustedCliMsgsWithOpt82, uint32_t *trustedSrvMsgsWithoutOpt82, uint32_t *trustedCliMsgsWithoutOpt82)
Gets the DHCP L2 Relay interface specific statistics.
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 openapiDsL2RelayIntfStatsClear(openapiClientHandle_t *client_handle, uint32_t ifNum)
Clears the DHCP L2 Relay interface specific statistics.
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 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
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.