Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.6.0.3
openapi_acl.h
Go to the documentation of this file.
1 
9 /**********************************************************************
10 *
11 * Copyright 2016-2018 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_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
57 /* DSCP User Keyword Translations for IP DSCP Values */
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
81 /* ACL L4 Port Keyword definitions*/
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
99 /* User Keyword Translations for Ethertype Hex Values */
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
115 /* TCP Filtering flags */
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
124 typedef enum
125 {
131 
133 typedef enum
134 {
138 
140 typedef enum
141 {
146 
148 typedef enum
149 {
156 
158 typedef enum
159 {
163 
165 typedef enum
166 {
171 
173 typedef struct
174 {
175  uint32_t seqNum;
177  uint32_t aclId;
180 
182 typedef struct
183 {
184  uint32_t count;
185  OPEN_ACL_INTF_LIST_INFO_t listEntry[100];
187 
189 typedef struct
190 {
191  uint32_t seqNum;
193  uint32_t aclId;
195 
197 typedef struct
198 {
199  uint32_t count;
200  OPEN_ACL_VLAN_LIST_INFO_t listEntry[100];
202 
204 typedef struct
205 {
206  uint32_t count;
207  uint32_t intf[1536];
209 
211 typedef struct
212 {
213  uint32_t count;
214  uint32_t vlan[1024];
216 
217 /*************************************************************************/
247  OPEN_ACL_TYPE_t aclType,
248  open_buffdesc *aclName,
249  uint32_t *aclId);
250 
251 /*************************************************************************/
276  uint32_t aclId);
277 
278 /*************************************************************************/
306  OPEN_ACL_TYPE_t aclType,
307  open_buffdesc *aclName);
308 
309 /*************************************************************************/
330  OPEN_ACL_TYPE_t aclType,
331  open_buffdesc *aclName,
332  uint32_t *aclId);
333 
334 /*************************************************************************/
351  OPEN_ACL_TYPE_t aclType,
352  uint32_t *aclId);
353 
354 /*************************************************************************/
372  OPEN_ACL_TYPE_t aclType,
373  uint32_t aclId,
374  uint32_t *nextAclId);
375 
376 /*************************************************************************/
395  uint32_t aclId,
396  open_buffdesc *aclName);
397 
398 /*************************************************************************/
419  uint32_t aclId,
420  open_buffdesc *aclName);
421 
422 /*************************************************************************/
440  uint32_t aclId,
441  uint32_t aclRule,
442  OPEN_ACL_ACTION_t *aclAction);
443 
444 /*************************************************************************/
461  uint32_t aclId,
462  uint32_t *aclRule);
463 
464 /*************************************************************************/
482  uint32_t aclId,
483  uint32_t aclRule,
484  uint32_t *nextAclRule);
485 
486 /*************************************************************************/
509  uint32_t aclId,
510  uint32_t *aclRule,
511  OPEN_ACL_ACTION_t aclAction);
512 
513 /*************************************************************************/
532  uint32_t aclId);
533 
534 /*************************************************************************/
555  uint32_t asic, uint32_t aclId, uint32_t ruleId);
556 
557 /****************************************************************************/
558 /************************* Match rules begin here ***************************/
559 /****************************************************************************/
560 
561 /*************************************************************************/
575  uint32_t *maxQueue);
576 
577 /*************************************************************************/
602  uint32_t aclId,
603  uint32_t aclRule,
604  uint32_t queueId);
605 
606 /*****************************************************************/
627  uint32_t aclId,
628  uint32_t aclRule,
629  uint32_t *queueId);
630 
631 /*************************************************************************/
679  uint32_t aclId,
680  uint32_t aclRule,
681  uint32_t dscp);
682 
683 /*****************************************************************/
727  uint32_t aclId,
728  uint32_t aclRule,
729  uint32_t *dscp);
730 
731 /*************************************************************************/
756  uint32_t aclId,
757  uint32_t aclRule,
758  bool aclMatch);
759 
760 /*****************************************************************/
781  uint32_t aclId,
782  uint32_t aclRule,
783  bool *aclMatch);
784 
785 /*************************************************************************/
810  uint32_t aclId,
811  uint32_t aclRule,
812  uint32_t label);
813 
814 /*****************************************************************/
835  uint32_t aclId,
836  uint32_t aclRule,
837  uint32_t *label);
838 
839 /*************************************************************************/
862  uint32_t aclId,
863  uint32_t aclRule,
864  bool fragments);
865 
866 /*****************************************************************/
887  uint32_t aclId,
888  uint32_t aclRule,
889  bool *fragments);
890 
891 /*****************************************************************/
925  uint32_t aclId,
926  uint32_t aclRule,
927  bool addCode,
928  uint32_t type,
929  uint32_t code);
930 
931 /*****************************************************************/
959  uint32_t aclId,
960  uint32_t aclRule,
961  bool getCode,
962  uint32_t *type,
963  uint32_t *code);
964 
965 /*****************************************************************/
993  uint32_t aclId,
994  uint32_t aclRule,
995  uint32_t type);
996 
997 /*****************************************************************/
1021  uint32_t aclId,
1022  uint32_t aclRule,
1023  uint32_t *type);
1024 
1025 /*****************************************************************/
1048  uint32_t aclId,
1049  uint32_t aclRule,
1050  bool aclLogging);
1051 
1052 /*****************************************************************/
1073  uint32_t aclId,
1074  uint32_t aclRule,
1075  bool *aclLogging);
1076 
1077 /*****************************************************************/
1101  uint32_t aclId,
1102  uint32_t aclRule,
1103  bool aclSflowSampling);
1104 
1105 /*****************************************************************/
1127  uint32_t aclId,
1128  uint32_t aclRule,
1129  bool *aclSflowSampling);
1130 
1131 /*****************************************************************/
1155  uint32_t aclId,
1156  uint32_t aclRule,
1157  uint32_t cos);
1158 
1159 /*****************************************************************/
1179  uint32_t aclId,
1180  uint32_t aclRule,
1181  uint32_t *cos);
1182 
1183 /*****************************************************************/
1207  uint32_t aclId,
1208  uint32_t aclRule,
1209  uint32_t cos);
1210 
1211 /*****************************************************************/
1231  uint32_t aclId,
1232  uint32_t aclRule,
1233  uint32_t *cos);
1234 
1235 /*****************************************************************/
1274  uint32_t aclId,
1275  uint32_t aclRule,
1276  uint32_t type);
1277 
1278 /*****************************************************************/
1313  uint32_t aclId,
1314  uint32_t aclRule,
1315  uint32_t *type);
1316 
1317 /*****************************************************************/
1347  uint32_t aclId,
1348  uint32_t aclRule,
1349  open_buffdesc *mac,
1350  open_buffdesc *mask);
1351 
1352 /*****************************************************************/
1373  uint32_t aclId,
1374  uint32_t aclRule,
1375  open_buffdesc *mac,
1376  open_buffdesc *mask);
1377 
1378 /*****************************************************************/
1406  uint32_t aclId,
1407  uint32_t aclRule,
1409  uint32_t startId,
1410  uint32_t endId);
1411 
1412 /*****************************************************************/
1434  uint32_t aclId,
1435  uint32_t aclRule,
1437  uint32_t *startId,
1438  uint32_t *endId);
1439 
1440 /*****************************************************************/
1468  uint32_t aclId,
1469  uint32_t aclRule,
1471  uint32_t startId,
1472  uint32_t endId);
1473 
1474 /*****************************************************************/
1496  uint32_t aclId,
1497  uint32_t aclRule,
1499  uint32_t *startId,
1500  uint32_t *endId);
1501 
1502 /*****************************************************************/
1530  uint32_t aclId,
1531  uint32_t aclRule,
1532  open_buffdesc *mac,
1533  open_buffdesc *mask);
1534 
1535 /*****************************************************************/
1556  uint32_t aclId,
1557  uint32_t aclRule,
1558  open_buffdesc *mac,
1559  open_buffdesc *mask);
1560 
1561 /*****************************************************************/
1576  uint32_t *aclCount);
1577 
1578 /*****************************************************************/
1593  uint32_t *aclCount);
1594 
1595 /*****************************************************************/
1610  uint32_t *maxACL);
1611 
1612 /*****************************************************************/
1627  uint32_t *maxIntf);
1628 
1629 /*****************************************************************/
1644  uint32_t *maxACL);
1645 
1646 /*****************************************************************/
1661  uint32_t *maxACL);
1662 
1663 /*****************************************************************/
1678  uint32_t *maxIntf);
1679 
1680 /*****************************************************************/
1695  uint32_t *maxVlan);
1696 
1697 /*****************************************************************/
1724  uint32_t aclId,
1725  uint32_t aclRule,
1726  open_inet_addr_t addr,
1727  open_inet_addr_t mask);
1728 
1729 /*****************************************************************/
1750  uint32_t aclId,
1751  uint32_t aclRule,
1752  open_inet_addr_t *addr,
1753  open_inet_addr_t *mask);
1754 
1755 /*****************************************************************/
1782  uint32_t aclId,
1783  uint32_t aclRule,
1784  open_inet_addr_t addr,
1785  open_inet_addr_t mask);
1786 
1787 /*****************************************************************/
1808  uint32_t aclId,
1809  uint32_t aclRule,
1810  open_inet_addr_t *addr,
1811  open_inet_addr_t *mask);
1812 
1813 /*****************************************************************/
1836  uint32_t aclId,
1837  uint32_t aclRule,
1838  open_inet_addr_t addr,
1839  uint32_t pfxLen);
1840 
1841 /*****************************************************************/
1862  uint32_t aclId,
1863  uint32_t aclRule,
1864  open_inet_addr_t *addr,
1865  uint32_t *pfxLen);
1866 
1867 /*****************************************************************/
1890  uint32_t aclId,
1891  uint32_t aclRule,
1892  open_inet_addr_t addr,
1893  uint32_t pfxLen);
1894 
1895 /*****************************************************************/
1916  uint32_t aclId,
1917  uint32_t aclRule,
1918  open_inet_addr_t *addr,
1919  uint32_t *pfxLen);
1920 
1921 /*****************************************************************/
1971  uint32_t aclId,
1972  uint32_t aclRule,
1974  uint32_t startPort,
1975  uint32_t endPort);
1976 
1977 /*****************************************************************/
2020  uint32_t aclId,
2021  uint32_t aclRule,
2023  uint32_t *startPort,
2024  uint32_t *endPort);
2025 
2026 /*****************************************************************/
2076  uint32_t aclId,
2077  uint32_t aclRule,
2079  uint32_t startPort,
2080  uint32_t endPort);
2081 
2082 /*****************************************************************/
2125  uint32_t aclId,
2126  uint32_t aclRule,
2128  uint32_t *startPort,
2129  uint32_t *endPort);
2130 
2131 /*****************************************************************/
2158  uint32_t aclId,
2159  uint32_t aclRule,
2160  uint32_t intf);
2161 
2162 /*****************************************************************/
2182  uint32_t aclId,
2183  uint32_t aclRule,
2184  uint32_t *intf);
2185 
2186 /*************************************************************************/
2211  uint32_t aclId,
2212  uint32_t aclRule,
2213  uint32_t precedence);
2214 
2215 /*****************************************************************/
2236  uint32_t aclId,
2237  uint32_t aclRule,
2238  uint32_t *precedence);
2239 
2240 /*****************************************************************/
2277  uint32_t aclId,
2278  uint32_t aclRule,
2279  uint32_t aclProtocol);
2280 
2281 /*****************************************************************/
2314  uint32_t aclId,
2315  uint32_t aclRule,
2316  uint32_t *aclProtocol);
2317 
2318 /*****************************************************************/
2345  uint32_t aclId,
2346  uint32_t aclRule,
2347  uint32_t dataRate,
2348  uint32_t burstSize);
2349 
2350 /*****************************************************************/
2371  uint32_t aclId,
2372  uint32_t aclRule,
2373  uint32_t *dataRate,
2374  uint32_t *burstSize);
2375 
2376 /*************************************************************************/
2390  uint32_t *maxIntf);
2391 
2392 /*****************************************************************/
2419  uint32_t aclId,
2420  uint32_t aclRule,
2421  uint32_t intf);
2422 
2423 /*****************************************************************/
2443  uint32_t aclId,
2444  uint32_t aclRule,
2445  uint32_t *intf);
2446 
2447 /*****************************************************************/
2474  uint32_t aclId,
2475  uint32_t aclRule,
2476  uint32_t agent);
2477 
2478 /*****************************************************************/
2498  uint32_t aclId,
2499  uint32_t aclRule,
2500  uint32_t *agent);
2501 
2502 /*****************************************************************/
2528  uint32_t aclId,
2529  uint32_t aclRule,
2530  uint32_t agent);
2531 
2532 /*****************************************************************/
2552  uint32_t aclId,
2553  uint32_t aclRule,
2554  uint32_t *agent);
2555 
2556 /*************************************************************************/
2579  uint32_t aclId,
2580  uint32_t aclRule,
2581  bool flag);
2582 
2583 /*************************************************************************/
2604  uint32_t aclId,
2605  uint32_t aclRule,
2606  bool *flag);
2607 
2608 /*************************************************************************/
2643  uint32_t aclId,
2644  uint32_t aclRule,
2645  uint32_t tcpVal,
2646  uint32_t tcpMask);
2647 
2648 /*************************************************************************/
2681  uint32_t aclId,
2682  uint32_t aclRule,
2683  uint32_t *tcpVal,
2684  uint32_t *tcpMask);
2685 
2686 /*************************************************************************/
2710  uint32_t aclId,
2711  uint32_t aclRule,
2712  open_buffdesc *name);
2713 
2714 /*************************************************************************/
2736  uint32_t aclId,
2737  uint32_t aclRule,
2738  open_buffdesc *name);
2739 
2740 /*************************************************************************/
2760  uint32_t aclId,
2761  uint32_t aclRule,
2762  OPEN_ACL_RULE_STATUS_t *status);
2763 
2764 /*****************************************************************/
2790  uint32_t aclId,
2791  uint32_t aclRule,
2792  open_buffdesc *tos,
2793  open_buffdesc *tosMask);
2794 
2795 /*****************************************************************/
2816  uint32_t aclId,
2817  uint32_t aclRule,
2818  open_buffdesc *tos,
2819  open_buffdesc *tosMask);
2820 
2821 /****************************************************************************/
2822 /************ Traffic-Filter (Access-Group) functions begin here ************/
2823 /****************************************************************************/
2824 
2825 /*****************************************************************/
2852  uint32_t intf,
2854  uint32_t *nextIntf,
2855  OPEN_ACL_DIRECTION_t *nextDir);
2856 
2857 /*****************************************************************/
2897  uint32_t intf,
2899  uint32_t aclId,
2900  uint32_t seqNum);
2901 
2902 /*****************************************************************/
2928  uint32_t intf,
2930  uint32_t aclId);
2931 
2932 /*****************************************************************/
2953  uint32_t intf,
2955  OPEN_CONTROL_t *inUse);
2956 
2957 /*****************************************************************/
2978  uint32_t vlan,
2980  OPEN_CONTROL_t *inUse);
2981 
2982 /*****************************************************************/
3015  uint32_t vlan,
3017  uint32_t aclId,
3018  uint32_t seqNum);
3019 
3020 /*****************************************************************/
3046  uint32_t vlan,
3048  uint32_t aclId);
3049 
3050 /*****************************************************************/
3075  uint32_t intf,
3077  OPEN_ACL_INTF_DIR_LIST_t *listInfo);
3078 
3079 /*****************************************************************/
3104  uint32_t vlan,
3106  OPEN_ACL_VLAN_DIR_LIST_t *listInfo);
3107 
3108 /*****************************************************************/
3129  uint32_t aclId,
3131  OPEN_ACL_ASSIGNED_INTF_LIST_t *intfList);
3132 
3133 /*****************************************************************/
3154  uint32_t aclId,
3156  OPEN_ACL_ASSIGNED_VLAN_LIST_t *vlanList);
3157 
3158 /*************************************************************************/
3177  uint32_t aclId,
3178  uint32_t routePrefix,
3179  uint32_t routeMask,
3180  OPEN_ACL_ACTION_t *aclAction);
3181 
3182 /*************************************************************************/
3201  uint32_t adminMode);
3202 
3203 /*****************************************************************/
3222  uint32_t asic,
3223  uint32_t aclId,
3224  uint32_t ruleNum,
3225  uint32_t ruleAction,
3226  uint64_t *hitPktCount);
3227 
3228 /*****************************************************************/
3245  uint32_t asic,
3246  uint32_t aclId,
3247  uint32_t ruleNum);
3248 
3249 /*****************************************************************/
3266  uint32_t asic,
3267  uint32_t aclId,
3268  uint32_t seqNum);
3269 
3270 /*****************************************************************/
3286  uint32_t asic,
3287  uint32_t aclId);
3288 
3289 /*************************************************************************/
3306  OPEN_ACL_TYPE_t aclType,
3307  uint32_t aclId,
3308  OPEN_BOOL_t *isDacl);
3309 
3310 #endif /* OPENAPI_ACL_H_INCLUDED */
3311 
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)
Definition: openapi_acl.h:154
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:204
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)
Definition: openapi_acl.h:161
OPEN_BOOL_t isDacl
Is ACL downloadable ACL or not.
Definition: openapi_acl.h:178
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.
Named IP ACL.
Definition: openapi_acl.h:127
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.
Named IPv6 ACL.
Definition: openapi_acl.h:129
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:192
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.
Interface ACL list.
Definition: openapi_acl.h:182
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.
Definition: openapi_acl.h:140
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:213
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)
Definition: openapi_acl.h:193
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.
Definition: openapi_acl.h:148
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.
Definition: openapi_acl.h:169
uint32_t aclId
ACL identifying number (per ACL type)
Definition: openapi_acl.h:177
OPEN_ACL_TYPE_t aclType
Type of ACL.
Definition: openapi_acl.h:176
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:165
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:191
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.
Definition: openapi_acl.h:199
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.
Definition: openapi_acl.h:184
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.
Definition: openapi_acl.h:124
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.
Named MAC ACL.
Definition: openapi_acl.h:128
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:175
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.
Definition: openapi_acl.h:206
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.
Definition: openapi_acl.h:158
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.
Definition: openapi_acl.h:133
VLAN ACL entry information.
Definition: openapi_acl.h:189
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.
Definition: openapi_acl.h:173
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.