Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.12.0.1
Data Structures | Macros | Typedefs | Enumerations | Functions
openapi_dynamic_arp_inspection.h File Reference
#include <stdio.h>
#include <stddef.h>
#include <sys/un.h>
#include "openapi_common.h"

Go to the source code of this file.

Data Structures

struct  DAI_VLAN_STATS_S
 Dynamic ARP Inspection vlan statistics. More...
 

Macros

#define OPEN_ARP_ACL_NAME_LEN_MAX   32
 largest allowable ACL name
 
#define OPEN_ARP_ACL_NAME_LEN_MIN   1
 smallest allowable ACL name
 
#define OPEN_DAI_BURST_INTERVAL_MAX   15
 
#define OPEN_DAI_BURST_INTERVAL_MIN   1
 
#define OPEN_DAI_RATE_LIMIT_MAX   300
 
#define OPEN_DAI_RATE_LIMIT_MIN   0
 

Typedefs

typedef struct DAI_VLAN_STATS_S OPEN_DAI_VLAN_STATS_t
 Dynamic ARP Inspection vlan statistics.
 

Enumerations

enum  OPEN_ARP_ACL_RULE_ACTION_t { OPEN_ARP_ACL_RULE_ACTION_PERMIT = 1, OPEN_ARP_ACL_RULE_ACTION_DENY = 2 }
 OpEN uses this enumeration to define ARP ACL Rule Actions. More...
 

Functions

open_error_t openapiArpAclCreate (openapiClientHandle_t *client_handle, open_buffdesc *bufd)
 API to create ARP ACL (extensible version). More...
 
open_error_t openapiArpAclDelete (openapiClientHandle_t *client_handle, open_buffdesc *bufd)
 API to delete ARP ACL (extensible version). More...
 
open_error_t openapiArpAclGet (openapiClientHandle_t *client_handle, open_buffdesc *aclName)
 API to Check if an ARP ACL exists. More...
 
open_error_t openapiArpAclNextGet (openapiClientHandle_t *client_handle, open_buffdesc *aclName, open_buffdesc *aclNameNext)
 API to get the next ARP ACL entry. More...
 
open_error_t openapiArpAclRuleAdd (openapiClientHandle_t *client_handle, open_buffdesc *bufd, uint32_t seqNo, uint32_t ipAddr, open_buffdesc *macAddr, OPEN_ARP_ACL_RULE_ACTION_t action)
 API to add rule to ARP ACL. More...
 
open_error_t openapiArpAclRuleDelete (openapiClientHandle_t *client_handle, open_buffdesc *bufd, uint32_t seqNo)
 API to remove rule from ARP ACL. More...
 
open_error_t openapiArpAclRuleNextGet (openapiClientHandle_t *client_handle, open_buffdesc *aclName, open_inet_addr_t ipAddr, open_buffdesc *macAddr, open_inet_addr_t *ipAddrNext, open_buffdesc *macAddrNext)
 API not supported. More...
 
open_error_t openapiArpAclRuleNextGetV2 (openapiClientHandle_t *client_handle, open_buffdesc *aclName, uint32_t seqNo, uint32_t *seqNoNext, open_inet_addr_t *ipAddrNext, open_buffdesc *macAddrNext, OPEN_ARP_ACL_RULE_ACTION_t *actionNext)
 API to get the next ARP ACL Rule in the given ACL. More...
 
open_error_t openapiDaiDestMacValidateModeGet (openapiClientHandle_t *client_handle, OPEN_CONTROL_t *mode)
 Get the global dynamic ARP inspection destination MAC validate mode. More...
 
open_error_t openapiDaiDestMacValidateModeSet (openapiClientHandle_t *client_handle, OPEN_CONTROL_t mode)
 Set the global dynamic ARP inspection destination MAC validate mode. More...
 
open_error_t openapiDaiIntfBurstIntervalGet (openapiClientHandle_t *client_handle, uint32_t ifNum, int32_t *burstInterval)
 Get burst interval value of incoming ARP packets on untrusted interfaces. More...
 
open_error_t openapiDaiIntfBurstIntervalSet (openapiClientHandle_t *client_handle, uint32_t ifNum, int32_t burstInterval)
 Set burst interval value of incoming ARP packets on untrusted interfaces. More...
 
open_error_t openapiDaiIntfRateLimitGet (openapiClientHandle_t *client_handle, uint32_t ifNum, int32_t *rate)
 Get rate limit value of incoming ARP packets on untrusted interfaces. More...
 
open_error_t openapiDaiIntfRateLimitSet (openapiClientHandle_t *client_handle, uint32_t ifNum, int32_t rate)
 Set rate limit value of incoming ARP packets on untrusted interfaces. More...
 
open_error_t openapiDaiIntfTrustGet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t *trustMode)
 Get API for whether DAI considers a port trusted. More...
 
open_error_t openapiDaiIntfTrustSet (openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t trustMode)
 Set API for whether DAI considers a port trusted. More...
 
open_error_t openapiDaiIpAddrValidateModeGet (openapiClientHandle_t *client_handle, OPEN_CONTROL_t *mode)
 Get the global dynamic ARP inspection IP address validate mode. More...
 
open_error_t openapiDaiIpAddrValidateModeSet (openapiClientHandle_t *client_handle, OPEN_CONTROL_t mode)
 Set the global dynamic ARP inspection IP address validate mode. More...
 
open_error_t openapiDaiSourceMacValidateModeGet (openapiClientHandle_t *client_handle, OPEN_CONTROL_t *mode)
 Get the global dynamic ARP inspection source MAC validate mode. More...
 
open_error_t openapiDaiSourceMacValidateModeSet (openapiClientHandle_t *client_handle, OPEN_CONTROL_t mode)
 Set the global dynamic ARP inspection source MAC validate mode. More...
 
open_error_t openapiDaiVlanArpAclGet (openapiClientHandle_t *client_handle, uint32_t vlanId, open_buffdesc *aclName)
 Get the ARP ACL Name for a vlan (Extended Version). More...
 
open_error_t openapiDaiVlanARPAclRangeSet (openapiClientHandle_t *client_handle, open_buffdesc *aclName, uint32_t vlanStart, uint32_t vlanEnd, uint32_t val, uint32_t staticFlag)
 Apply the ARP ACL to a range of VLANs. More...
 
open_error_t openapiDaiVlanArpAclSet (openapiClientHandle_t *client_handle, uint32_t vlanId, open_buffdesc *aclName)
 Set/reset the ARP ACL Name for a vlan. More...
 
open_error_t openapiDaiVlanArpAclStaticFlagGet (openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *staticFlag)
 Get the ARP ACL static flag for a vlan. More...
 
open_error_t openapiDaiVlanArpAclStaticFlagSet (openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t staticFlag)
 Set the ARP ACL static flag for a vlan. More...
 
open_error_t openapiDaiVlanEnableGet (openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *val)
 Get API for whether Dynamic ARP Inspection is enabled or disabled on a VLAN. More...
 
open_error_t openapiDaiVlanEnableSet (openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t val)
 Set API to enable or disable Dynamic ARP Inspection on a VLAN. More...
 
open_error_t openapiDaiVlanLoggingEnableGet (openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *val)
 Get API for whether DAI logging is enabled or disabled on a VLAN. More...
 
open_error_t openapiDaiVlanLoggingEnableSet (openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t val)
 Set API to enable or disable DAI logging for a VLAN. More...
 
open_error_t openapiDaiVlanNextGet (openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *nextVlan)
 Get the next vlan id eligible for DAI configuration, given the current vlan id. More...
 
open_error_t openapiDaiVlanStatsClear (openapiClientHandle_t *client_handle)
 Clear DAI statistics on all vlans. More...
 
open_error_t openapiDaiVlanStatsGet (openapiClientHandle_t *client_handle, uint32_t vlanId, OPEN_DAI_VLAN_STATS_t *vlanStats)
 Get DAI statistics on a VLAN. More...