Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.13.1.2
openapi_acl.h
Go to the documentation of this file.
1 
9 /**********************************************************************
10 *
11 * Copyright 2016-2024 Broadcom.
12 *
13 * Licensed under the Apache License, Version 2.0 (the "License");
14 * you may not use this file except in compliance with the License.
15 * You may obtain a copy of the License at
16 *
17 * http://www.apache.org/licenses/LICENSE-2.0
18 *
19 * Unless required by applicable law or agreed to in writing, software
20 * distributed under the License is distributed on an "AS IS" BASIS,
21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 * See the License for the specific language governing permissions and
23 * limitations under the License.
24 *
25 ***********************************************************************
26 *
27 * @filename openapi_acl.h
28 *
29 * @purpose Security Access Lists Configuration
30 *
31 * @component OPEN
32 *
33 * @create 09/12/2013
34 *
35 * @end
36 *
37 *********************************************************************/
38 #ifndef OPENAPI_ACL_H_INCLUDED
39 #define OPENAPI_ACL_H_INCLUDED
40 
41 #include <stdbool.h>
42 #include "openapi_common.h"
43 
44 /* ACL Protocol Keyword definitions*/
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_IPV6 255
52 #define OPENAPI_ACL_PROTOCOL_IPINIP 94
53 #define OPENAPI_ACL_PROTOCOL_OSPF 89
54 #define OPENAPI_ACL_PROTOCOL_PIM 103
55 #define OPENAPI_ACL_PROTOCOL_TCP 6
56 #define OPENAPI_ACL_PROTOCOL_UDP 17
58 /* DSCP User Keyword Translations for IP DSCP Values */
59 #define OPENAPI_ACL_IP_DSCP_AF11 10
60 #define OPENAPI_ACL_IP_DSCP_AF12 12
61 #define OPENAPI_ACL_IP_DSCP_AF13 14
62 #define OPENAPI_ACL_IP_DSCP_AF21 18
63 #define OPENAPI_ACL_IP_DSCP_AF22 20
64 #define OPENAPI_ACL_IP_DSCP_AF23 22
65 #define OPENAPI_ACL_IP_DSCP_AF31 26
66 #define OPENAPI_ACL_IP_DSCP_AF32 28
67 #define OPENAPI_ACL_IP_DSCP_AF33 30
68 #define OPENAPI_ACL_IP_DSCP_AF41 34
69 #define OPENAPI_ACL_IP_DSCP_AF42 36
70 #define OPENAPI_ACL_IP_DSCP_AF43 38
71 #define OPENAPI_ACL_IP_DSCP_BE 0
72 #define OPENAPI_ACL_IP_DSCP_CS0 0
73 #define OPENAPI_ACL_IP_DSCP_CS1 8
74 #define OPENAPI_ACL_IP_DSCP_CS2 16
75 #define OPENAPI_ACL_IP_DSCP_CS3 24
76 #define OPENAPI_ACL_IP_DSCP_CS4 32
77 #define OPENAPI_ACL_IP_DSCP_CS5 40
78 #define OPENAPI_ACL_IP_DSCP_CS6 48
79 #define OPENAPI_ACL_IP_DSCP_CS7 56
80 #define OPENAPI_ACL_IP_DSCP_EF 46
82 /* ACL TTL field range definitions */
83 #define OPEN_ACL_MIN_TTL_FIELD_VALUE 0
84 #define OPEN_ACL_MAX_TTL_FIELD_VALUE 255
86 /* ACL L4 Port Keyword definitions*/
87 #define OPENAPI_ACL_L4PORT_DOMAIN 53
88 #define OPENAPI_ACL_L4PORT_ECHO 7
89 #define OPENAPI_ACL_L4PORT_FTP 21
90 #define OPENAPI_ACL_L4PORT_FTPDATA 20
91 #define OPENAPI_ACL_L4PORT_HTTP 80
92 #define OPENAPI_ACL_L4PORT_SMTP 25
93 #define OPENAPI_ACL_L4PORT_SNMP 161
94 #define OPENAPI_ACL_L4PORT_TELNET 23
95 #define OPENAPI_ACL_L4PORT_TFTP 69
96 #define OPENAPI_ACL_L4PORT_BGP 179
97 #define OPENAPI_ACL_L4PORT_POP2 109
98 #define OPENAPI_ACL_L4PORT_POP3 110
99 #define OPENAPI_ACL_L4PORT_NTP 123
100 #define OPENAPI_ACL_L4PORT_RIP 520
101 #define OPENAPI_ACL_L4PORT_TIME 37
102 #define OPENAPI_ACL_L4PORT_WHO 513
104 /* User Keyword Translations for Ethertype Hex Values */
105 #define OPENAPI_ETYPE_ID_APPLETALK 0x809B
106 #define OPENAPI_ETYPE_ID_ARP 0x0806
107 #define OPENAPI_ETYPE_ID_IBMSNA 0x80D5
108 #define OPENAPI_ETYPE_ID_IPV4 0x0800
109 #define OPENAPI_ETYPE_ID_IPV6 0x86DD
110 #define OPENAPI_ETYPE_ID_IPX 0x8037
111 #define OPENAPI_ETYPE_ID_MPLSMCAST 0x8848
112 #define OPENAPI_ETYPE_ID_MPLSUCAST 0x8847
113 #define OPENAPI_ETYPE_ID_NETBIOS 0x8191
114 #define OPENAPI_ETYPE_ID_NOVELL_ID1 0x8137
115 #define OPENAPI_ETYPE_ID_NOVELL_ID2 0x8138
116 #define OPENAPI_ETYPE_ID_PPPOE_ID1 0x8863
117 #define OPENAPI_ETYPE_ID_PPPOE_ID2 0x8864
118 #define OPENAPI_ETYPE_ID_RARP 0x8035
120 /* TCP Filtering flags */
121 #define OPENAPI_ACL_TCP_FLAG_FIN 0
122 #define OPENAPI_ACL_TCP_FLAG_SYN 1
123 #define OPENAPI_ACL_TCP_FLAG_RST 2
124 #define OPENAPI_ACL_TCP_FLAG_PSH 3
125 #define OPENAPI_ACL_TCP_FLAG_ACK 4
126 #define OPENAPI_ACL_TCP_FLAG_URG 5
129 #define OPENAPI_ACL_AGENT_ID_MIN 1
130 #define OPENAPI_ACL_AGENT_ID_MAX 100
133 #define OPEN_NUMBERED_ACL_STANDARD_MIN_ACLID 1
134 #define OPEN_NUMBERED_ACL_STANDARD_MAX_ACLID 99
135 #define OPEN_NUMBERED_ACL_EXTENDED_MIN_ACLID 100
136 #define OPEN_NUMBERED_ACL_EXTENDED_MAX_ACLID 199
138 #define OPEN_ACL_MAX_ICMP_TYPE_NUM 255
139 #define OPEN_ACL_MAX_ICMP_CODE_NUM 255
140 #define OPEN_ACL_MIN_IPV6_PREFIX_LEN 1
141 #define OPEN_ACL_MAX_IPV6_PREFIX_LEN 128
144 typedef enum
145 {
151 
153 typedef enum
154 {
159 
161 typedef enum
162 {
166 
168 typedef enum
169 {
174 
176 typedef enum
177 {
184 
186 typedef enum
187 {
191 
193 typedef enum
194 {
199 
201 typedef struct
202 {
203  uint32_t seqNum;
205  uint32_t aclId;
208 
210 typedef struct
211 {
212  uint32_t count;
213  OPEN_ACL_INTF_LIST_INFO_t listEntry[100];
215 
217 typedef struct
218 {
219  uint32_t seqNum;
221  uint32_t aclId;
223 
225 typedef struct
226 {
227  uint32_t count;
228  OPEN_ACL_VLAN_LIST_INFO_t listEntry[100];
230 
232 typedef struct
233 {
234  uint32_t count;
235  uint32_t intf[1536];
237 
239 typedef struct
240 {
241  uint32_t count;
242  uint32_t vlan[1024];
244 
246 typedef enum
247 {
275  OPEN_MAC_ACL_RULEFIELDS_TOTAL
277 
279 typedef struct
280 {
281  maskValue_t fieldsConfigured[OPEN_MASK_LEN(OPEN_MAC_ACL_RULEFIELDS_TOTAL)];
283 
285 typedef enum
286 {
329  OPEN_IP_ACL_RULEFIELDS_TOTAL
331 
333 typedef struct
334 {
335  maskValue_t fieldsConfigured[OPEN_MASK_LEN(OPEN_IP_ACL_RULEFIELDS_TOTAL)];
337 
338 /*************************************************************************/
371  OPEN_NUMBERED_ACL_TYPE_t aclType,
372  uint32_t aclId);
373 
374 /*************************************************************************/
404  OPEN_ACL_TYPE_t aclType,
405  open_buffdesc *aclName,
406  uint32_t *aclId);
407 
408 /*************************************************************************/
433  uint32_t aclId);
434 
435 /*************************************************************************/
463  OPEN_ACL_TYPE_t aclType,
464  open_buffdesc *aclName);
465 
466 /*************************************************************************/
487  OPEN_ACL_TYPE_t aclType,
488  open_buffdesc *aclName,
489  uint32_t *aclId);
490 
491 /*************************************************************************/
508  OPEN_ACL_TYPE_t aclType,
509  uint32_t *aclId);
510 
511 /*************************************************************************/
529  OPEN_ACL_TYPE_t aclType,
530  uint32_t aclId,
531  uint32_t *nextAclId);
532 
533 /*************************************************************************/
552  uint32_t aclId,
553  open_buffdesc *aclName);
554 
555 /*************************************************************************/
576  uint32_t aclId,
577  open_buffdesc *aclName);
578 
579 /*************************************************************************/
597  uint32_t aclId,
598  uint32_t aclRule,
599  OPEN_ACL_ACTION_t *aclAction);
600 
601 /*************************************************************************/
618  uint32_t aclId,
619  uint32_t *aclRule);
620 
621 /*************************************************************************/
639  uint32_t aclId,
640  uint32_t aclRule,
641  uint32_t *nextAclRule);
642 
643 /*************************************************************************/
666  uint32_t aclId,
667  uint32_t *aclRule,
668  OPEN_ACL_ACTION_t aclAction);
669 
670 /*************************************************************************/
689  uint32_t aclId);
690 
691 /*************************************************************************/
712  uint32_t asic, uint32_t aclId, uint32_t ruleId);
713 
714 /****************************************************************************/
715 /************************* Match rules begin here ***************************/
716 /****************************************************************************/
717 
718 /*************************************************************************/
732  uint32_t *maxQueue);
733 
734 /*************************************************************************/
759  uint32_t aclId,
760  uint32_t aclRule,
761  uint32_t queueId);
762 
763 /*****************************************************************/
784  uint32_t aclId,
785  uint32_t aclRule,
786  uint32_t *queueId);
787 
788 /*************************************************************************/
836  uint32_t aclId,
837  uint32_t aclRule,
838  uint32_t dscp);
839 
840 /*****************************************************************/
884  uint32_t aclId,
885  uint32_t aclRule,
886  uint32_t *dscp);
887 
888 /*************************************************************************/
911  uint32_t aclId,
912  uint32_t aclRule,
913  uint32_t ttlVal);
914 
915 /*****************************************************************/
937  uint32_t aclId,
938  uint32_t aclRule,
939  uint32_t *ttlVal);
940 
941 /*************************************************************************/
966  uint32_t aclId,
967  uint32_t aclRule,
968  bool aclMatch);
969 
970 /*****************************************************************/
991  uint32_t aclId,
992  uint32_t aclRule,
993  bool *aclMatch);
994 
995 /*************************************************************************/
1020  uint32_t aclId,
1021  uint32_t aclRule,
1022  uint32_t label);
1023 
1024 /*****************************************************************/
1045  uint32_t aclId,
1046  uint32_t aclRule,
1047  uint32_t *label);
1048 
1049 /*************************************************************************/
1072  uint32_t aclId,
1073  uint32_t aclRule,
1074  bool fragments);
1075 
1076 /*****************************************************************/
1097  uint32_t aclId,
1098  uint32_t aclRule,
1099  bool *fragments);
1100 
1101 /*****************************************************************/
1135  uint32_t aclId,
1136  uint32_t aclRule,
1137  bool addCode,
1138  uint32_t type,
1139  uint32_t code);
1140 
1141 /*****************************************************************/
1169  uint32_t aclId,
1170  uint32_t aclRule,
1171  bool getCode,
1172  uint32_t *type,
1173  uint32_t *code);
1174 
1175 /*****************************************************************/
1203  uint32_t aclId,
1204  uint32_t aclRule,
1205  uint32_t type);
1206 
1207 /*****************************************************************/
1231  uint32_t aclId,
1232  uint32_t aclRule,
1233  uint32_t *type);
1234 
1235 /*****************************************************************/
1258  uint32_t aclId,
1259  uint32_t aclRule,
1260  bool aclLogging);
1261 
1262 /*****************************************************************/
1283  uint32_t aclId,
1284  uint32_t aclRule,
1285  bool *aclLogging);
1286 
1287 /*****************************************************************/
1311  uint32_t aclId,
1312  uint32_t aclRule,
1313  bool aclSflowSampling);
1314 
1315 /*****************************************************************/
1337  uint32_t aclId,
1338  uint32_t aclRule,
1339  bool *aclSflowSampling);
1340 
1341 /*****************************************************************/
1365  uint32_t aclId,
1366  uint32_t aclRule,
1367  uint32_t cos);
1368 
1369 /*****************************************************************/
1389  uint32_t aclId,
1390  uint32_t aclRule,
1391  uint32_t *cos);
1392 
1393 /*****************************************************************/
1417  uint32_t aclId,
1418  uint32_t aclRule,
1419  uint32_t cos);
1420 
1421 /*****************************************************************/
1441  uint32_t aclId,
1442  uint32_t aclRule,
1443  uint32_t *cos);
1444 
1445 /*****************************************************************/
1484  uint32_t aclId,
1485  uint32_t aclRule,
1486  uint32_t type);
1487 
1488 /*****************************************************************/
1523  uint32_t aclId,
1524  uint32_t aclRule,
1525  uint32_t *type);
1526 
1527 /*****************************************************************/
1557  uint32_t aclId,
1558  uint32_t aclRule,
1559  open_buffdesc *mac,
1560  open_buffdesc *mask);
1561 
1562 /*****************************************************************/
1583  uint32_t aclId,
1584  uint32_t aclRule,
1585  open_buffdesc *mac,
1586  open_buffdesc *mask);
1587 
1588 /*****************************************************************/
1616  uint32_t aclId,
1617  uint32_t aclRule,
1619  uint32_t startId,
1620  uint32_t endId);
1621 
1622 /*****************************************************************/
1644  uint32_t aclId,
1645  uint32_t aclRule,
1647  uint32_t *startId,
1648  uint32_t *endId);
1649 
1650 /*****************************************************************/
1678  uint32_t aclId,
1679  uint32_t aclRule,
1681  uint32_t startId,
1682  uint32_t endId);
1683 
1684 /*****************************************************************/
1706  uint32_t aclId,
1707  uint32_t aclRule,
1709  uint32_t *startId,
1710  uint32_t *endId);
1711 
1712 /*****************************************************************/
1740  uint32_t aclId,
1741  uint32_t aclRule,
1742  open_buffdesc *mac,
1743  open_buffdesc *mask);
1744 
1745 /*****************************************************************/
1766  uint32_t aclId,
1767  uint32_t aclRule,
1768  open_buffdesc *mac,
1769  open_buffdesc *mask);
1770 
1771 /*****************************************************************/
1786  uint32_t *aclCount);
1787 
1788 /*****************************************************************/
1803  uint32_t *aclCount);
1804 
1805 /*****************************************************************/
1820  uint32_t *maxACL);
1821 
1822 /*****************************************************************/
1837  uint32_t *maxIntf);
1838 
1839 /*****************************************************************/
1854  uint32_t *maxACL);
1855 
1856 /*****************************************************************/
1871  uint32_t *maxACL);
1872 
1873 /*****************************************************************/
1888  uint32_t *maxIntf);
1889 
1890 /*****************************************************************/
1905  uint32_t *maxVlan);
1906 
1907 /*****************************************************************/
1934  uint32_t aclId,
1935  uint32_t aclRule,
1936  open_inet_addr_t addr,
1937  open_inet_addr_t mask);
1938 
1939 /*****************************************************************/
1960  uint32_t aclId,
1961  uint32_t aclRule,
1962  open_inet_addr_t *addr,
1963  open_inet_addr_t *mask);
1964 
1965 /*****************************************************************/
1992  uint32_t aclId,
1993  uint32_t aclRule,
1994  open_inet_addr_t addr,
1995  open_inet_addr_t mask);
1996 
1997 /*****************************************************************/
2018  uint32_t aclId,
2019  uint32_t aclRule,
2020  open_inet_addr_t *addr,
2021  open_inet_addr_t *mask);
2022 
2023 /*****************************************************************/
2046  uint32_t aclId,
2047  uint32_t aclRule,
2048  open_inet_addr_t addr,
2049  uint32_t pfxLen);
2050 
2051 /*****************************************************************/
2072  uint32_t aclId,
2073  uint32_t aclRule,
2074  open_inet_addr_t *addr,
2075  uint32_t *pfxLen);
2076 
2077 /*****************************************************************/
2100  uint32_t aclId,
2101  uint32_t aclRule,
2102  open_inet_addr_t addr,
2103  uint32_t pfxLen);
2104 
2105 /*****************************************************************/
2126  uint32_t aclId,
2127  uint32_t aclRule,
2128  open_inet_addr_t *addr,
2129  uint32_t *pfxLen);
2130 
2131 /*****************************************************************/
2181  uint32_t aclId,
2182  uint32_t aclRule,
2184  uint32_t startPort,
2185  uint32_t endPort);
2186 
2187 /*****************************************************************/
2230  uint32_t aclId,
2231  uint32_t aclRule,
2233  uint32_t *startPort,
2234  uint32_t *endPort);
2235 
2236 /*****************************************************************/
2286  uint32_t aclId,
2287  uint32_t aclRule,
2289  uint32_t startPort,
2290  uint32_t endPort);
2291 
2292 /*****************************************************************/
2335  uint32_t aclId,
2336  uint32_t aclRule,
2338  uint32_t *startPort,
2339  uint32_t *endPort);
2340 
2341 /*****************************************************************/
2368  uint32_t aclId,
2369  uint32_t aclRule,
2370  uint32_t intf);
2371 
2372 /*****************************************************************/
2392  uint32_t aclId,
2393  uint32_t aclRule,
2394  uint32_t *intf);
2395 
2396 /*************************************************************************/
2421  uint32_t aclId,
2422  uint32_t aclRule,
2423  uint32_t precedence);
2424 
2425 /*****************************************************************/
2446  uint32_t aclId,
2447  uint32_t aclRule,
2448  uint32_t *precedence);
2449 
2450 /*****************************************************************/
2488  uint32_t aclId,
2489  uint32_t aclRule,
2490  uint32_t aclProtocol);
2491 
2492 /*****************************************************************/
2526  uint32_t aclId,
2527  uint32_t aclRule,
2528  uint32_t *aclProtocol);
2529 
2530 /*****************************************************************/
2557  uint32_t aclId,
2558  uint32_t aclRule,
2559  uint32_t dataRate,
2560  uint32_t burstSize);
2561 
2562 /*****************************************************************/
2583  uint32_t aclId,
2584  uint32_t aclRule,
2585  uint32_t *dataRate,
2586  uint32_t *burstSize);
2587 
2588 /*************************************************************************/
2602  uint32_t *maxIntf);
2603 
2604 /*****************************************************************/
2631  uint32_t aclId,
2632  uint32_t aclRule,
2633  uint32_t intf);
2634 
2635 /*****************************************************************/
2655  uint32_t aclId,
2656  uint32_t aclRule,
2657  uint32_t *intf);
2658 
2659 /*****************************************************************/
2686  uint32_t aclId,
2687  uint32_t aclRule,
2688  uint32_t agent);
2689 
2690 /*****************************************************************/
2710  uint32_t aclId,
2711  uint32_t aclRule,
2712  uint32_t *agent);
2713 
2714 /*****************************************************************/
2740  uint32_t aclId,
2741  uint32_t aclRule,
2742  uint32_t agent);
2743 
2744 /*****************************************************************/
2764  uint32_t aclId,
2765  uint32_t aclRule,
2766  uint32_t *agent);
2767 
2768 /*************************************************************************/
2791  uint32_t aclId,
2792  uint32_t aclRule,
2793  bool flag);
2794 
2795 /*************************************************************************/
2816  uint32_t aclId,
2817  uint32_t aclRule,
2818  bool *flag);
2819 
2820 /*************************************************************************/
2855  uint32_t aclId,
2856  uint32_t aclRule,
2857  uint32_t tcpVal,
2858  uint32_t tcpMask);
2859 
2860 /*************************************************************************/
2893  uint32_t aclId,
2894  uint32_t aclRule,
2895  uint32_t *tcpVal,
2896  uint32_t *tcpMask);
2897 
2898 /*************************************************************************/
2922  uint32_t aclId,
2923  uint32_t aclRule,
2924  open_buffdesc *name);
2925 
2926 /*************************************************************************/
2948  uint32_t aclId,
2949  uint32_t aclRule,
2950  open_buffdesc *name);
2951 
2952 /*************************************************************************/
2972  uint32_t aclId,
2973  uint32_t aclRule,
2974  OPEN_ACL_RULE_STATUS_t *status);
2975 
2976 /*****************************************************************/
3002  uint32_t aclId,
3003  uint32_t aclRule,
3004  open_buffdesc *tos,
3005  open_buffdesc *tosMask);
3006 
3007 /*****************************************************************/
3028  uint32_t aclId,
3029  uint32_t aclRule,
3030  open_buffdesc *tos,
3031  open_buffdesc *tosMask);
3032 
3033 /****************************************************************************/
3034 /************ Traffic-Filter (Access-Group) functions begin here ************/
3035 /****************************************************************************/
3036 
3037 /*****************************************************************/
3064  uint32_t intf,
3066  uint32_t *nextIntf,
3067  OPEN_ACL_DIRECTION_t *nextDir);
3068 
3069 /*****************************************************************/
3109  uint32_t intf,
3111  uint32_t aclId,
3112  uint32_t seqNum);
3113 
3114 /*****************************************************************/
3140  uint32_t intf,
3142  uint32_t aclId);
3143 
3144 /*****************************************************************/
3165  uint32_t intf,
3167  OPEN_CONTROL_t *inUse);
3168 
3169 /*****************************************************************/
3190  uint32_t vlan,
3192  OPEN_CONTROL_t *inUse);
3193 
3194 /*****************************************************************/
3227  uint32_t vlan,
3229  uint32_t aclId,
3230  uint32_t seqNum);
3231 
3232 /*****************************************************************/
3258  uint32_t vlan,
3260  uint32_t aclId);
3261 
3262 /*****************************************************************/
3287  uint32_t intf,
3289  OPEN_ACL_INTF_DIR_LIST_t *listInfo);
3290 
3291 /*****************************************************************/
3316  uint32_t vlan,
3318  OPEN_ACL_VLAN_DIR_LIST_t *listInfo);
3319 
3320 /*****************************************************************/
3341  uint32_t aclId,
3343  OPEN_ACL_ASSIGNED_INTF_LIST_t *intfList);
3344 
3345 /*****************************************************************/
3366  uint32_t aclId,
3368  OPEN_ACL_ASSIGNED_VLAN_LIST_t *vlanList);
3369 
3370 /*************************************************************************/
3389  uint32_t aclId,
3390  uint32_t routePrefix,
3391  uint32_t routeMask,
3392  OPEN_ACL_ACTION_t *aclAction);
3393 
3394 /*************************************************************************/
3413  uint32_t adminMode);
3414 
3415 /*****************************************************************/
3434  uint32_t asic,
3435  uint32_t aclId,
3436  uint32_t ruleNum,
3437  uint32_t ruleAction,
3438  uint64_t *hitPktCount);
3439 
3440 /*****************************************************************/
3457  uint32_t asic,
3458  uint32_t aclId,
3459  uint32_t ruleNum);
3460 
3461 /*****************************************************************/
3478  uint32_t asic,
3479  uint32_t aclId,
3480  uint32_t seqNum);
3481 
3482 /*****************************************************************/
3498  uint32_t asic,
3499  uint32_t aclId);
3500 
3501 /*************************************************************************/
3518  OPEN_ACL_TYPE_t aclType,
3519  uint32_t aclId,
3520  OPEN_BOOL_t *isDacl);
3521 
3522 /*************************************************************************/
3538  uint32_t * aclId);
3539 
3540 /*************************************************************************/
3557  uint32_t aclId, uint32_t * nextAclId);
3558 
3559 /*****************************************************************/
3583  uint32_t aclId,
3584  uint32_t aclRule,
3585  openIpAclRulesFields_t *ipAclRulesFields);
3586 
3587 /*****************************************************************/
3611  uint32_t aclId,
3612  uint32_t aclRule,
3613  openMacAclRulesFields_t *macAclRulesFields);
3614 #endif /* OPENAPI_ACL_H_INCLUDED */
3615 
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.
Mirror Interface.
Definition: openapi_acl.h:291
VLAN ID Ranage Start.
Definition: openapi_acl.h:268
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.
Destinaiton End Port.
Definition: openapi_acl.h:311
Source End Port.
Definition: openapi_acl.h:305
Destination IPv6.
Definition: openapi_acl.h:308
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.
Soruce Start Port.
Definition: openapi_acl.h:304
#define OPEN_MASK_LEN(_size)
SETMASKBIT turns on bit index # k in mask j.
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)
Definition: openapi_acl.h:182
Secondary VLAN.
Definition: openapi_acl.h:270
Destination Port Operator.
Definition: openapi_acl.h:325
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.
ACL interface list.
Definition: openapi_acl.h:232
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 openapiAclRuleMatchTtlGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t *ttlVal)
Gets the TTL value for an access list rule.
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)
Definition: openapi_acl.h:189
Redirect Ext Agent.
Definition: openapi_acl.h:293
OPEN_BOOL_t isDacl
Is ACL downloadable ACL or not.
Definition: openapi_acl.h:206
VLAN ID Ranage End.
Definition: openapi_acl.h:269
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.
Ethertype Keyid.
Definition: openapi_acl.h:263
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.
Extended numbered ACL.
Definition: openapi_acl.h:156
Named IP ACL.
Definition: openapi_acl.h:147
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_NUMBERED_ACL_TYPE_t
Supported numbered access list types.
Definition: openapi_acl.h:153
Named IPv6 ACL.
Definition: openapi_acl.h:149
Mirror Ext Agent.
Definition: openapi_acl.h:294
Source IP Mask.
Definition: openapi_acl.h:301
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.
Definition: openapi_acl.h:220
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_MAC_ACL_RULEFIELDS_t
Definition: openapi_acl.h:246
Interface ACL list.
Definition: openapi_acl.h:210
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.
Rule Number.
Definition: openapi_acl.h:287
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.
Definition: openapi_acl.h:168
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.
Definition: openapi_acl.h:241
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.
Source Port.
Definition: openapi_acl.h:303
Destination Start Port.
Definition: openapi_acl.h:310
uint32_t aclId
ACL identifying number (per ACL type)
Definition: openapi_acl.h:221
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.
Source MAC Mask.
Definition: openapi_acl.h:266
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_error_t openapiAclFieldsConfiguredMaskGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, openIpAclRulesFields_t *ipAclRulesFields)
Get the configured fields mask for the specified IP/IPv6 ACL and rule.
OPEN_ACL_L4_PORT_OPERATOR_t
Layer 4 Port Operator Flags.
Definition: openapi_acl.h:176
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.
Redirect Interface.
Definition: openapi_acl.h:290
Destination Port.
Definition: openapi_acl.h:309
Flow Label IPv6.
Definition: openapi_acl.h:317
open_error_t openapiAclRuleGlobalApply(openapiClientHandle_t *client_handle, uint32_t asic, uint32_t aclId, uint32_t seqNum)
Apply ACL rule to all interfaces.
Source MAC.
Definition: openapi_acl.h:265
Destination IP Mask.
Definition: openapi_acl.h:307
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.
Definition: openapi_acl.h:197
uint32_t aclId
ACL identifying number (per ACL type)
Definition: openapi_acl.h:205
OPEN_ACL_TYPE_t aclType
Type of ACL.
Definition: openapi_acl.h:204
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.
Definition: openapi_acl.h:193
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.
Definition: openapi_acl.h:219
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 openapiAclMacFieldsConfiguredMaskGet(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, openMacAclRulesFields_t *macAclRulesFields)
Get the configured fields mask for the specified MAC ACL and 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.
Secondary VLAN Range Start.
Definition: openapi_acl.h:271
open_error_t openapiAclRuleMatchTtlAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t ttlVal)
Set the TTL value for an access list rule.
open_error_t openapiAclIdGetFirst(openapiClientHandle_t *client_handle, uint32_t *aclId)
Get the first access list ID created on 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...
Match Every.
Definition: openapi_acl.h:297
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.
Definition: openapi_acl.h:227
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.
Match Every.
Definition: openapi_acl.h:258
uint32_t count
Number of valid listEntry entries.
Definition: openapi_acl.h:212
OPEN_BOOL_t
OPEN uses these enumerators to indicate true or false for a given config or status parameter...
Standard numbered ACL.
Definition: openapi_acl.h:155
OPEN_ACL_TYPE_t
Supported Access List types.
Definition: openapi_acl.h:144
Secondary COS.
Definition: openapi_acl.h:260
open_error_t openapiAclRuleDeleteLast(openapiClientHandle_t *client_handle, uint32_t aclId)
Delete the last rule for the given ACL.
Secondary VLAN Range End.
Definition: openapi_acl.h:272
open_error_t openapiAclRename(openapiClientHandle_t *client_handle, uint32_t aclId, open_buffdesc *aclName)
Change the Access List name.
Destination MAC Mask.
Definition: openapi_acl.h:262
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.
Named MAC ACL.
Definition: openapi_acl.h:148
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.
Definition: openapi_acl.h:203
Assign Queue ID.
Definition: openapi_acl.h:289
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_IP_ACL_RULEFIELDS_t
Definition: openapi_acl.h:285
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.
Redirect Interface.
Definition: openapi_acl.h:251
open_error_t openapiAclIdGetNext(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t *nextAclId)
Get the next access list ID for given aclId.
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.
Source IP.
Definition: openapi_acl.h:300
Ethertype Value.
Definition: openapi_acl.h:264
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.
Rule Number.
Definition: openapi_acl.h:248
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.
Definition: openapi_acl.h:234
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.
Destination MAC.
Definition: openapi_acl.h:261
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_error_t openapiNumberedAclCreate(openapiClientHandle_t *client_handle, OPEN_NUMBERED_ACL_TYPE_t aclType, uint32_t aclId)
Create a new numbered access List.
OPEN_ACL_VLAN_OPERATOR_t
MAC VLAN Operator Flags.
Definition: openapi_acl.h:186
Redirect Ext Agent.
Definition: openapi_acl.h:252
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.
IP Precedence.
Definition: openapi_acl.h:313
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.
Definition: openapi_acl.h:161
VLAN ACL entry information.
Definition: openapi_acl.h:217
open_error_t openapiAclRuleMatchPrecedenceAdd(openapiClientHandle_t *client_handle, uint32_t aclId, uint32_t aclRule, uint32_t precedence)
Set the match condition precedence value.
Source Port Operator.
Definition: openapi_acl.h:324
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.
Destination IP.
Definition: openapi_acl.h:306
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.
Source IPv6.
Definition: openapi_acl.h:302
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.
Mirror Interface.
Definition: openapi_acl.h:253
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.
Definition: openapi_acl.h:201
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.