38 #ifndef OPENAPI_ACL_H_INCLUDED
39 #define OPENAPI_ACL_H_INCLUDED
45 #define OPENAPI_ACL_PROTOCOL_EIGRP 88
46 #define OPENAPI_ACL_PROTOCOL_GRE 47
47 #define OPENAPI_ACL_PROTOCOL_ICMP 1
48 #define OPENAPI_ACL_PROTOCOL_ICMPV6 58
49 #define OPENAPI_ACL_PROTOCOL_IGMP 2
50 #define OPENAPI_ACL_PROTOCOL_IP 255
51 #define OPENAPI_ACL_PROTOCOL_IPINIP 94
52 #define OPENAPI_ACL_PROTOCOL_OSPF 89
53 #define OPENAPI_ACL_PROTOCOL_PIM 103
54 #define OPENAPI_ACL_PROTOCOL_TCP 6
55 #define OPENAPI_ACL_PROTOCOL_UDP 17
58 #define OPENAPI_ACL_IP_DSCP_AF11 10
59 #define OPENAPI_ACL_IP_DSCP_AF12 12
60 #define OPENAPI_ACL_IP_DSCP_AF13 14
61 #define OPENAPI_ACL_IP_DSCP_AF21 18
62 #define OPENAPI_ACL_IP_DSCP_AF22 20
63 #define OPENAPI_ACL_IP_DSCP_AF23 22
64 #define OPENAPI_ACL_IP_DSCP_AF31 26
65 #define OPENAPI_ACL_IP_DSCP_AF32 28
66 #define OPENAPI_ACL_IP_DSCP_AF33 30
67 #define OPENAPI_ACL_IP_DSCP_AF41 34
68 #define OPENAPI_ACL_IP_DSCP_AF42 36
69 #define OPENAPI_ACL_IP_DSCP_AF43 38
70 #define OPENAPI_ACL_IP_DSCP_BE 0
71 #define OPENAPI_ACL_IP_DSCP_CS0 0
72 #define OPENAPI_ACL_IP_DSCP_CS1 8
73 #define OPENAPI_ACL_IP_DSCP_CS2 16
74 #define OPENAPI_ACL_IP_DSCP_CS3 24
75 #define OPENAPI_ACL_IP_DSCP_CS4 32
76 #define OPENAPI_ACL_IP_DSCP_CS5 40
77 #define OPENAPI_ACL_IP_DSCP_CS6 48
78 #define OPENAPI_ACL_IP_DSCP_CS7 56
79 #define OPENAPI_ACL_IP_DSCP_EF 46
82 #define OPENAPI_ACL_L4PORT_DOMAIN 53
83 #define OPENAPI_ACL_L4PORT_ECHO 7
84 #define OPENAPI_ACL_L4PORT_FTP 21
85 #define OPENAPI_ACL_L4PORT_FTPDATA 20
86 #define OPENAPI_ACL_L4PORT_HTTP 80
87 #define OPENAPI_ACL_L4PORT_SMTP 25
88 #define OPENAPI_ACL_L4PORT_SNMP 161
89 #define OPENAPI_ACL_L4PORT_TELNET 23
90 #define OPENAPI_ACL_L4PORT_TFTP 69
91 #define OPENAPI_ACL_L4PORT_BGP 179
92 #define OPENAPI_ACL_L4PORT_POP2 109
93 #define OPENAPI_ACL_L4PORT_POP3 110
94 #define OPENAPI_ACL_L4PORT_NTP 123
95 #define OPENAPI_ACL_L4PORT_RIP 520
96 #define OPENAPI_ACL_L4PORT_TIME 37
97 #define OPENAPI_ACL_L4PORT_WHO 513
100 #define OPENAPI_ETYPE_ID_APPLETALK 0x809B
101 #define OPENAPI_ETYPE_ID_ARP 0x0806
102 #define OPENAPI_ETYPE_ID_IBMSNA 0x80D5
103 #define OPENAPI_ETYPE_ID_IPV4 0x0800
104 #define OPENAPI_ETYPE_ID_IPV6 0x86DD
105 #define OPENAPI_ETYPE_ID_IPX 0x8037
106 #define OPENAPI_ETYPE_ID_MPLSMCAST 0x8848
107 #define OPENAPI_ETYPE_ID_MPLSUCAST 0x8847
108 #define OPENAPI_ETYPE_ID_NETBIOS 0x8191
109 #define OPENAPI_ETYPE_ID_NOVELL_ID1 0x8137
110 #define OPENAPI_ETYPE_ID_NOVELL_ID2 0x8138
111 #define OPENAPI_ETYPE_ID_PPPOE_ID1 0x8863
112 #define OPENAPI_ETYPE_ID_PPPOE_ID2 0x8864
113 #define OPENAPI_ETYPE_ID_RARP 0x8035
116 #define OPENAPI_ACL_TCP_FLAG_FIN 0
117 #define OPENAPI_ACL_TCP_FLAG_SYN 1
118 #define OPENAPI_ACL_TCP_FLAG_RST 2
119 #define OPENAPI_ACL_TCP_FLAG_PSH 3
120 #define OPENAPI_ACL_TCP_FLAG_ACK 4
121 #define OPENAPI_ACL_TCP_FLAG_URG 5
374 uint32_t *nextAclId);
484 uint32_t *nextAclRule);
555 uint32_t asic, uint32_t aclId, uint32_t ruleId);
1103 bool aclSflowSampling);
1129 bool *aclSflowSampling);
1576 uint32_t *aclCount);
1593 uint32_t *aclCount);
2023 uint32_t *startPort,
2128 uint32_t *startPort,
2213 uint32_t precedence);
2238 uint32_t *precedence);
2279 uint32_t aclProtocol);
2316 uint32_t *aclProtocol);
2348 uint32_t burstSize);
2374 uint32_t *burstSize);
3178 uint32_t routePrefix,
3201 uint32_t adminMode);
3225 uint32_t ruleAction,
3226 uint64_t *hitPktCount);
open_error_t openapiAclRuleMatchMirrorAgentAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t agent)
Add the mirror external agent id for an access list rule.
open_error_t openapiAclRuleMatchMacDstMacGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_buffdesc *mac, open_buffdesc *mask)
Get the destination MAC address and mask.
open_error_t openapiAclMaxMirrorIntfCountGet(openapiClientHandle_t *client_handle, uint32_t *maxIntf)
Get the maximum mirror interface count for a match criteria.
open_error_t openapiAclRuleMatchIpv6SrcPfxGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_inet_addr_t *addr, uint32_t *pfxLen)
Gets the source IPV6 address and prefix length.
open_error_t openapiAclRuleMatchIpv6DstPfxAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_inet_addr_t addr, uint32_t pfxLen)
Add the destination IPV6 address and prefix length.
open_error_t openapiAclRuleMatchTimeRangeStatusGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, OPEN_ACL_RULE_STATUS_t *status)
Get the rule status of an access list rule entry.
open_error_t openapiAclVlanDirListGet(openapiClientHandle_t *client_handle, uint32_t vlan, OPEN_ACL_DIRECTION_t dir, OPEN_ACL_VLAN_DIR_LIST_t *listInfo)
Get the list of ACLs currently assigned to the specified VLAN and direction.
open_error_t openapiAclRuleMatchMacCos2Add(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t cos)
Add a Secondary Class Of Server (COS) match condition.
open_error_t openapiAclAssignedIntfDirListGet(openapiClientHandle_t *client_handle, uint32_t aclId, OPEN_ACL_DIRECTION_t dir, OPEN_ACL_ASSIGNED_INTF_LIST_t *intfList)
Get the list of interfaces currently assigned to the specified ACL and direction. ...
open_error_t openapiAclGetFirst(openapiClientHandle_t *client_handle, OPEN_ACL_TYPE_t aclType, uint32_t *aclId)
Get the first named access list identifier created in the system.
open_error_t openapiAclRuleMatchRedirectAgentAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t agent)
Add the redirect external agent id for an access list rule.
open_error_t openapiAclRuleMatchEveryGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, bool *aclMatch)
Gets the match-all (every) status for a rule.
open_error_t openapiAclRuleMatchMacEtherTypeAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t type)
Add a MAC Ethertype match condition.
open_error_t openapiAclRuleMatchProtocolAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t aclProtocol)
Add a protocol to an existing access list rule.
open_error_t openapiAclIsVlanInUse(openapiClientHandle_t *client_handle, uint32_t vlan, OPEN_ACL_DIRECTION_t dir, OPEN_CONTROL_t *inUse)
Check if a VLAN and direction is in use by any access list.
open_error_t openapiAclRuleMatchMacVlanGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, OPEN_ACL_VLAN_OPERATOR_t *oper, uint32_t *startId, uint32_t *endId)
Get the VLAN match condition.
open_error_t openapiAclRuleMatchMirrorAgentGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *agent)
Get the mirror external agent id from an access list rule.
open_error_t openapiAclAssignedVlanDirListGet(openapiClientHandle_t *client_handle, uint32_t aclId, OPEN_ACL_DIRECTION_t dir, OPEN_ACL_ASSIGNED_VLAN_LIST_t *vlanList)
Get the list of VLANs currently assigned to the specified ACL and direction.
Port range specified (start and end port)
open_error_t openapiAclRuleMatchIpDstMaskGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_inet_addr_t *addr, open_inet_addr_t *mask)
Gets the destination IPv4 address and net mask.
open_error_t openapiAclRuleMatchIpSrcMaskAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_inet_addr_t addr, open_inet_addr_t mask)
Add the source IPv4 address and net mask.
open_error_t openapiAclIsIntfInUse(openapiClientHandle_t *client_handle, uint32_t intf, OPEN_ACL_DIRECTION_t dir, OPEN_CONTROL_t *inUse)
Check if an interface and direction is in use by any access list.
open_error_t openapiAclRuleCountGet(openapiClientHandle_t *client_handle, uint32_t asic, uint32_t aclId, uint32_t ruleNum, uint32_t ruleAction, uint64_t *hitPktCount)
Get ACL rule hit count.
Id range specified (start and end VLAN id)
OPEN_BOOL_t isDacl
Is ACL downloadable ACL or not.
open_error_t openapiAclRuleMatchMacCosAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t cos)
Add a Class Of Server (COS) match condition.
open_error_t openapiAclCountersAdminModeSet(openapiClientHandle_t *client_handle, uint32_t adminMode)
Configures ACL counters admin mode.
open_error_t openapiAclRuleMatchEveryAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, bool aclMatch)
Set the match condition whereby all packets match for the ACL rule.
open_error_t openapiAclRuleMatchFlowLabelGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *label)
Gets the flow label for an access list rule.
open_error_t
OPEN uses these enumerators to indicate the error codes.
open_error_t openapiAclIsDaclGet(openapiClientHandle_t *client_handle, OPEN_ACL_TYPE_t aclType, uint32_t aclId, OPEN_BOOL_t *isDacl)
Get whether ACL is downloadable or not.
open_error_t openapiAclRuleMatchLoggingGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, bool *aclLogging)
Gets the logging flag from an existing access list rule entry.
open_error_t openapiAclRuleMatchRateLimitAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t dataRate, uint32_t burstSize)
Set the rate limit parameters for an access list rule.
open_error_t openapiAclRuleMatchMirrorGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *intf)
Get the mirror interface from an existing access list rule entry.
open_error_t openapiAclCreate(openapiClientHandle_t *client_handle, OPEN_ACL_TYPE_t aclType, open_buffdesc *aclName, uint32_t *aclId)
Create a new Access List.
open_error_t openapiAclIntfDirDelete(openapiClientHandle_t *client_handle, uint32_t intf, OPEN_ACL_DIRECTION_t dir, uint32_t aclId)
Remove an access list from the specified interface and direction.
open_error_t openapiAclMaxRedirectIntfCountGet(openapiClientHandle_t *client_handle, uint32_t *maxIntf)
Get the maximum redirect interface count for a match criteria.
open_error_t openapiAclRuleMatchRoutingAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, bool flag)
Set the routing flag for an access list rule.
open_error_t openapiAclRuleMatchIpv6DstPfxGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_inet_addr_t *addr, uint32_t *pfxLen)
Gets the destination IPV6 address and prefix length.
OPEN_ACL_TYPE_t aclType
Type of ACL.
open_error_t openapiAclRuleMatchDscpAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t dscp)
Set the DSCP value for an access list rule.
open_error_t openapiAclRuleMatchAssignQueueAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t queueId)
Set the assigned queue id for an access list rule.
open_error_t openapiAclRuleGetNext(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *nextAclRule)
Get the next rule for the given ACL.
open_error_t openapiAclRuleMatchMacSecondaryVlanAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, OPEN_ACL_VLAN_OPERATOR_t oper, uint32_t startId, uint32_t endId)
Add a Secondary VLAN match condition.
open_error_t openapiAclRuleMatchPrecedenceGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *precedence)
Get the match condition for precedence value.
OPEN_ACL_RULE_STATUS_t
Time Range Status.
open_error_t openapiAclMaxAclIntfCountGet(openapiClientHandle_t *client_handle, uint32_t *maxIntf)
Get the maximum number of ACL Interfaces on this platform.
uint32_t count
Number of valid intf entries.
open_error_t openapiAclRuleMatchLoggingAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, bool aclLogging)
Set the logging flag for an access list rule.
open_error_t openapiAclRuleMatchMacVlanAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, OPEN_ACL_VLAN_OPERATOR_t oper, uint32_t startId, uint32_t endId)
Add a VLAN match condition.
open_error_t openapiAclRuleMatchIpDstMaskAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_inet_addr_t addr, open_inet_addr_t mask)
Add the destination IPv4 address and net mask.
uint32_t aclId
ACL identifying number (per ACL type)
open_error_t openapiAclRuleMatchMacCosGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *cos)
Get the Class Of Server (COS) match condition.
open_error_t openapiAclRuleMatchIcmpTypeCodeGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, bool getCode, uint32_t *type, uint32_t *code)
Get the ICMP match condition parameters for an existing access list rule.
OPEN_ACL_L4_PORT_OPERATOR_t
Layer 4 Port Operator Flags.
open_error_t openapiAclRuleMatchL4SrcPortGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, OPEN_ACL_L4_PORT_OPERATOR_t *oper, uint32_t *startPort, uint32_t *endPort)
Get a Layer 4 source port match condition.
open_error_t openapiAclRuleGlobalApply(openapiClientHandle_t *client_handle, uint32_t asic, uint32_t aclId, uint32_t seqNum)
Apply ACL rule to all interfaces.
open_error_t openapiAclGlobalDelete(openapiClientHandle_t *client_handle, uint32_t asic, uint32_t aclId)
Remove ACL from all interfaces.
Total number of ACL directions defined.
uint32_t aclId
ACL identifying number (per ACL type)
OPEN_ACL_TYPE_t aclType
Type of ACL.
open_error_t openapiAclRouteFilter(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t routePrefix, uint32_t routeMask, OPEN_ACL_ACTION_t *aclAction)
Apply an ACL as a route filter.
open_error_t openapiAclRuleMatchFragmentsGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, bool *fragments)
Get the match condition for non-initial fragmented packets.
open_error_t openapiAclMaxIntfAclCountGet(openapiClientHandle_t *client_handle, uint32_t *maxACL)
Get the maximum number of ACLs per interface on this platform.
OPEN_ACL_DIRECTION_t
Callers to ACL API functions use these values for interface direction.
open_error_t openapiAclRuleMatchL4DstPortAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, OPEN_ACL_L4_PORT_OPERATOR_t oper, uint32_t startPort, uint32_t endPort)
Add a Layer 4 destination port match condition.
uint32_t seqNum
ACL evaluation order sequence number.
open_error_t openapiAclRuleMatchRoutingGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, bool *flag)
Get the routing flag for an access list rule.
open_error_t openapiAclRuleMatchTimeRangeAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_buffdesc *name)
Add the time range name for an access list rule.
open_error_t openapiAclGetNext(openapiClientHandle_t *client_handle, OPEN_ACL_TYPE_t aclType, uint32_t aclId, uint32_t *nextAclId)
Get the next named access list identifier created in the system.
open_error_t openapiAclRuleDelete(openapiClientHandle_t *client_handle, uint32_t asic, uint32_t aclId, uint32_t ruleId)
Delete a specific rule from the given ACL.
OPEN_CONTROL_t
OPEN uses these enumerators to indicate enable or disable for a given config or status parameter...
open_error_t openapiAclRuleMatchMacEtherTypeGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *type)
Get the MAC Ethertype match condition.
uint32_t count
Number of valid listEntry entries.
open_error_t openapiAclRuleMatchTosGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_buffdesc *tos, open_buffdesc *tosMask)
Get the match condition for IP ToS field.
uint32_t count
Number of valid listEntry entries.
OPEN_BOOL_t
OPEN uses these enumerators to indicate true or false for a given config or status parameter...
OPEN_ACL_TYPE_t
Supported Access List types.
open_error_t openapiAclRuleDeleteLast(openapiClientHandle_t *client_handle, uint32_t aclId)
Delete the last rule for the given ACL.
open_error_t openapiAclRename(openapiClientHandle_t *client_handle, uint32_t aclId, open_buffdesc *aclName)
Change the Access List name.
open_error_t openapiAclMaxAclVlanCountGet(openapiClientHandle_t *client_handle, uint32_t *maxVlan)
Get the maximum number of ACL VLANs on this platform.
open_error_t openapiAclDelete(openapiClientHandle_t *client_handle, uint32_t aclId)
Delete an Access List.
open_error_t openapiAclRuleMatchTcpFlagsAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t tcpVal, uint32_t tcpMask)
Add a match condition using a TCP Control Flag and Mask.
uint32_t seqNum
ACL evaluation order sequence number.
open_error_t openapiAclCountGet(openapiClientHandle_t *client_handle, uint32_t *aclCount)
Get the current (total) number of configured ACLs.
open_error_t openapiAclRuleMatchL4SrcPortAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, OPEN_ACL_L4_PORT_OPERATOR_t oper, uint32_t startPort, uint32_t endPort)
Add a Layer 4 source port match condition.
open_error_t openapiAclMacCountGet(openapiClientHandle_t *client_handle, uint32_t *aclCount)
Get the current number of configured MAC ACLs.
open_error_t openapiAclRuleActionAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t *aclRule, OPEN_ACL_ACTION_t aclAction)
Add a new rule and its associated action to the given ACL.
open_error_t openapiAclRuleMatchMacSrcMacGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_buffdesc *mac, open_buffdesc *mask)
Get the source MAC address and mask.
open_error_t openapiAclRuleMatchMacDstMacAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_buffdesc *mac, open_buffdesc *mask)
Add the destination MAC address and mask.
open_error_t openapiAclRuleGetFirst(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t *aclRule)
Get the rule for the given ACL.
open_error_t openapiAclRuleMatchMirrorAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t intf)
Set the mirror interface for an access list rule.
open_error_t openapiAclRuleMatchTosAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_buffdesc *tos, open_buffdesc *tosMask)
Add a match condition based on the value of the IP ToS field.
open_error_t openapiAclNameGet(openapiClientHandle_t *client_handle, uint32_t aclId, open_buffdesc *aclName)
Get the Access List name for the given ACL.
open_error_t openapiAclRuleMatchMacSrcMacAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_buffdesc *mac, open_buffdesc *mask)
Add the source MAC address and mask.
open_error_t openapiAclRuleMatchFragmentsAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, bool fragments)
Set the match condition to match on non-initial fragmented packets.
open_error_t openapiAclVlanDirDelete(openapiClientHandle_t *client_handle, uint32_t vlan, OPEN_ACL_DIRECTION_t dir, uint32_t aclId)
Remove an access list from the specified VLAN and direction.
open_error_t openapiAclRuleMatchRateLimitGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *dataRate, uint32_t *burstSize)
Get the rate limit parameters from an existing access list rule entry.
open_error_t openapiAclRuleMatchRedirectAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t intf)
Add the redirect interface for an access list rule.
open_error_t openapiAclRuleCountersClear(openapiClientHandle_t *client_handle, uint32_t asic, uint32_t aclId, uint32_t ruleNum)
Clear ACL rule counters.
open_error_t openapiAclIntfDirGetNext(openapiClientHandle_t *client_handle, uint32_t intf, OPEN_ACL_DIRECTION_t dir, uint32_t *nextIntf, OPEN_ACL_DIRECTION_t *nextDir)
Get next sequential interface and direction that is valid for use with an ACL.
uint32_t count
Number of valid intf entries.
open_error_t openapiAclRuleMatchMacSecondaryVlanGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, OPEN_ACL_VLAN_OPERATOR_t *oper, uint32_t *startId, uint32_t *endId)
Get the Secondary VLAN match condition.
open_error_t openapiAclRuleMatchRedirectAgentGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *agent)
Get the redirect agent Id from an access list rule.
open_error_t openapiAclRuleMatchIcmpTypeCodeAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, bool addCode, uint32_t type, uint32_t code)
Add a match condition for ICMP parameters to an existing access list rule.
open_error_t openapiAclRuleMatchIgmpTypeAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t type)
Add a match condition for IGMP parameters to an existing access list rule.
open_error_t openapiAclRuleMatchDscpGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *dscp)
Gets the DSCP value for an access list rule.
open_error_t openapiAclDeleteByName(openapiClientHandle_t *client_handle, OPEN_ACL_TYPE_t aclType, open_buffdesc *aclName)
Delete an Access List by its name.
OPEN_ACL_VLAN_OPERATOR_t
MAC VLAN Operator Flags.
open_error_t openapiAclRuleMatchIpv6SrcPfxAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_inet_addr_t addr, uint32_t pfxLen)
Add the source IPV6 address and prefix length.
open_error_t openapiAclRuleMatchL4DstPortGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, OPEN_ACL_L4_PORT_OPERATOR_t *oper, uint32_t *startPort, uint32_t *endPort)
Get a Layer 4 destination port match condition.
open_error_t openapiAclRuleMatchAssignQueueGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *queueId)
Gets the assigned queue id for an access list rule.
open_error_t openapiAclRuleMatchSflowSamplingGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, bool *aclSflowSampling)
Gets the sFlow sampling flag from an existing access list rule entry.
open_error_t openapiAclMaxAssignQueueGet(openapiClientHandle_t *client_handle, uint32_t *maxQueue)
Get the maximum queue id value for a match criteria.
open_error_t openapiAclRuleMatchSflowSamplingAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, bool aclSflowSampling)
Set the sFlow sampling flag for an access list rule.
open_error_t openapiAclMaxVlanAclCountGet(openapiClientHandle_t *client_handle, uint32_t *maxACL)
Get the maximum number of ACLs per VLAN on this platform.
OPEN_ACL_ACTION_t
Supported Action Types.
VLAN ACL entry information.
open_error_t openapiAclRuleMatchPrecedenceAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t precedence)
Set the match condition precedence value.
open_error_t openapiAclRuleMatchIgmpTypeGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *type)
Get the IGMP match condition parameters for an existing access list rule.
open_error_t openapiAclRuleMatchTcpFlagsGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *tcpVal, uint32_t *tcpMask)
Get a match condition using a TCP Control Flag and Mask.
open_error_t openapiAclRuleMatchMacCos2Get(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *cos)
Get the Secondary Class Of Server (COS) match condition.
open_error_t openapiAclMaxCountGet(openapiClientHandle_t *client_handle, uint32_t *maxACL)
Get the maximum number of ACLs that can be configured.
open_error_t openapiAclIntfDirAdd(openapiClientHandle_t *client_handle, uint32_t intf, OPEN_ACL_DIRECTION_t dir, uint32_t aclId, uint32_t seqNum)
Add an access list to the specified interface and direction.
open_error_t openapiAclRuleMatchIpSrcMaskGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_inet_addr_t *addr, open_inet_addr_t *mask)
Gets the source IPv4 address and net mask.
open_error_t openapiAclVlanDirAdd(openapiClientHandle_t *client_handle, uint32_t vlan, OPEN_ACL_DIRECTION_t dir, uint32_t aclId, uint32_t seqNum)
Add an access list to the specified VLAN and direction.
open_error_t openapiAclRuleMatchFlowLabelAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t label)
Set the flow label for an access list rule.
open_error_t openapiAclRuleMatchTimeRangeGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, open_buffdesc *name)
Get the time range name assigned to access list rule.
open_error_t openapiAclGet(openapiClientHandle_t *client_handle, OPEN_ACL_TYPE_t aclType, open_buffdesc *aclName, uint32_t *aclId)
Get the Access List identifier for the given ACL name.
open_error_t openapiAclIntfDirListGet(openapiClientHandle_t *client_handle, uint32_t intf, OPEN_ACL_DIRECTION_t dir, OPEN_ACL_INTF_DIR_LIST_t *listInfo)
Get the list of ACLs currently assigned to the specified interface and direction. ...
open_error_t openapiAclRuleActionGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, OPEN_ACL_ACTION_t *aclAction)
Get the action for a rule.
Interface ACL entry information.
open_error_t openapiAclRuleMatchRedirectGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *intf)
Get the redirect interface from an existing access list rule entry.
open_error_t openapiAclRuleMatchProtocolGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *aclProtocol)
Gets the protocol from an existing access list rule entry.