Open Ethernet Networking (OpEN) API Guide and Reference Manual
3.4.4.5
Welcome
ADK Documentation
API Reference
Files
File List
Globals
api
include
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
{
126
OPEN_ACL_TYPE_NONE
= 0,
127
OPEN_ACL_TYPE_IP
= 1,
128
OPEN_ACL_TYPE_MAC
= 2,
129
OPEN_ACL_TYPE_IPV6
= 3
130
}
OPEN_ACL_TYPE_t
;
131
133
typedef
enum
134
{
135
OPEN_ACL_PERMIT
= 0,
136
OPEN_ACL_DENY
= 1
137
}
OPEN_ACL_ACTION_t
;
138
140
typedef
enum
141
{
142
OPEN_ACL_RULE_STATUS_NONE
= 0,
143
OPEN_ACL_RULE_STATUS_INACTIVE
= 1,
144
OPEN_ACL_RULE_STATUS_ACTIVE
= 2
145
}
OPEN_ACL_RULE_STATUS_t
;
146
148
typedef
enum
149
{
150
OPEN_ACL_L4_PORT_OPERATOR_EQUAL_TO
= 0,
151
OPEN_ACL_L4_PORT_OPERATOR_NOT_EQUAL_TO
= 1,
152
OPEN_ACL_L4_PORT_OPERATOR_LESS_THAN
= 2,
153
OPEN_ACL_L4_PORT_OPERATOR_GREATER_THAN
= 3,
154
OPEN_ACL_L4_PORT_OPERATOR_RANGE
= 4
155
}
OPEN_ACL_L4_PORT_OPERATOR_t
;
156
158
typedef
enum
159
{
160
OPEN_ACL_VLAN_OPERATOR_EQUAL_TO
= 0,
161
OPEN_ACL_VLAN_OPERATOR_RANGE
= 1
162
}
OPEN_ACL_VLAN_OPERATOR_t
;
163
165
typedef
enum
166
{
167
OPEN_ACL_INBOUND_ACL
= 0,
168
OPEN_ACL_OUTBOUND_ACL
= 1,
169
OPEN_ACL_DIRECTION_TOTAL
= 2
170
}
OPEN_ACL_DIRECTION_t
;
171
173
typedef
struct
174
{
175
uint32_t
seqNum
;
176
OPEN_ACL_TYPE_t
aclType
;
177
uint32_t
aclId
;
178
OPEN_BOOL_t
isDacl
;
179
}
OPEN_ACL_INTF_LIST_INFO_t
;
180
182
typedef
struct
183
{
184
uint32_t
count
;
185
OPEN_ACL_INTF_LIST_INFO_t
listEntry[100];
186
}
OPEN_ACL_INTF_DIR_LIST_t
;
187
189
typedef
struct
190
{
191
uint32_t
seqNum
;
192
OPEN_ACL_TYPE_t
aclType
;
193
uint32_t
aclId
;
194
}
OPEN_ACL_VLAN_LIST_INFO_t
;
195
197
typedef
struct
198
{
199
uint32_t
count
;
200
OPEN_ACL_VLAN_LIST_INFO_t
listEntry[100];
201
}
OPEN_ACL_VLAN_DIR_LIST_t
;
202
204
typedef
struct
205
{
206
uint32_t
count
;
207
uint32_t intf[1536];
208
}
OPEN_ACL_ASSIGNED_INTF_LIST_t
;
209
211
typedef
struct
212
{
213
uint32_t
count
;
214
uint32_t vlan[1024];
215
}
OPEN_ACL_ASSIGNED_VLAN_LIST_t
;
216
217
/*************************************************************************/
246
open_error_t
openapiAclCreate
(
openapiClientHandle_t
*client_handle,
247
OPEN_ACL_TYPE_t
aclType,
248
open_buffdesc
*aclName,
249
uint32_t *aclId);
250
251
/*************************************************************************/
275
open_error_t
openapiAclDelete
(
openapiClientHandle_t
*client_handle,
276
uint32_t aclId);
277
278
/*************************************************************************/
305
open_error_t
openapiAclDeleteByName
(
openapiClientHandle_t
*client_handle,
306
OPEN_ACL_TYPE_t
aclType,
307
open_buffdesc
*aclName);
308
309
/*************************************************************************/
329
open_error_t
openapiAclGet
(
openapiClientHandle_t
*client_handle,
330
OPEN_ACL_TYPE_t
aclType,
331
open_buffdesc
*aclName,
332
uint32_t *aclId);
333
334
/*************************************************************************/
350
open_error_t
openapiAclGetFirst
(
openapiClientHandle_t
*client_handle,
351
OPEN_ACL_TYPE_t
aclType,
352
uint32_t *aclId);
353
354
/*************************************************************************/
371
open_error_t
openapiAclGetNext
(
openapiClientHandle_t
*client_handle,
372
OPEN_ACL_TYPE_t
aclType,
373
uint32_t aclId,
374
uint32_t *nextAclId);
375
376
/*************************************************************************/
394
open_error_t
openapiAclNameGet
(
openapiClientHandle_t
*client_handle,
395
uint32_t aclId,
396
open_buffdesc
*aclName);
397
398
/*************************************************************************/
418
open_error_t
openapiAclRename
(
openapiClientHandle_t
*client_handle,
419
uint32_t aclId,
420
open_buffdesc
*aclName);
421
422
/*************************************************************************/
439
open_error_t
openapiAclRuleActionGet
(
openapiClientHandle_t
*client_handle,
440
uint32_t aclId,
441
uint32_t aclRule,
442
OPEN_ACL_ACTION_t
*aclAction);
443
444
/*************************************************************************/
460
open_error_t
openapiAclRuleGetFirst
(
openapiClientHandle_t
*client_handle,
461
uint32_t aclId,
462
uint32_t *aclRule);
463
464
/*************************************************************************/
481
open_error_t
openapiAclRuleGetNext
(
openapiClientHandle_t
*client_handle,
482
uint32_t aclId,
483
uint32_t aclRule,
484
uint32_t *nextAclRule);
485
486
/*************************************************************************/
508
open_error_t
openapiAclRuleActionAdd
(
openapiClientHandle_t
*client_handle,
509
uint32_t aclId,
510
uint32_t *aclRule,
511
OPEN_ACL_ACTION_t
aclAction);
512
513
/*************************************************************************/
531
open_error_t
openapiAclRuleDeleteLast
(
openapiClientHandle_t
*client_handle,
532
uint32_t aclId);
533
534
/*************************************************************************/
554
open_error_t
openapiAclRuleDelete
(
openapiClientHandle_t
*client_handle,
555
uint32_t asic, uint32_t aclId, uint32_t ruleId);
556
557
/****************************************************************************/
558
/************************* Match rules begin here ***************************/
559
/****************************************************************************/
560
561
/*************************************************************************/
574
open_error_t
openapiAclMaxAssignQueueGet
(
openapiClientHandle_t
*client_handle,
575
uint32_t *maxQueue);
576
577
/*************************************************************************/
601
open_error_t
openapiAclRuleMatchAssignQueueAdd
(
openapiClientHandle_t
*client_handle,
602
uint32_t aclId,
603
uint32_t aclRule,
604
uint32_t queueId);
605
606
/*****************************************************************/
626
open_error_t
openapiAclRuleMatchAssignQueueGet
(
openapiClientHandle_t
*client_handle,
627
uint32_t aclId,
628
uint32_t aclRule,
629
uint32_t *queueId);
630
631
/*************************************************************************/
678
open_error_t
openapiAclRuleMatchDscpAdd
(
openapiClientHandle_t
*client_handle,
679
uint32_t aclId,
680
uint32_t aclRule,
681
uint32_t dscp);
682
683
/*****************************************************************/
726
open_error_t
openapiAclRuleMatchDscpGet
(
openapiClientHandle_t
*client_handle,
727
uint32_t aclId,
728
uint32_t aclRule,
729
uint32_t *dscp);
730
731
/*************************************************************************/
755
open_error_t
openapiAclRuleMatchEveryAdd
(
openapiClientHandle_t
*client_handle,
756
uint32_t aclId,
757
uint32_t aclRule,
758
bool
aclMatch);
759
760
/*****************************************************************/
780
open_error_t
openapiAclRuleMatchEveryGet
(
openapiClientHandle_t
*client_handle,
781
uint32_t aclId,
782
uint32_t aclRule,
783
bool
*aclMatch);
784
785
/*************************************************************************/
809
open_error_t
openapiAclRuleMatchFlowLabelAdd
(
openapiClientHandle_t
*client_handle,
810
uint32_t aclId,
811
uint32_t aclRule,
812
uint32_t label);
813
814
/*****************************************************************/
834
open_error_t
openapiAclRuleMatchFlowLabelGet
(
openapiClientHandle_t
*client_handle,
835
uint32_t aclId,
836
uint32_t aclRule,
837
uint32_t *label);
838
839
/*************************************************************************/
861
open_error_t
openapiAclRuleMatchFragmentsAdd
(
openapiClientHandle_t
*client_handle,
862
uint32_t aclId,
863
uint32_t aclRule,
864
bool
fragments);
865
866
/*****************************************************************/
886
open_error_t
openapiAclRuleMatchFragmentsGet
(
openapiClientHandle_t
*client_handle,
887
uint32_t aclId,
888
uint32_t aclRule,
889
bool
*fragments);
890
891
/*****************************************************************/
924
open_error_t
openapiAclRuleMatchIcmpTypeCodeAdd
(
openapiClientHandle_t
*client_handle,
925
uint32_t aclId,
926
uint32_t aclRule,
927
bool
addCode,
928
uint32_t type,
929
uint32_t code);
930
931
/*****************************************************************/
958
open_error_t
openapiAclRuleMatchIcmpTypeCodeGet
(
openapiClientHandle_t
*client_handle,
959
uint32_t aclId,
960
uint32_t aclRule,
961
bool
getCode,
962
uint32_t *type,
963
uint32_t *code);
964
965
/*****************************************************************/
992
open_error_t
openapiAclRuleMatchIgmpTypeAdd
(
openapiClientHandle_t
*client_handle,
993
uint32_t aclId,
994
uint32_t aclRule,
995
uint32_t type);
996
997
/*****************************************************************/
1020
open_error_t
openapiAclRuleMatchIgmpTypeGet
(
openapiClientHandle_t
*client_handle,
1021
uint32_t aclId,
1022
uint32_t aclRule,
1023
uint32_t *type);
1024
1025
/*****************************************************************/
1047
open_error_t
openapiAclRuleMatchLoggingAdd
(
openapiClientHandle_t
*client_handle,
1048
uint32_t aclId,
1049
uint32_t aclRule,
1050
bool
aclLogging);
1051
1052
/*****************************************************************/
1072
open_error_t
openapiAclRuleMatchLoggingGet
(
openapiClientHandle_t
*client_handle,
1073
uint32_t aclId,
1074
uint32_t aclRule,
1075
bool
*aclLogging);
1076
1077
/*****************************************************************/
1100
open_error_t
openapiAclRuleMatchSflowSamplingAdd
(
openapiClientHandle_t
*client_handle,
1101
uint32_t aclId,
1102
uint32_t aclRule,
1103
bool
aclSflowSampling);
1104
1105
/*****************************************************************/
1126
open_error_t
openapiAclRuleMatchSflowSamplingGet
(
openapiClientHandle_t
*client_handle,
1127
uint32_t aclId,
1128
uint32_t aclRule,
1129
bool
*aclSflowSampling);
1130
1131
/*****************************************************************/
1154
open_error_t
openapiAclRuleMatchMacCosAdd
(
openapiClientHandle_t
*client_handle,
1155
uint32_t aclId,
1156
uint32_t aclRule,
1157
uint32_t cos);
1158
1159
/*****************************************************************/
1178
open_error_t
openapiAclRuleMatchMacCosGet
(
openapiClientHandle_t
*client_handle,
1179
uint32_t aclId,
1180
uint32_t aclRule,
1181
uint32_t *cos);
1182
1183
/*****************************************************************/
1206
open_error_t
openapiAclRuleMatchMacCos2Add
(
openapiClientHandle_t
*client_handle,
1207
uint32_t aclId,
1208
uint32_t aclRule,
1209
uint32_t cos);
1210
1211
/*****************************************************************/
1230
open_error_t
openapiAclRuleMatchMacCos2Get
(
openapiClientHandle_t
*client_handle,
1231
uint32_t aclId,
1232
uint32_t aclRule,
1233
uint32_t *cos);
1234
1235
/*****************************************************************/
1273
open_error_t
openapiAclRuleMatchMacEtherTypeAdd
(
openapiClientHandle_t
*client_handle,
1274
uint32_t aclId,
1275
uint32_t aclRule,
1276
uint32_t type);
1277
1278
/*****************************************************************/
1312
open_error_t
openapiAclRuleMatchMacEtherTypeGet
(
openapiClientHandle_t
*client_handle,
1313
uint32_t aclId,
1314
uint32_t aclRule,
1315
uint32_t *type);
1316
1317
/*****************************************************************/
1346
open_error_t
openapiAclRuleMatchMacDstMacAdd
(
openapiClientHandle_t
*client_handle,
1347
uint32_t aclId,
1348
uint32_t aclRule,
1349
open_buffdesc
*mac,
1350
open_buffdesc
*mask);
1351
1352
/*****************************************************************/
1372
open_error_t
openapiAclRuleMatchMacDstMacGet
(
openapiClientHandle_t
*client_handle,
1373
uint32_t aclId,
1374
uint32_t aclRule,
1375
open_buffdesc
*mac,
1376
open_buffdesc
*mask);
1377
1378
/*****************************************************************/
1405
open_error_t
openapiAclRuleMatchMacVlanAdd
(
openapiClientHandle_t
*client_handle,
1406
uint32_t aclId,
1407
uint32_t aclRule,
1408
OPEN_ACL_VLAN_OPERATOR_t
oper,
1409
uint32_t startId,
1410
uint32_t endId);
1411
1412
/*****************************************************************/
1433
open_error_t
openapiAclRuleMatchMacVlanGet
(
openapiClientHandle_t
*client_handle,
1434
uint32_t aclId,
1435
uint32_t aclRule,
1436
OPEN_ACL_VLAN_OPERATOR_t
*oper,
1437
uint32_t *startId,
1438
uint32_t *endId);
1439
1440
/*****************************************************************/
1467
open_error_t
openapiAclRuleMatchMacSecondaryVlanAdd
(
openapiClientHandle_t
*client_handle,
1468
uint32_t aclId,
1469
uint32_t aclRule,
1470
OPEN_ACL_VLAN_OPERATOR_t
oper,
1471
uint32_t startId,
1472
uint32_t endId);
1473
1474
/*****************************************************************/
1495
open_error_t
openapiAclRuleMatchMacSecondaryVlanGet
(
openapiClientHandle_t
*client_handle,
1496
uint32_t aclId,
1497
uint32_t aclRule,
1498
OPEN_ACL_VLAN_OPERATOR_t
*oper,
1499
uint32_t *startId,
1500
uint32_t *endId);
1501
1502
/*****************************************************************/
1529
open_error_t
openapiAclRuleMatchMacSrcMacAdd
(
openapiClientHandle_t
*client_handle,
1530
uint32_t aclId,
1531
uint32_t aclRule,
1532
open_buffdesc
*mac,
1533
open_buffdesc
*mask);
1534
1535
/*****************************************************************/
1555
open_error_t
openapiAclRuleMatchMacSrcMacGet
(
openapiClientHandle_t
*client_handle,
1556
uint32_t aclId,
1557
uint32_t aclRule,
1558
open_buffdesc
*mac,
1559
open_buffdesc
*mask);
1560
1561
/*****************************************************************/
1575
open_error_t
openapiAclCountGet
(
openapiClientHandle_t
*client_handle,
1576
uint32_t *aclCount);
1577
1578
/*****************************************************************/
1592
open_error_t
openapiAclMacCountGet
(
openapiClientHandle_t
*client_handle,
1593
uint32_t *aclCount);
1594
1595
/*****************************************************************/
1609
open_error_t
openapiAclMaxCountGet
(
openapiClientHandle_t
*client_handle,
1610
uint32_t *maxACL);
1611
1612
/*****************************************************************/
1626
open_error_t
openapiAclMaxMirrorIntfCountGet
(
openapiClientHandle_t
*client_handle,
1627
uint32_t *maxIntf);
1628
1629
/*****************************************************************/
1643
open_error_t
openapiAclMaxIntfAclCountGet
(
openapiClientHandle_t
*client_handle,
1644
uint32_t *maxACL);
1645
1646
/*****************************************************************/
1660
open_error_t
openapiAclMaxVlanAclCountGet
(
openapiClientHandle_t
*client_handle,
1661
uint32_t *maxACL);
1662
1663
/*****************************************************************/
1677
open_error_t
openapiAclMaxAclIntfCountGet
(
openapiClientHandle_t
*client_handle,
1678
uint32_t *maxIntf);
1679
1680
/*****************************************************************/
1694
open_error_t
openapiAclMaxAclVlanCountGet
(
openapiClientHandle_t
*client_handle,
1695
uint32_t *maxVlan);
1696
1697
/*****************************************************************/
1723
open_error_t
openapiAclRuleMatchIpDstMaskAdd
(
openapiClientHandle_t
*client_handle,
1724
uint32_t aclId,
1725
uint32_t aclRule,
1726
open_inet_addr_t
addr,
1727
open_inet_addr_t
mask);
1728
1729
/*****************************************************************/
1749
open_error_t
openapiAclRuleMatchIpDstMaskGet
(
openapiClientHandle_t
*client_handle,
1750
uint32_t aclId,
1751
uint32_t aclRule,
1752
open_inet_addr_t
*addr,
1753
open_inet_addr_t
*mask);
1754
1755
/*****************************************************************/
1781
open_error_t
openapiAclRuleMatchIpSrcMaskAdd
(
openapiClientHandle_t
*client_handle,
1782
uint32_t aclId,
1783
uint32_t aclRule,
1784
open_inet_addr_t
addr,
1785
open_inet_addr_t
mask);
1786
1787
/*****************************************************************/
1807
open_error_t
openapiAclRuleMatchIpSrcMaskGet
(
openapiClientHandle_t
*client_handle,
1808
uint32_t aclId,
1809
uint32_t aclRule,
1810
open_inet_addr_t
*addr,
1811
open_inet_addr_t
*mask);
1812
1813
/*****************************************************************/
1835
open_error_t
openapiAclRuleMatchIpv6DstPfxAdd
(
openapiClientHandle_t
*client_handle,
1836
uint32_t aclId,
1837
uint32_t aclRule,
1838
open_inet_addr_t
addr,
1839
uint32_t pfxLen);
1840
1841
/*****************************************************************/
1861
open_error_t
openapiAclRuleMatchIpv6DstPfxGet
(
openapiClientHandle_t
*client_handle,
1862
uint32_t aclId,
1863
uint32_t aclRule,
1864
open_inet_addr_t
*addr,
1865
uint32_t *pfxLen);
1866
1867
/*****************************************************************/
1889
open_error_t
openapiAclRuleMatchIpv6SrcPfxAdd
(
openapiClientHandle_t
*client_handle,
1890
uint32_t aclId,
1891
uint32_t aclRule,
1892
open_inet_addr_t
addr,
1893
uint32_t pfxLen);
1894
1895
/*****************************************************************/
1915
open_error_t
openapiAclRuleMatchIpv6SrcPfxGet
(
openapiClientHandle_t
*client_handle,
1916
uint32_t aclId,
1917
uint32_t aclRule,
1918
open_inet_addr_t
*addr,
1919
uint32_t *pfxLen);
1920
1921
/*****************************************************************/
1970
open_error_t
openapiAclRuleMatchL4DstPortAdd
(
openapiClientHandle_t
*client_handle,
1971
uint32_t aclId,
1972
uint32_t aclRule,
1973
OPEN_ACL_L4_PORT_OPERATOR_t
oper,
1974
uint32_t startPort,
1975
uint32_t endPort);
1976
1977
/*****************************************************************/
2019
open_error_t
openapiAclRuleMatchL4DstPortGet
(
openapiClientHandle_t
*client_handle,
2020
uint32_t aclId,
2021
uint32_t aclRule,
2022
OPEN_ACL_L4_PORT_OPERATOR_t
*oper,
2023
uint32_t *startPort,
2024
uint32_t *endPort);
2025
2026
/*****************************************************************/
2075
open_error_t
openapiAclRuleMatchL4SrcPortAdd
(
openapiClientHandle_t
*client_handle,
2076
uint32_t aclId,
2077
uint32_t aclRule,
2078
OPEN_ACL_L4_PORT_OPERATOR_t
oper,
2079
uint32_t startPort,
2080
uint32_t endPort);
2081
2082
/*****************************************************************/
2124
open_error_t
openapiAclRuleMatchL4SrcPortGet
(
openapiClientHandle_t
*client_handle,
2125
uint32_t aclId,
2126
uint32_t aclRule,
2127
OPEN_ACL_L4_PORT_OPERATOR_t
*oper,
2128
uint32_t *startPort,
2129
uint32_t *endPort);
2130
2131
/*****************************************************************/
2157
open_error_t
openapiAclRuleMatchMirrorAdd
(
openapiClientHandle_t
*client_handle,
2158
uint32_t aclId,
2159
uint32_t aclRule,
2160
uint32_t intf);
2161
2162
/*****************************************************************/
2181
open_error_t
openapiAclRuleMatchMirrorGet
(
openapiClientHandle_t
*client_handle,
2182
uint32_t aclId,
2183
uint32_t aclRule,
2184
uint32_t *intf);
2185
2186
/*************************************************************************/
2210
open_error_t
openapiAclRuleMatchPrecedenceAdd
(
openapiClientHandle_t
*client_handle,
2211
uint32_t aclId,
2212
uint32_t aclRule,
2213
uint32_t precedence);
2214
2215
/*****************************************************************/
2235
open_error_t
openapiAclRuleMatchPrecedenceGet
(
openapiClientHandle_t
*client_handle,
2236
uint32_t aclId,
2237
uint32_t aclRule,
2238
uint32_t *precedence);
2239
2240
/*****************************************************************/
2276
open_error_t
openapiAclRuleMatchProtocolAdd
(
openapiClientHandle_t
*client_handle,
2277
uint32_t aclId,
2278
uint32_t aclRule,
2279
uint32_t aclProtocol);
2280
2281
/*****************************************************************/
2313
open_error_t
openapiAclRuleMatchProtocolGet
(
openapiClientHandle_t
*client_handle,
2314
uint32_t aclId,
2315
uint32_t aclRule,
2316
uint32_t *aclProtocol);
2317
2318
/*****************************************************************/
2344
open_error_t
openapiAclRuleMatchRateLimitAdd
(
openapiClientHandle_t
*client_handle,
2345
uint32_t aclId,
2346
uint32_t aclRule,
2347
uint32_t dataRate,
2348
uint32_t burstSize);
2349
2350
/*****************************************************************/
2370
open_error_t
openapiAclRuleMatchRateLimitGet
(
openapiClientHandle_t
*client_handle,
2371
uint32_t aclId,
2372
uint32_t aclRule,
2373
uint32_t *dataRate,
2374
uint32_t *burstSize);
2375
2376
/*************************************************************************/
2389
open_error_t
openapiAclMaxRedirectIntfCountGet
(
openapiClientHandle_t
*client_handle,
2390
uint32_t *maxIntf);
2391
2392
/*****************************************************************/
2418
open_error_t
openapiAclRuleMatchRedirectAdd
(
openapiClientHandle_t
*client_handle,
2419
uint32_t aclId,
2420
uint32_t aclRule,
2421
uint32_t intf);
2422
2423
/*****************************************************************/
2442
open_error_t
openapiAclRuleMatchRedirectGet
(
openapiClientHandle_t
*client_handle,
2443
uint32_t aclId,
2444
uint32_t aclRule,
2445
uint32_t *intf);
2446
2447
/*****************************************************************/
2473
open_error_t
openapiAclRuleMatchRedirectAgentAdd
(
openapiClientHandle_t
*client_handle,
2474
uint32_t aclId,
2475
uint32_t aclRule,
2476
uint32_t agent);
2477
2478
/*****************************************************************/
2497
open_error_t
openapiAclRuleMatchRedirectAgentGet
(
openapiClientHandle_t
*client_handle,
2498
uint32_t aclId,
2499
uint32_t aclRule,
2500
uint32_t *agent);
2501
2502
/*****************************************************************/
2527
open_error_t
openapiAclRuleMatchMirrorAgentAdd
(
openapiClientHandle_t
*client_handle,
2528
uint32_t aclId,
2529
uint32_t aclRule,
2530
uint32_t agent);
2531
2532
/*****************************************************************/
2551
open_error_t
openapiAclRuleMatchMirrorAgentGet
(
openapiClientHandle_t
*client_handle,
2552
uint32_t aclId,
2553
uint32_t aclRule,
2554
uint32_t *agent);
2555
2556
/*************************************************************************/
2578
open_error_t
openapiAclRuleMatchRoutingAdd
(
openapiClientHandle_t
*client_handle,
2579
uint32_t aclId,
2580
uint32_t aclRule,
2581
bool
flag);
2582
2583
/*************************************************************************/
2603
open_error_t
openapiAclRuleMatchRoutingGet
(
openapiClientHandle_t
*client_handle,
2604
uint32_t aclId,
2605
uint32_t aclRule,
2606
bool
*flag);
2607
2608
/*************************************************************************/
2642
open_error_t
openapiAclRuleMatchTcpFlagsAdd
(
openapiClientHandle_t
*client_handle,
2643
uint32_t aclId,
2644
uint32_t aclRule,
2645
uint32_t tcpVal,
2646
uint32_t tcpMask);
2647
2648
/*************************************************************************/
2680
open_error_t
openapiAclRuleMatchTcpFlagsGet
(
openapiClientHandle_t
*client_handle,
2681
uint32_t aclId,
2682
uint32_t aclRule,
2683
uint32_t *tcpVal,
2684
uint32_t *tcpMask);
2685
2686
/*************************************************************************/
2709
open_error_t
openapiAclRuleMatchTimeRangeAdd
(
openapiClientHandle_t
*client_handle,
2710
uint32_t aclId,
2711
uint32_t aclRule,
2712
open_buffdesc
*name);
2713
2714
/*************************************************************************/
2735
open_error_t
openapiAclRuleMatchTimeRangeGet
(
openapiClientHandle_t
*client_handle,
2736
uint32_t aclId,
2737
uint32_t aclRule,
2738
open_buffdesc
*name);
2739
2740
/*************************************************************************/
2759
open_error_t
openapiAclRuleMatchTimeRangeStatusGet
(
openapiClientHandle_t
*client_handle,
2760
uint32_t aclId,
2761
uint32_t aclRule,
2762
OPEN_ACL_RULE_STATUS_t
*status);
2763
2764
/*****************************************************************/
2789
open_error_t
openapiAclRuleMatchTosAdd
(
openapiClientHandle_t
*client_handle,
2790
uint32_t aclId,
2791
uint32_t aclRule,
2792
open_buffdesc
*tos,
2793
open_buffdesc
*tosMask);
2794
2795
/*****************************************************************/
2815
open_error_t
openapiAclRuleMatchTosGet
(
openapiClientHandle_t
*client_handle,
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
/*****************************************************************/
2851
open_error_t
openapiAclIntfDirGetNext
(
openapiClientHandle_t
*client_handle,
2852
uint32_t intf,
2853
OPEN_ACL_DIRECTION_t
dir,
2854
uint32_t *nextIntf,
2855
OPEN_ACL_DIRECTION_t
*nextDir);
2856
2857
/*****************************************************************/
2896
open_error_t
openapiAclIntfDirAdd
(
openapiClientHandle_t
*client_handle,
2897
uint32_t intf,
2898
OPEN_ACL_DIRECTION_t
dir,
2899
uint32_t aclId,
2900
uint32_t seqNum);
2901
2902
/*****************************************************************/
2927
open_error_t
openapiAclIntfDirDelete
(
openapiClientHandle_t
*client_handle,
2928
uint32_t intf,
2929
OPEN_ACL_DIRECTION_t
dir,
2930
uint32_t aclId);
2931
2932
/*****************************************************************/
2952
open_error_t
openapiAclIsIntfInUse
(
openapiClientHandle_t
*client_handle,
2953
uint32_t intf,
2954
OPEN_ACL_DIRECTION_t
dir,
2955
OPEN_CONTROL_t
*inUse);
2956
2957
/*****************************************************************/
2977
open_error_t
openapiAclIsVlanInUse
(
openapiClientHandle_t
*client_handle,
2978
uint32_t vlan,
2979
OPEN_ACL_DIRECTION_t
dir,
2980
OPEN_CONTROL_t
*inUse);
2981
2982
/*****************************************************************/
3014
open_error_t
openapiAclVlanDirAdd
(
openapiClientHandle_t
*client_handle,
3015
uint32_t vlan,
3016
OPEN_ACL_DIRECTION_t
dir,
3017
uint32_t aclId,
3018
uint32_t seqNum);
3019
3020
/*****************************************************************/
3045
open_error_t
openapiAclVlanDirDelete
(
openapiClientHandle_t
*client_handle,
3046
uint32_t vlan,
3047
OPEN_ACL_DIRECTION_t
dir,
3048
uint32_t aclId);
3049
3050
/*****************************************************************/
3074
open_error_t
openapiAclIntfDirListGet
(
openapiClientHandle_t
*client_handle,
3075
uint32_t intf,
3076
OPEN_ACL_DIRECTION_t
dir,
3077
OPEN_ACL_INTF_DIR_LIST_t
*listInfo);
3078
3079
/*****************************************************************/
3103
open_error_t
openapiAclVlanDirListGet
(
openapiClientHandle_t
*client_handle,
3104
uint32_t vlan,
3105
OPEN_ACL_DIRECTION_t
dir,
3106
OPEN_ACL_VLAN_DIR_LIST_t
*listInfo);
3107
3108
/*****************************************************************/
3128
open_error_t
openapiAclAssignedIntfDirListGet
(
openapiClientHandle_t
*client_handle,
3129
uint32_t aclId,
3130
OPEN_ACL_DIRECTION_t
dir,
3131
OPEN_ACL_ASSIGNED_INTF_LIST_t
*intfList);
3132
3133
/*****************************************************************/
3153
open_error_t
openapiAclAssignedVlanDirListGet
(
openapiClientHandle_t
*client_handle,
3154
uint32_t aclId,
3155
OPEN_ACL_DIRECTION_t
dir,
3156
OPEN_ACL_ASSIGNED_VLAN_LIST_t
*vlanList);
3157
3158
/*************************************************************************/
3176
open_error_t
openapiAclRouteFilter
(
openapiClientHandle_t
*client_handle,
3177
uint32_t aclId,
3178
uint32_t routePrefix,
3179
uint32_t routeMask,
3180
OPEN_ACL_ACTION_t
*aclAction);
3181
3182
/*************************************************************************/
3200
open_error_t
openapiAclCountersAdminModeSet
(
openapiClientHandle_t
*client_handle,
3201
uint32_t adminMode);
3202
3203
/*****************************************************************/
3221
open_error_t
openapiAclRuleCountGet
(
openapiClientHandle_t
*client_handle,
3222
uint32_t asic,
3223
uint32_t aclId,
3224
uint32_t ruleNum,
3225
uint32_t ruleAction,
3226
uint64_t *hitPktCount);
3227
3228
/*****************************************************************/
3244
open_error_t
openapiAclRuleCountersClear
(
openapiClientHandle_t
*client_handle,
3245
uint32_t asic,
3246
uint32_t aclId,
3247
uint32_t ruleNum);
3248
3249
/*****************************************************************/
3265
open_error_t
openapiAclRuleGlobalApply
(
openapiClientHandle_t
*client_handle,
3266
uint32_t asic,
3267
uint32_t aclId,
3268
uint32_t seqNum);
3269
3270
/*****************************************************************/
3285
open_error_t
openapiAclGlobalDelete
(
openapiClientHandle_t
*client_handle,
3286
uint32_t asic,
3287
uint32_t aclId);
3288
3289
/*************************************************************************/
3305
open_error_t
openapiAclIsDaclGet
(
openapiClientHandle_t
*client_handle,
3306
OPEN_ACL_TYPE_t
aclType,
3307
uint32_t aclId,
3308
OPEN_BOOL_t
*isDacl);
3309
3310
#endif
/* OPENAPI_ACL_H_INCLUDED */
3311
© 2020 by Broadcom. All rights reserved.