Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.12.0.1
Data Structures | Macros | Typedefs | Enumerations | Functions
openapi_dhcp_snooping.h File Reference
#include "openapi_common.h"

Go to the source code of this file.

Data Structures

struct  OPEN_DHCP_SNOOP_BINDING_s
 
struct  OPEN_DHCP_V6_SNOOP_BINDING_s
 

Macros

#define OPEN_DS_BINDING_DYNAMIC   2
 Dynamic binding.
 
#define OPEN_DS_BINDING_STATIC   1
 Static binding.
 
#define OPEN_DS_BINDING_TENTATIVE   0
 DHCP snooping binding type. More...
 
#define OPEN_DS_BURST_INTERVAL_DEFAULT   -1 /* No burst interval by default */
 
#define OPEN_DS_BURST_INTERVAL_MAX   15
 
#define OPEN_DS_BURST_INTERVAL_MIN   1
 
#define OPEN_DS_CID_INTF_MISMATCH   2
 
#define OPEN_DS_CID_MAC_VERIFY   1
 DHCP SNOOPING COUNTERS ID.
 
#define OPEN_DS_CID_UNTRUSTED_SRVR_MSG   3
 
#define OPEN_DS_DB_MAX_STORE_INTERVAL   86400
 
#define OPEN_DS_DB_MIN_STORE_INTERVAL   15
 
#define OPEN_DS_RATE_LIMIT_DEFAULT   -1 /* rate-limit disabled */
 
#define OPEN_DS_RATE_LIMIT_MAX   300
 
#define OPEN_DS_RATE_LIMIT_MIN   0
 
#define OPEN_MAC_ADDR_LEN   6
 

Typedefs

typedef struct
OPEN_DHCP_SNOOP_BINDING_s 
OPEN_DHCP_SNOOP_BINDING_t
 
typedef struct
OPEN_DHCP_V6_SNOOP_BINDING_s 
OPEN_DHCP_V6_SNOOP_BINDING_t
 

Enumerations

enum  OPEN_DHCP_L2RELAY_NO_OPTION_82_ACTION_t { OPEN_DHCP_L2RELAY_NO_OPTION_82_ACTION_DROP = 0, OPEN_DHCP_L2RELAY_NO_OPTION_82_ACTION_KEEP = 1, OPEN_DHCP_L2RELAY_NO_OPTION_82_ACTION_UPDATE = 2 }
 DHCP L2 relay option 82 actions. More...
 

Functions

open_error_t openapiDhcpSnoopingAdminModeGet (openapiClientHandle_t *client_handle, OPEN_AF_t family, OPEN_CONTROL_t *adminMode)
 Gets the DHCP Snooping Admin mode. More...
 
open_error_t openapiDhcpSnoopingDbFileNameGet (openapiClientHandle_t *client_handle, OPEN_AF_t family, open_buffdesc *fileName)
 Get the remote DHCP snooping database file name. More...
 
open_error_t openapiDhcpSnoopingDbFileNameMaxLengthGet (openapiClientHandle_t *client_handle, uint32_t *len)
 Get the remote DHCP snooping database file name max length. More...
 
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. More...
 
open_error_t openapiDhcpSnoopingDbWriteDelayGet (openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t *delay)
 Get the DHCP snooping database write delay. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
open_error_t openapiDhcpSnoopingVerifySourceMacGet (openapiClientHandle_t *client_handle, OPEN_AF_t family, OPEN_CONTROL_t *sourceMacVerify)
 Gets whether DHCP snooping verifies source MAC addresses. More...
 
open_error_t openapiDsAdminModeSet (openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t mode)
 Sets the DHCP Snooping admin mode. More...
 
open_error_t openapiDsBindingClear (openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t ifNum, OPEN_BOOL_t clearStaticFlag)
 Clear DHCP snooping bindings. More...
 
open_error_t openapiDsBindingGet (openapiClientHandle_t *client_handle, OPEN_DHCP_SNOOP_BINDING_t *dsBinding)
 Get the DHCP snooping binding entry. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
open_error_t openapiDsIpv6BindingGet (openapiClientHandle_t *client_handle, OPEN_DHCP_V6_SNOOP_BINDING_t *dsBinding)
 Get the DHCP IPv6 snooping binding entry. More...
 
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. More...
 
open_error_t openapiDsL2RelayAdminModeGet (openapiClientHandle_t *client_handle, OPEN_CONTROL_t *adminMode)
 Gets the DHCP L2 Relay Admin mode. More...
 
open_error_t openapiDsL2RelayAdminModeSet (openapiClientHandle_t *client_handle, OPEN_CONTROL_t adminMode)
 Sets the DHCP L2 Relay Admin mode. More...
 
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. More...
 
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. More...
 
open_error_t openapiDsL2RelayIntfModeGet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t *intfMode)
 Gets the DHCP L2 Relay interface mode. More...
 
open_error_t openapiDsL2RelayIntfModeSet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_CONTROL_t intfMode)
 Sets the DHCP L2 Relay interface mode. More...
 
open_error_t openapiDsL2RelayIntfStatsClear (openapiClientHandle_t *client_handle, uint32_t ifNum)
 Clears the DHCP L2 Relay interface specific statistics. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
open_error_t openapiDsL2RelayVlanModeGet (openapiClientHandle_t *client_handle, uint32_t vlanNum, OPEN_CONTROL_t *l2RelayMode)
 Gets the DHCP L2 Relay mode for a VLAN. More...
 
open_error_t openapiDsL2RelayVlanModeSet (openapiClientHandle_t *client_handle, uint32_t vlanNum, OPEN_CONTROL_t l2RelayMode)
 Sets the DHCP L2 Relay mode for a vlan. More...
 
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. More...
 
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. More...
 
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. More...
 
open_error_t openapiDsStaticBindingCountGet (openapiClientHandle_t *client_handle, OPEN_AF_t family, uint32_t *count)
 Get the number of DHCP snooping static bindings. More...
 
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. More...
 
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. More...
 
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. More...