50 #ifndef OPENAPI_DYNAMIC_ARP_INSPECTION_H_INCLUDED
51 #define OPENAPI_DYNAMIC_ARP_INSPECTION_H_INCLUDED
59 #define OPEN_ARP_ACL_NAME_LEN_MIN 1
60 #define OPEN_ARP_ACL_NAME_LEN_MAX 32
69 #define OPEN_DAI_BURST_INTERVAL_MIN 1
70 #define OPEN_DAI_BURST_INTERVAL_MAX 15
72 #define OPEN_DAI_RATE_LIMIT_MIN 0
73 #define OPEN_DAI_RATE_LIMIT_MAX 300
85 uint32_t sMacFailures;
86 uint32_t dMacFailures;
87 uint32_t ipValidFailures;
345 uint32_t ifNum, int32_t *rate);
365 uint32_t ifNum, int32_t rate);
384 uint32_t ifNum, int32_t *burstInterval);
404 uint32_t ifNum, int32_t burstInterval);
441 uint32_t vlanId, uint32_t *nextVlan);
460 uint32_t vlanId, uint32_t *val);
478 uint32_t vlanId, uint32_t val);
497 uint32_t vlanId, uint32_t *val);
515 uint32_t vlanId, uint32_t val);
534 uint32_t *staticFlag);
553 uint32_t staticFlag);
654 uint32_t vlanStart, uint32_t vlanEnd,
655 uint32_t val, uint32_t staticFlag);
open_error_t openapiDaiVlanStatsClear(openapiClientHandle_t *client_handle)
Clear DAI statistics on all vlans.
open_error_t openapiDaiVlanArpAclSet(openapiClientHandle_t *client_handle, uint32_t vlanId, open_buffdesc *aclName)
Set/reset the ARP ACL Name for a vlan.
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.
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.
open_error_t openapiDaiVlanStatsGet(openapiClientHandle_t *client_handle, uint32_t vlanId, OPEN_DAI_VLAN_STATS_t *vlanStats)
Get DAI statistics on a VLAN.
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.
open_error_t openapiDaiIntfTrustSet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t trustMode)
Set API for whether DAI considers a port trusted.
open_error_t openapiArpAclGet(openapiClientHandle_t *client_handle, open_buffdesc *aclName)
API to Check if an ARP ACL exists.
open_error_t openapiDaiSourceMacValidateModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *mode)
Get the global dynamic ARP inspection source MAC validate mode.
open_error_t openapiArpAclNextGet(openapiClientHandle_t *client_handle, open_buffdesc *aclName, open_buffdesc *aclNameNext)
API to get the next ARP ACL entry.
open_error_t
OPEN uses these enumerators to indicate the error codes.
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.
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.
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.
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.
open_error_t openapiArpAclCreate(openapiClientHandle_t *client_handle, open_buffdesc *bufd)
API to create ARP ACL (extensible version).
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.
open_error_t openapiDaiIpAddrValidateModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *mode)
Get the global dynamic ARP inspection IP address validate mode.
open_error_t openapiDaiSourceMacValidateModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t mode)
Set the global dynamic ARP inspection source MAC validate mode.
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.
open_error_t openapiDaiIpAddrValidateModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t mode)
Set the global dynamic ARP inspection IP address validate mode.
Dynamic ARP Inspection vlan statistics.
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.
open_error_t openapiDaiDestMacValidateModeGet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t *mode)
Get the global dynamic ARP inspection destination MAC validate mode.
OPEN_CONTROL_t
OPEN uses these enumerators to indicate enable or disable for a given config or status parameter...
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.
open_error_t openapiArpAclDelete(openapiClientHandle_t *client_handle, open_buffdesc *bufd)
API to delete ARP ACL (extensible version).
open_error_t openapiDaiDestMacValidateModeSet(openapiClientHandle_t *client_handle, OPEN_CONTROL_t mode)
Set the global dynamic ARP inspection destination MAC validate mode.
OPEN_BOOL_t
OPEN uses these enumerators to indicate true or false for a given config or status parameter...
open_error_t openapiDaiVlanArpAclGet(openapiClientHandle_t *client_handle, uint32_t vlanId, open_buffdesc *aclName)
Get the ARP ACL Name for a vlan (Extended Version).
struct DAI_VLAN_STATS_S OPEN_DAI_VLAN_STATS_t
Dynamic ARP Inspection vlan statistics.
open_error_t openapiDaiIntfTrustGet(openapiClientHandle_t *client_handle, uint32_t ifNum, OPEN_BOOL_t *trustMode)
Get API for whether DAI considers a port trusted.
open_error_t openapiArpAclRuleDelete(openapiClientHandle_t *client_handle, open_buffdesc *bufd, uint32_t seqNo)
API to remove rule from ARP ACL.
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.
OPEN_ARP_ACL_RULE_ACTION_t
OpEN uses this enumeration to define ARP ACL Rule Actions.
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.
open_error_t openapiDaiVlanArpAclStaticFlagGet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t *staticFlag)
Get the ARP ACL static flag for a vlan.
open_error_t openapiDaiVlanArpAclStaticFlagSet(openapiClientHandle_t *client_handle, uint32_t vlanId, uint32_t staticFlag)
Set the ARP ACL static flag for a vlan.