AM263Px MCU+ SDK: cpsw_ale.h Source File

| AM263Px MCU+ SDK 26.00.00 |

cpsw_ale.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) Texas Instruments Incorporated 2020
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the
14 * distribution.
15 *
16 * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
65 #ifndef CPSW_ALE_H_
66 #define CPSW_ALE_H_
67
68 /* ========================================================================== */
69 /* Include Files */
70 /* ========================================================================== */
71
72 #include <enet_cfg.h>
73 #include <include/core/enet_mod_fdb.h>
74
75 #ifdef __cplusplus
76 extern "C" {
77 #endif
78
79 /* ========================================================================== */
80 /* Macros */
81 /* ========================================================================== */
82
84 #define CPSW_ALE_PUBLIC_IOCTL(x) (ENET_IOCTL_TYPE_PUBLIC | \
85 ENET_IOCTL_FDB_BASE | \
86 ENET_IOCTL_PER_CPSW | \
87 ENET_IOCTL_MIN(x))
88
90 #define CPSW_ALE_PRIVATE_IOCTL(x) (ENET_IOCTL_TYPE_PRIVATE | \
91 ENET_IOCTL_FDB_BASE | \
92 ENET_IOCTL_PER_CPSW | \
93 ENET_IOCTL_MIN(x))
94
96 #define CPSW_ALE_NUM_MAC_PORTS (CPSW_ALE_NUM_PORTS - 1U)
97
99 #define CPSW_ALE_MAX_WHITELIST_IP_NXT_HDR (4U)
100
102 #define CPSW_ALE_ALL_PORTS_MASK ((uint32_t)((1U << CPSW_ALE_NUM_PORTS) - 1U))
103
105 #define CPSW_ALE_ALL_MACPORTS_MASK ((uint32_t)(((1U << CPSW_ALE_NUM_PORTS) - 1U) - 1U))
106
108 #define CPSW_ALE_HOST_PORT_MASK (ENET_BIT(0))
109
111 #define CPSW_ALE_HOST_PORT_NUM (0U)
112
114 #define CPSW_ALE_MACPORT_BASE (1U)
115
117 #define CPSW_ALE_MACPORT_TO_ALEPORT(macPortNum) (ENET_MACPORT_NORM(macPortNum) + CPSW_ALE_MACPORT_BASE)
118
120 #define CPSW_ALE_ALEPORT_TO_MACPORT(alePortNum) (ENET_MACPORT_DENORM(alePortNum - CPSW_ALE_MACPORT_BASE))
121
123 #define CPSW_ALE_MACPORT_TO_PORTMASK(macPort) (ENET_BIT(CPSW_ALE_MACPORT_TO_ALEPORT(macPort)))
124
126 #define CPSW_ALE_MCAST_IGN_BITS_MAX (10U)
127
129 #define CPSW_ALE_PEAKBITRATE_DISABLE (0U)
130
132 #define CPSW_ALE_COMMITBITRATE_DISABLE (0U)
133
135 #define CPSW_ALE_THREADID_INVALID (~0U)
136
138 #define CPSW_ALE_MAX_TABLE_ENTRY_SAVED 50U
139
141 #define CPSW_ALE_MAX_POLICER_ENTRY_SAVED 64U
142
153 #define CPSW_ALE_CFG_MODULE_EN (ENET_BIT(0U))
154
156 #define CPSW_ALE_CFG_BYPASS_EN (ENET_BIT(1U))
157
159 #define CPSW_ALE_CFG_UNKNOWN_UCAST_FLOOD2HOST (ENET_BIT(2U))
160
162 #define CPSW_ALE_CFG_MULTIHOST (ENET_BIT(3U))
163
177 #define CPSW_ALE_POLICER_MATCH_PORT (ENET_BIT(0U))
178
180 #define CPSW_ALE_POLICER_MATCH_PRIORITY (ENET_BIT(1U))
181
183 #define CPSW_ALE_POLICER_MATCH_OUI (ENET_BIT(2U))
184
186 #define CPSW_ALE_POLICER_MATCH_MACDST (ENET_BIT(3U))
187
189 #define CPSW_ALE_POLICER_MATCH_MACSRC (ENET_BIT(4U))
190
192 #define CPSW_ALE_POLICER_MATCH_OVLAN (ENET_BIT(5U))
193
195 #define CPSW_ALE_POLICER_MATCH_IVLAN (ENET_BIT(6U))
196
198 #define CPSW_ALE_POLICER_MATCH_ETHERTYPE (ENET_BIT(7U))
199
201 #define CPSW_ALE_POLICER_MATCH_IPSRC (ENET_BIT(8U))
202
204 #define CPSW_ALE_POLICER_MATCH_IPDST (ENET_BIT(9U))
205
207 #define CPSW_ALE_POLICER_TABLE_PART_MAX (5U)
208
223 #define CPSW_ALE_POLICER_TABLEENTRY_DELETE_OUI (CPSW_ALE_POLICER_MATCH_PRIORITY)
224
226 #define CPSW_ALE_POLICER_TABLEENTRY_DELETE_MACSRC (CPSW_ALE_POLICER_MATCH_MACSRC)
227
229 #define CPSW_ALE_POLICER_TABLEENTRY_DELETE_MACDST (CPSW_ALE_POLICER_MATCH_MACDST)
230
232 #define CPSW_ALE_POLICER_TABLEENTRY_DELETE_IVLAN (CPSW_ALE_POLICER_MATCH_IVLAN)
233
235 #define CPSW_ALE_POLICER_TABLEENTRY_DELETE_OVLAN (CPSW_ALE_POLICER_MATCH_OVLAN)
236
238 #define CPSW_ALE_POLICER_TABLEENTRY_DELETE_ETHERTYPE (CPSW_ALE_POLICER_MATCH_ETHERTYPE)
239
241 #define CPSW_ALE_POLICER_TABLEENTRY_DELETE_IPSRC (CPSW_ALE_POLICER_MATCH_IPSRC)
242
244 #define CPSW_ALE_POLICER_TABLEENTRY_DELETE_IPDST (CPSW_ALE_POLICER_MATCH_IPDST)
245
247 #define CPSW_ALE_POLICER_TABLEENTRY_DELETE_ALL (CPSW_ALE_POLICER_TABLEENTRY_DELETE_OUI | \
248 CPSW_ALE_POLICER_TABLEENTRY_DELETE_MACSRC | \
249 CPSW_ALE_POLICER_TABLEENTRY_DELETE_MACDST | \
250 CPSW_ALE_POLICER_TABLEENTRY_DELETE_IVLAN | \
251 CPSW_ALE_POLICER_TABLEENTRY_DELETE_OVLAN | \
252 CPSW_ALE_POLICER_TABLEENTRY_DELETE_ETHERTYPE | \
253 CPSW_ALE_POLICER_TABLEENTRY_DELETE_IPSRC | \
254 CPSW_ALE_POLICER_TABLEENTRY_DELETE_IPDST)
255
258 /* ========================================================================== */
259 /* Structures and Enums */
260 /* ========================================================================== */
261
265 typedef enum CpswAle_Ioctl_e
266 {
278 CPSW_ALE_IOCTL_DUMP_TABLE = CPSW_ALE_PUBLIC_IOCTL(0U),
279
289 CPSW_ALE_IOCTL_ADD_UCAST = CPSW_ALE_PUBLIC_IOCTL(1U),
290
300 CPSW_ALE_IOCTL_ADD_MCAST = CPSW_ALE_PUBLIC_IOCTL(2U),
301
311 CPSW_ALE_IOCTL_ADD_VLAN = CPSW_ALE_PUBLIC_IOCTL(3U),
312
321 CPSW_ALE_IOCTL_ADD_OUI = CPSW_ALE_PUBLIC_IOCTL(4U),
322
332 CPSW_ALE_IOCTL_ADD_IPV4ADDR = CPSW_ALE_PUBLIC_IOCTL(5U),
333
343 CPSW_ALE_IOCTL_ADD_IPV6ADDR = CPSW_ALE_PUBLIC_IOCTL(6U),
344
354 CPSW_ALE_IOCTL_ADD_ETHERTYPE = CPSW_ALE_PUBLIC_IOCTL(7U),
355
364 CPSW_ALE_IOCTL_LOOKUP_UCAST = CPSW_ALE_PUBLIC_IOCTL(8U),
365
375 CPSW_ALE_IOCTL_LOOKUP_MCAST = CPSW_ALE_PUBLIC_IOCTL(9U),
376
386 CPSW_ALE_IOCTL_LOOKUP_VLAN = CPSW_ALE_PUBLIC_IOCTL(10U),
387
397 CPSW_ALE_IOCTL_REMOVE_ADDR = CPSW_ALE_PUBLIC_IOCTL(11U),
398
408 CPSW_ALE_IOCTL_REMOVE_VLAN = CPSW_ALE_PUBLIC_IOCTL(12U),
409
419 CPSW_ALE_IOCTL_REMOVE_OUI = CPSW_ALE_PUBLIC_IOCTL(13U),
420
430 CPSW_ALE_IOCTL_REMOVE_IPV4ADDR = CPSW_ALE_PUBLIC_IOCTL(14U),
431
441 CPSW_ALE_IOCTL_REMOVE_IPV6ADDR = CPSW_ALE_PUBLIC_IOCTL(15U),
442
452 CPSW_ALE_IOCTL_REMOVE_ETHERTYPE = CPSW_ALE_PUBLIC_IOCTL(16U),
453
465 CPSW_ALE_IOCTL_REMOVE_LEARNED_ENTRIES = CPSW_ALE_PUBLIC_IOCTL(17U),
466
476 CPSW_ALE_IOCTL_REMOVE_ALL_ENTRIES = CPSW_ALE_PUBLIC_IOCTL(18U),
477
487 CPSW_ALE_IOCTL_AGE_ALL_ENTRIES = CPSW_ALE_PUBLIC_IOCTL(19U),
488
498 CPSW_ALE_IOCTL_SET_RX_FILTER = CPSW_ALE_PUBLIC_IOCTL(20U),
499
509 CPSW_ALE_IOCTL_GET_RX_FILTER = CPSW_ALE_PUBLIC_IOCTL(21U),
510
519 CPSW_ALE_IOCTL_SET_PORT_STATE = CPSW_ALE_PUBLIC_IOCTL(22U),
520
530 CPSW_ALE_IOCTL_GET_PORT_STATE = CPSW_ALE_PUBLIC_IOCTL(23U),
531
541 CPSW_ALE_IOCTL_GET_PORT_MACADDR = CPSW_ALE_PUBLIC_IOCTL(24U),
542
552 CPSW_ALE_IOCTL_SET_DEFAULT_THREADCFG = CPSW_ALE_PUBLIC_IOCTL(25U),
553
563 CPSW_ALE_IOCTL_GET_DEFAULT_THREADCFG = CPSW_ALE_PUBLIC_IOCTL(26U),
564
574 CPSW_ALE_IOCTL_SET_PORT_MIRROR_CFG = CPSW_ALE_PUBLIC_IOCTL(27U),
575
586 CPSW_ALE_IOCTL_DISABLE_PORT_MIRROR = CPSW_ALE_PUBLIC_IOCTL(28U),
587
597 CPSW_ALE_IOCTL_SET_TRUNK_CFG = CPSW_ALE_PUBLIC_IOCTL(29U),
598
608 CPSW_ALE_IOCTL_SET_OAMLPBK_CFG = CPSW_ALE_PUBLIC_IOCTL(30U),
609
619 CPSW_ALE_IOCTL_SET_BCAST_MCAST_LIMIT = CPSW_ALE_PUBLIC_IOCTL(31U),
620
630 CPSW_ALE_IOCTL_GET_BCAST_MCAST_LIMIT = CPSW_ALE_PUBLIC_IOCTL(32U),
631
641 CPSW_ALE_IOCTL_DISABLE_BCAST_MCAST_LIMIT = CPSW_ALE_PUBLIC_IOCTL(33U),
642
652 CPSW_ALE_IOCTL_SET_POLICER = CPSW_ALE_PUBLIC_IOCTL(34U),
653
663 CPSW_ALE_IOCTL_GET_POLICER = CPSW_ALE_PUBLIC_IOCTL(35U),
664
674 CPSW_ALE_IOCTL_DEL_POLICER = CPSW_ALE_PUBLIC_IOCTL(36U),
675
687 CPSW_ALE_IOCTL_DUMP_POLICER_ENTRIES = CPSW_ALE_PUBLIC_IOCTL(37U),
688
698 CPSW_ALE_IOCTL_GET_POLICER_STATS = CPSW_ALE_PUBLIC_IOCTL(38U),
699
709 CPSW_ALE_IOCTL_SET_POLICER_THREADCFG = CPSW_ALE_PUBLIC_IOCTL(39U),
710
719 CPSW_ALE_IOCTL_SET_POLICER_GLOBAL_CFG = CPSW_ALE_PUBLIC_IOCTL(40U),
720
730 CPSW_ALE_IOCTL_GET_POLICER_GLOBAL_CFG = CPSW_ALE_PUBLIC_IOCTL(41U),
731
742 CPSW_ALE_IOCTL_DEL_ALL_POLICER_THREADID = CPSW_ALE_PUBLIC_IOCTL(42U),
743
756 CPSW_ALE_IOCTL_BLOCK_CLASSIFIER_HOSTPORT = CPSW_ALE_PUBLIC_IOCTL(43U),
757
767 CPSW_ALE_IOCTL_SET_INTERVLAN_CFG = CPSW_ALE_PUBLIC_IOCTL(44U),
768
778 CPSW_ALE_IOCTL_GET_INTERVLAN_CFG = CPSW_ALE_PUBLIC_IOCTL(45U),
779
791 CPSW_ALE_IOCTL_SET_POLICER_IN_PARTITION = CPSW_ALE_PUBLIC_IOCTL(46U),
792
793 } CpswAle_Ioctl;
794
795
796
800 typedef enum CpswAle_PortState_e
801 {
803 CPSW_ALE_PORTSTATE_DISABLED = 0U,
804
806 CPSW_ALE_PORTSTATE_BLOCKED,
807
810 CPSW_ALE_PORTSTATE_LEARN,
811
813 CPSW_ALE_PORTSTATE_FORWARD,
814 } CpswAle_PortState;
815
827 typedef enum CpswAle_FwdStateLevel_e
828 {
830 CPSW_ALE_FWDSTLVL_FWD = 0U,
831
833 CPSW_ALE_FWDSTLVL_BLK_FWD_LRN,
834
836 CPSW_ALE_FWDSTLVL_FWD_LRN,
837 } CpswAle_FwdStateLevel;
838
842 typedef enum CpswAle_RxFilter_e
843 {
845 CPSW_ALE_RXFILTER_NOTHING = 0U,
846
848 CPSW_ALE_RXFILTER_DIRECT,
849
851 CPSW_ALE_RXFILTER_BCAST,
852
854 CPSW_ALE_RXFILTER_MCAST,
855
857 CPSW_ALE_RXFILTER_ALLMCAST,
858
860 CPSW_ALE_RXFILTER_ALL,
861 } CpswAle_RxFilter;
862
866 typedef enum CpswAle_PolicerPartLevel_e
867 {
869 CPSW_ALE_POLICER_PARTITION_LEVEL_1 = 0U,
871 CPSW_ALE_POLICER_PARTITION_LEVEL_2,
873 CPSW_ALE_POLICER_PARTITION_LEVEL_3,
875 CPSW_ALE_POLICER_PARTITION_LEVEL_4,
877 CPSW_ALE_POLICER_PARTITION_DEFAULT
878 } CpswAle_PolicerPartLevel;
879
883 typedef struct CpswAle_MacAddrInfo_s
884 {
886 uint8_t addr[ENET_MAC_ADDR_LEN];
887
889 uint32_t vlanId;
890 } CpswAle_MacAddrInfo;
891
895 typedef struct CpswAle_UcastEntryInfo_s
896 {
899 uint32_t portNum;
900
903 bool blocked;
904
908 bool secure;
909
912 bool super;
913
915 bool ageable;
916
918 bool trunk;
919 } CpswAle_UcastEntryInfo;
920
924 typedef struct CpswAle_SetUcastEntryInArgs_s
925 {
927 CpswAle_MacAddrInfo addr;
928
930 CpswAle_UcastEntryInfo info;
931 } CpswAle_SetUcastEntryInArgs;
932
936 typedef struct CpswAle_GetUcastEntryOutArgs_s
937 {
939 CpswAle_UcastEntryInfo info;
940
943 bool touched;
944
946 uint32_t aleEntryIdx;
947 } CpswAle_GetUcastEntryOutArgs;
948
952 typedef struct CpswAle_McastEntryInfo_s
953 {
956 bool super;
957
959 CpswAle_FwdStateLevel fwdState;
960
962 uint32_t portMask;
963
966 uint32_t numIgnBits;
967 } CpswAle_McastEntryInfo;
968
972 typedef struct CpswAle_SetMcastEntryInArgs_s
973 {
975 CpswAle_MacAddrInfo addr;
976
978 CpswAle_McastEntryInfo info;
979 } CpswAle_SetMcastEntryInArgs;
980
984 typedef struct CpswAle_GetMcastEntryInArgs_s
985 {
987 CpswAle_MacAddrInfo addr;
988
990 uint32_t numIgnBits;
991 } CpswAle_GetMcastEntryInArgs;
992
996 typedef struct CpswAle_GetMcastEntryOutArgs_s
997 {
999 CpswAle_McastEntryInfo info;
1000
1002 uint32_t aleEntryIdx;
1003 } CpswAle_GetMcastEntryOutArgs;
1004
1008 typedef struct CpswAle_VlanIdInfo_s
1009 {
1011 uint32_t vlanId;
1012
1014 Enet_VlanTagType tagType;
1015 } CpswAle_VlanIdInfo;
1016
1020 typedef struct CpswAle_VlanEntryInfo_s
1021 {
1023 CpswAle_VlanIdInfo vlanIdInfo;
1024
1026 uint32_t vlanMemberList;
1027
1030 uint32_t unregMcastFloodMask;
1031
1034 uint32_t regMcastFloodMask;
1035
1038 uint32_t forceUntaggedEgressMask;
1039
1044 uint32_t noLearnMask;
1045
1048 bool vidIngressCheck;
1049
1052 bool limitIPNxtHdr;
1053
1056 bool disallowIPFrag;
1057 } CpswAle_VlanEntryInfo;
1058
1062 typedef struct CpswAle_GetVlanEntryOutArgs_s
1063 {
1065 uint32_t vlanMemberList;
1066
1068 uint32_t unregMcastFloodMask;
1069
1071 uint32_t regMcastFloodMask;
1072
1074 uint32_t forceUntaggedEgressMask;
1075
1077 uint32_t noLearnMask;
1078
1080 bool vidIngressCheck;
1081
1083 bool limitIPNxtHdr;
1084
1086 bool disallowIPFrag;
1087
1089 uint32_t aleEntryIdx;
1090 } CpswAle_GetVlanEntryOutArgs;
1091
1095 typedef struct CpswAle_OuiEntryInfo_s
1096 {
1098 uint8_t ouiAddr[ENET_OUI_ADDR_LEN];
1099 } CpswAle_OuiEntryInfo;
1100
1104 typedef struct CpswAle_IPv4EntryInfo_s
1105 {
1107 uint8_t ipv4Addr[ENET_IPv4_ADDR_LEN];
1108
1110 uint32_t numLSBIgnoreBits;
1111 } CpswAle_IPv4EntryInfo;
1112
1116 typedef struct CpswAle_IPv6EntryInfo_s
1117 {
1119 uint8_t ipv6Addr[ENET_IPv6_ADDR_LEN];
1120
1122 uint32_t numLSBIgnoreBits;
1123 } CpswAle_IPv6EntryInfo;
1124
1128 typedef struct CpswAle_SetPortStateInArgs_s
1129 {
1131 uint32_t portNum;
1132
1134 CpswAle_PortState portState;
1135 } CpswAle_SetPortStateInArgs;
1136
1140 typedef struct CpswAle_GetPortMacAddrInArgs_s
1141 {
1143 uint32_t portNum;
1144
1146 CpswAle_MacAddrInfo *addrs;
1147
1149 uint32_t addrCnt;
1150 } CpswAle_GetPortMacAddrInArgs;
1151
1155 typedef struct CpswAle_GetPortMacAddrOutArgs_s
1156 {
1159 CpswAle_MacAddrInfo *addrs;
1160
1163 uint32_t addrCnt;
1164
1166 uint32_t totalAddrCnt;
1167 } CpswAle_GetPortMacAddrOutArgs;
1168
1173 typedef struct CpswAle_DefaultThreadCfg_s
1174 {
1180 bool dfltThreadEn;
1181
1183 uint32_t threadId;
1184
1186 bool priorityOrEn;
1187
1189 bool macPortDfltThreadDis;
1190 } CpswAle_DfltThreadCfg;
1191
1195 typedef enum CpswAle_TableEntryType_s
1196 {
1198 CPSW_ALE_TABLE_ENTRY_TYPE_ADDR,
1199
1201 CPSW_ALE_TABLE_ENTRY_TYPE_VLAN,
1202
1204 CPSW_ALE_TABLE_ENTRY_TYPE_ETHERTYPE,
1205
1207 CPSW_ALE_TABLE_ENTRY_TYPE_OUI,
1208
1210 CPSW_ALE_TABLE_ENTRY_TYPE_IPV4,
1211
1213 CPSW_ALE_TABLE_ENTRY_TYPE_IPV6
1214 } CpswAle_TableEntryType;
1215
1220 typedef struct CpswAle_MacAddrClassifierInfo_s
1221 {
1223 CpswAle_MacAddrInfo addr;
1224
1226 uint32_t portNum;
1227 } CpswAle_MacAddrClassifierInfo;
1228
1232 typedef struct CpswAle_MirrorMatchParams_s
1233 {
1235 CpswAle_TableEntryType entryType;
1236
1239 CpswAle_MacAddrClassifierInfo dstMacAddrInfo;
1240
1243 CpswAle_VlanIdInfo vlanIdInfo;
1244
1247 CpswAle_IPv4EntryInfo ipv4Info;
1248
1251 CpswAle_IPv6EntryInfo ipv6Info;
1252
1255 CpswAle_OuiEntryInfo ouiInfo;
1256
1259 uint16_t etherType;
1260 } CpswAle_MirrorMatchParams;
1261
1265 typedef struct CpswAle_PortMirroringCfg_s
1266 {
1270 bool srcEn;
1271
1275 bool dstEnEn;
1276
1280 bool matchEn;
1281
1283 uint32_t dstPortNum;
1284
1286 uint32_t toPortNum;
1287
1291 CpswAle_MirrorMatchParams matchParams;
1292
1294 uint32_t srcPortNumMask;
1295 } CpswAle_PortMirroringCfg;
1296
1300 typedef struct CpswAle_TrunkCfg_s
1301 {
1303 uint32_t trunkId;
1304
1306 uint32_t numPorts;
1307
1309 uint32_t trunkPortIdx[CPSW_ALE_NUM_PORTS];
1310
1312 uint32_t trunkHashBase;
1313
1317 bool dstIPEn;
1318
1322 bool srcIPEn;
1323
1328 bool innerVlanEn;
1329
1333 bool enablePri;
1334
1338 bool srcEn;
1339
1343 bool dstEnEn;
1344 } CpswAle_TrunkCfg;
1345
1349 typedef struct CpswAle_PortBcastMcastRateLimitParams_s
1350 {
1353 uint32_t portNum;
1354
1357 bool bcastRateLimitForPortEn;
1358
1361 bool mcastRateLimitForPortEn;
1362
1364 uint32_t bcastLimitNumPktsPerSec;
1365
1367 uint32_t mcastLimitNumPktsPerSec;
1368 } CpswAle_PortBcastMcastRateLimitParams;
1369
1373 typedef struct CpswAle_SetBcastMcastRateLimitInArgs_s
1374 {
1376 bool rateLimitAtTxPort;
1377
1380 uint32_t numPorts;
1381
1383 CpswAle_PortBcastMcastRateLimitParams portPrms[CPSW_ALE_NUM_PORTS];
1384 } CpswAle_SetBcastMcastRateLimitInArgs;
1385
1389 typedef struct CpswAle_GetBcastMcastRateLimitOutArgs_s
1390 {
1392 bool rateLimitEn;
1393
1395 bool rateLimitAtTxPort;
1396
1399 uint32_t numPorts;
1400
1402 CpswAle_PortBcastMcastRateLimitParams portPrms[CPSW_ALE_NUM_PORTS];
1403 } CpswAle_GetBcastMcastRateLimitOutArgs;
1404
1408 typedef enum CpswAle_IpAddrClassifierType_e
1409 {
1411 CPSW_ALE_IPADDR_CLASSIFIER_IPV4 = 0x00U,
1412
1414 CPSW_ALE_IPADDR_CLASSIFIER_IPV6 = 0x01U,
1415 } CpswAle_IpAddrClassifierType;
1416
1420 typedef struct CpswAle_IpAddrClassifierInfo_s
1421 {
1423 CpswAle_IpAddrClassifierType ipAddrType;
1424
1426 CpswAle_IPv4EntryInfo ipv4Info;
1427
1429 CpswAle_IPv6EntryInfo ipv6Info;
1430 } CpswAle_IpAddrClassifierInfo;
1431
1435 typedef struct CpswAle_PolicerMatchParams_s
1436 {
1439 uint32_t policerMatchEnMask;
1440
1444 uint32_t portNum;
1445
1447 bool portIsTrunk;
1448
1452 uint32_t priority;
1453
1457 CpswAle_OuiEntryInfo ouiInfo;
1458
1462 CpswAle_MacAddrClassifierInfo srcMacAddrInfo;
1463
1467 CpswAle_MacAddrClassifierInfo dstMacAddrInfo;
1468
1472 uint32_t ivlanId;
1473
1477 uint32_t ovlanId;
1478
1482 uint16_t etherType;
1483
1487 CpswAle_IpAddrClassifierInfo srcIpInfo;
1488
1492 CpswAle_IpAddrClassifierInfo dstIpInfo;
1493 } CpswAle_PolicerMatchParams;
1494
1498 typedef struct CpswAle_SetPolicerEntryInArgs_s
1499 {
1501 CpswAle_PolicerMatchParams policerMatch;
1502
1504 bool threadIdEn;
1505
1507 uint32_t threadId;
1508
1510 uint32_t peakRateInBitsPerSec;
1511
1513 uint32_t commitRateInBitsPerSec;
1514 } CpswAle_SetPolicerEntryInArgs;
1515
1519 typedef struct CpswAle_SetPolicerEntryInPartitionInArgs_s
1520 {
1522 CpswAle_PolicerMatchParams policerMatch;
1523
1525 bool threadIdEn;
1526
1528 uint32_t threadId;
1529
1531 uint32_t peakRateInBitsPerSec;
1532
1534 uint32_t commitRateInBitsPerSec;
1535
1537 CpswAle_PolicerPartLevel policerPartLevel;
1538 } CpswAle_SetPolicerEntryInPartitionInArgs;
1539
1543 typedef struct CpswAle_SetPolicerEntryOutArgs_s
1544 {
1548 uint32_t ouiAleEntryIdx;
1549
1553 uint32_t srcMacAleEntryIdx;
1554
1558 uint32_t dstMacAleEntryIdx;
1559
1563 uint32_t ivlanAleEntryIdx;
1564
1568 uint32_t ovlanAleEntryIdx;
1569
1573 uint32_t etherTypeAleEntryIdx;
1574
1578 uint32_t srcIpAleEntryIdx;
1579
1583 uint32_t dstIpAleEntryIdx;
1584
1586 uint32_t policerEntryIdx;
1587 } CpswAle_SetPolicerEntryOutArgs;
1588
1595 typedef struct CpswAle_PolicerEntryOutArgs_s
1596 {
1599 uint32_t policerMatchEnMask;
1600
1604 uint32_t port;
1605
1609 bool portIsTrunk;
1610
1614 uint32_t priority;
1615
1619 uint32_t ouiAleEntryIdx;
1620
1624 uint32_t srcMacAleEntryIdx;
1625
1629 uint32_t dstMacAleEntryIdx;
1630
1634 uint32_t ivlanAleEntryIdx;
1635
1639 uint32_t ovlanAleEntryIdx;
1640
1644 uint32_t etherTypeAleEntryIdx;
1645
1649 uint32_t srcIpAleEntryIdx;
1650
1654 uint32_t dstIpAleEntryIdx;
1655
1657 bool threadIdEn;
1658
1661 uint32_t threadId;
1662
1664 uint32_t peakRateInBitsPerSec;
1665
1667 uint32_t commitRateInBitsPerSec;
1668
1670 uint32_t policerEntryIdx;
1671
1673 bool egressOpEn;
1674
1680 uint32_t egressOpcode;
1681
1684 bool ttlCheckEn;
1685
1688 uint32_t egressTrunkIdx;
1689
1692 uint32_t dstPortMask;
1693 } CpswAle_PolicerEntryOutArgs;
1694
1698 typedef struct CpswAle_DelPolicerEntryInArgs_s
1699 {
1701 CpswAle_PolicerMatchParams policerMatch;
1702
1706 uint32_t aleEntryMask;
1707 } CpswAle_DelPolicerEntryInArgs;
1708
1712 typedef struct CpswAle_GetPolicerStatsInArgs_s
1713 {
1715 CpswAle_PolicerMatchParams policerInfo;
1716
1718 bool clearStats;
1719 } CpswAle_GetPolicerStatsInArgs;
1720
1724 typedef struct CpswAle_GetPolicerStatsOutArgs_s
1725 {
1729 bool policerHit;
1730
1734 bool policerRedHit;
1735
1739 bool policerYellowHit;
1740 } CpswAle_GetPolicerStatsOutArgs;
1741
1747 typedef struct CpswAle_SetPolicerThreadCfgInArgs_s
1748 {
1750 CpswAle_PolicerMatchParams policerMatch;
1751
1753 bool threadIdEn;
1754
1756 uint32_t threadId;
1757 } CpswAle_SetPolicerThreadCfgInArgs;
1758
1765 typedef enum CpswAle_PolicerYellowThresh_e
1766 {
1768 CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_100,
1769
1771 CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_50,
1772
1774 CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_33,
1775
1777 CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_25,
1778
1780 CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_20,
1781
1783 CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_17,
1784
1786 CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_14,
1787
1789 CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_13,
1790 } CpswAle_PolicerYellowThresh;
1791
1798 typedef enum CpswAle_PolicerNoMatchMode_e
1799 {
1801 CPSW_ALE_POLICER_NOMATCH_MODE_GREEN,
1802
1804 CPSW_ALE_POLICER_NOMATCH_MODE_YELLOW,
1805
1807 CPSW_ALE_POLICER_NOMATCH_MODE_RED,
1808
1810 CPSW_ALE_POLICER_NOMATCH_MODE_UNREGULATED_TRAFFIC_POLICER,
1811 } CpswAle_PolicerNoMatchMode;
1812
1816 typedef struct CpswAle_UnregulatedTrafficPolicer_s
1817 {
1819 uint32_t peakRateInBitsPerSec;
1820
1822 uint32_t commitRateInBitsPerSec;
1823 } CpswAle_UnregulatedTrafficPolicer;
1824
1828 typedef struct CpswAle_PolicerGlobalCfg_s
1829 {
1832 bool policingEn;
1833
1836 bool yellowDropEn;
1837
1839 bool redDropEn;
1840
1842 CpswAle_PolicerYellowThresh yellowThresh;
1843
1845 CpswAle_PolicerNoMatchMode policerNoMatchMode;
1846
1850 CpswAle_UnregulatedTrafficPolicer noMatchPolicer;
1851 } CpswAle_PolicerGlobalCfg;
1852
1859 typedef struct CpswAle_SetInterVlanCfgInArgs_s
1860 {
1862 CpswAle_PolicerMatchParams policerMatch;
1863
1865 bool ttlCheckEn;
1866
1868 uint32_t dstPortMask;
1869
1872 uint32_t routeIdx;
1873
1879 uint32_t egressTrunkIdx;
1880 } CpswAle_SetInterVlanCfgInArgs;
1881
1885 typedef struct CpswAle_AgingCfg_s
1886 {
1888 bool autoAgingEn;
1889
1891 uint32_t agingPeriodInMs;
1892 } CpswAle_AgingCfg;
1893
1897 typedef struct CpswAle_InitVlanCfg_s
1898 {
1900 bool aleVlanAwareMode;
1901
1903 bool cpswVlanAwareMode;
1904
1906 bool autoLearnWithVlan;
1907
1909 bool unknownVlanNoLearn;
1910
1912 uint32_t unknownForceUntaggedEgressMask;
1913
1915 uint32_t unknownRegMcastFloodMask;
1916
1918 uint32_t unknownUnregMcastFloodMask;
1919
1921 uint32_t unknownVlanMemberListMask;
1922 } CpswAle_InitVlanCfg;
1923
1927 typedef struct CpswAle_MalformedPktSecurityCfg_s
1928 {
1930 bool srcMcastDropDis;
1931
1935 bool badLenPktDropEn;
1936 } CpswAle_MalformedPktSecurityCfg;
1937
1941 typedef struct CpswAle_IPPktSecurityCfg_s
1942 {
1944 bool dfltNoFragEn;
1945
1948 bool dfltNxtHdrWhitelistEn;
1949
1952 uint32_t ipNxtHdrWhitelistCnt;
1953
1955 uint8_t ipNxtHdrWhitelist[CPSW_ALE_MAX_WHITELIST_IP_NXT_HDR];
1956 } CpswAle_IPPktSecurityCfg;
1957
1961 typedef struct CpswAle_MacAuthCfg_s
1962 {
1964 bool authModeEn;
1965
1970 uint32_t macAuthDisMask;
1971 } CpswAle_MacAuthCfg;
1972
1976 typedef struct CpswAle_NetworkSecurityCfg_s
1977 {
1984 bool hostOuiNoMatchDeny;
1985
1989 bool vid0ModeEn;
1990
1992 CpswAle_MalformedPktSecurityCfg malformedPktCfg;
1993
1995 CpswAle_IPPktSecurityCfg ipPktCfg;
1996
1998 CpswAle_MacAuthCfg macAuthCfg;
1999 } CpswAle_NetworkSecurityCfg;
2000
2004 typedef struct CpswAle_PortLearningSecurityCfg_s
2005 {
2007 bool noLearn;
2008
2011 bool noSaUpdateEn;
2012 } CpswAle_PortLearningSecurityCfg;
2013
2017 typedef struct CpswAle_PortVlanSecurityCfg_s
2018 {
2020 bool vidIngressCheck;
2021
2023 bool dropUntagged;
2024
2027 bool dropDualVlan;
2028
2032 bool dropDoubleVlan;
2033 } CpswAle_PortVlanSecurityCfg;
2034
2038 typedef struct CpswAle_PortMacModeCfg_s
2039 {
2046 bool macOnlyCafEn;
2047
2057 bool macOnlyEn;
2058 } CpswAle_PortMacModeCfg;
2059
2063 typedef CpswAle_VlanEntryInfo CpswAle_PortVlanCfg;
2064
2068 typedef struct CpswAle_PortCfg_s
2069 {
2071 CpswAle_PortLearningSecurityCfg learningCfg;
2072
2074 CpswAle_PortVlanSecurityCfg vlanCfg;
2075
2077 CpswAle_PortMacModeCfg macModeCfg;
2078
2080 CpswAle_PortVlanCfg pvidCfg;
2081 } CpswAle_PortCfg;
2082
2089 typedef struct CpswAle_Cfg_s
2090 {
2092 uint32_t modeFlags;
2093
2095 CpswAle_PolicerGlobalCfg policerGlobalCfg;
2096
2098 CpswAle_AgingCfg agingCfg;
2099
2101 CpswAle_InitVlanCfg vlanCfg;
2102
2104 CpswAle_NetworkSecurityCfg nwSecCfg;
2105
2107 CpswAle_PortCfg portCfg[CPSW_ALE_NUM_PORTS];
2108
2114 uint32_t policerTablePartSize[CPSW_ALE_POLICER_TABLE_PART_MAX];
2115 } CpswAle_Cfg;
2116
2117 /* ========================================================================== */
2118 /* Global Variables Declarations */
2119 /* ========================================================================== */
2120
2121 /* None */
2122
2123 /* ========================================================================== */
2124 /* Function Declarations */
2125 /* ========================================================================== */
2126
2132 void CpswAle_initCfg(CpswAle_Cfg *aleCfg);
2133
2134 /* ========================================================================== */
2135 /* Deprecated Function Declarations */
2136 /* ========================================================================== */
2137
2138 /* None */
2139
2140 /* ========================================================================== */
2141 /* Static Function Definitions */
2142 /* ========================================================================== */
2143
2144 /* None */
2145
2146 #ifdef __cplusplus
2147 }
2148 #endif
2149
2150 #endif /* CPSW_ALE_H_ */
2151
CpswAle_McastEntryInfo::fwdState
CpswAle_FwdStateLevel fwdState
Definition: cpsw_ale.h:959
CpswAle_PolicerNoMatchMode
CpswAle_PolicerNoMatchMode
Policing Match Mode.
Definition: cpsw_ale.h:1799
CpswAle_NetworkSecurityCfg::macAuthCfg
CpswAle_MacAuthCfg macAuthCfg
Definition: cpsw_ale.h:1998
CpswAle_SetPolicerEntryInPartitionInArgs::policerPartLevel
CpswAle_PolicerPartLevel policerPartLevel
Definition: cpsw_ale.h:1537
CPSW_ALE_FWDSTLVL_FWD_LRN
@ CPSW_ALE_FWDSTLVL_FWD_LRN
Definition: cpsw_ale.h:836
CpswAle_IPPktSecurityCfg::dfltNoFragEn
bool dfltNoFragEn
Definition: cpsw_ale.h:1944
CPSW_ALE_IOCTL_BLOCK_CLASSIFIER_HOSTPORT
@ CPSW_ALE_IOCTL_BLOCK_CLASSIFIER_HOSTPORT
Blacklist classifier to host port.
Definition: cpsw_ale.h:756
CpswAle_SetInterVlanCfgInArgs::dstPortMask
uint32_t dstPortMask
Definition: cpsw_ale.h:1868
CPSW_ALE_IOCTL_DEL_POLICER
@ CPSW_ALE_IOCTL_DEL_POLICER
Delete policer/classifier entry.
Definition: cpsw_ale.h:674
CPSW_ALE_PORTSTATE_DISABLED
@ CPSW_ALE_PORTSTATE_DISABLED
Definition: cpsw_ale.h:803
CPSW_ALE_IOCTL_GET_POLICER
@ CPSW_ALE_IOCTL_GET_POLICER
Get policer/classifier entry info.
Definition: cpsw_ale.h:663
CpswAle_MirrorMatchParams::vlanIdInfo
CpswAle_VlanIdInfo vlanIdInfo
Definition: cpsw_ale.h:1243
CPSW_ALE_PUBLIC_IOCTL
#define CPSW_ALE_PUBLIC_IOCTL(x)
Helper macro to create IOCTL commands for ALE module.
Definition: cpsw_ale.h:84
CpswAle_PolicerEntryOutArgs::ttlCheckEn
bool ttlCheckEn
Definition: cpsw_ale.h:1684
CpswAle_SetInterVlanCfgInArgs
Output args for CPSW_ALE_IOCTL_SET_DEFAULT_THREADCFG command.
Definition: cpsw_ale.h:1860
CpswAle_SetPolicerEntryInArgs::policerMatch
CpswAle_PolicerMatchParams policerMatch
Definition: cpsw_ale.h:1501
CpswAle_GetMcastEntryInArgs
Input args for CPSW_ALE_IOCTL_LOOKUP_MCAST command.
Definition: cpsw_ale.h:985
CpswAle_SetUcastEntryInArgs::info
CpswAle_UcastEntryInfo info
Definition: cpsw_ale.h:930
CpswAle_NetworkSecurityCfg
High level structure with ALE network security configuration.
Definition: cpsw_ale.h:1977
CPSW_ALE_IPADDR_CLASSIFIER_IPV4
@ CPSW_ALE_IPADDR_CLASSIFIER_IPV4
Definition: cpsw_ale.h:1411
CpswAle_SetPolicerEntryInArgs::threadId
uint32_t threadId
Definition: cpsw_ale.h:1507
CpswAle_MacAuthCfg::macAuthDisMask
uint32_t macAuthDisMask
Definition: cpsw_ale.h:1970
CpswAle_GetVlanEntryOutArgs::unregMcastFloodMask
uint32_t unregMcastFloodMask
Definition: cpsw_ale.h:1068
CPSW_ALE_TABLE_ENTRY_TYPE_VLAN
@ CPSW_ALE_TABLE_ENTRY_TYPE_VLAN
Definition: cpsw_ale.h:1201
CpswAle_IpAddrClassifierInfo
ALE IP address classifier info.
Definition: cpsw_ale.h:1421
CpswAle_GetPolicerStatsOutArgs::policerYellowHit
bool policerYellowHit
Definition: cpsw_ale.h:1739
CpswAle_VlanEntryInfo::forceUntaggedEgressMask
uint32_t forceUntaggedEgressMask
Definition: cpsw_ale.h:1038
CPSW_ALE_IOCTL_SET_OAMLPBK_CFG
@ CPSW_ALE_IOCTL_SET_OAMLPBK_CFG
Enable OAM loopback for ports in the given port mask.
Definition: cpsw_ale.h:608
ENET_OUI_ADDR_LEN
#define ENET_OUI_ADDR_LEN
Organization Unique Id (OUI) address length in bytes/octets.
Definition: enet_types.h:156
CpswAle_SetPolicerEntryInArgs::threadIdEn
bool threadIdEn
Definition: cpsw_ale.h:1504
CpswAle_GetBcastMcastRateLimitOutArgs::numPorts
uint32_t numPorts
Definition: cpsw_ale.h:1399
CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_14
@ CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_14
Definition: cpsw_ale.h:1786
CpswAle_Cfg::nwSecCfg
CpswAle_NetworkSecurityCfg nwSecCfg
Definition: cpsw_ale.h:2104
CpswAle_SetUcastEntryInArgs::addr
CpswAle_MacAddrInfo addr
Definition: cpsw_ale.h:927
CpswAle_SetBcastMcastRateLimitInArgs::numPorts
uint32_t numPorts
Definition: cpsw_ale.h:1380
CpswAle_PolicerEntryOutArgs::policerMatchEnMask
uint32_t policerMatchEnMask
Definition: cpsw_ale.h:1599
CpswAle_PolicerEntryOutArgs::ivlanAleEntryIdx
uint32_t ivlanAleEntryIdx
Definition: cpsw_ale.h:1634
CpswAle_GetVlanEntryOutArgs::noLearnMask
uint32_t noLearnMask
Definition: cpsw_ale.h:1077
CpswAle_PolicerGlobalCfg::policingEn
bool policingEn
Definition: cpsw_ale.h:1832
CPSW_ALE_IOCTL_SET_INTERVLAN_CFG
@ CPSW_ALE_IOCTL_SET_INTERVLAN_CFG
Set InterVLAN routing configuration.
Definition: cpsw_ale.h:767
CpswAle_PortVlanCfg
CpswAle_VlanEntryInfo CpswAle_PortVlanCfg
Port default VLAN configuration.
Definition: cpsw_ale.h:2063
CPSW_ALE_PORTSTATE_LEARN
@ CPSW_ALE_PORTSTATE_LEARN
Definition: cpsw_ale.h:810
CpswAle_GetBcastMcastRateLimitOutArgs
Output args for CPSW_ALE_IOCTL_GET_BCAST_MCAST_LIMIT IOCTL command.
Definition: cpsw_ale.h:1390
CpswAle_McastEntryInfo::numIgnBits
uint32_t numIgnBits
Definition: cpsw_ale.h:966
CpswAle_SetPortStateInArgs::portState
CpswAle_PortState portState
Definition: cpsw_ale.h:1134
CpswAle_GetPortMacAddrInArgs
Input args for CPSW_ALE_IOCTL_GET_PORT_MACADDR command.
Definition: cpsw_ale.h:1141
CpswAle_GetVlanEntryOutArgs::vlanMemberList
uint32_t vlanMemberList
Definition: cpsw_ale.h:1065
CpswAle_PolicerEntryOutArgs::port
uint32_t port
Definition: cpsw_ale.h:1604
CpswAle_PolicerGlobalCfg::yellowDropEn
bool yellowDropEn
Definition: cpsw_ale.h:1836
CpswAle_SetPolicerEntryOutArgs::ovlanAleEntryIdx
uint32_t ovlanAleEntryIdx
Definition: cpsw_ale.h:1568
CpswAle_GetPolicerStatsInArgs
Input args for CPSW_ALE_IOCTL_GET_POLICER_STATS command.
Definition: cpsw_ale.h:1713
CPSW_ALE_POLICER_PARTITION_LEVEL_1
@ CPSW_ALE_POLICER_PARTITION_LEVEL_1
Definition: cpsw_ale.h:869
CPSW_ALE_IOCTL_SET_BCAST_MCAST_LIMIT
@ CPSW_ALE_IOCTL_SET_BCAST_MCAST_LIMIT
Set broadcast/multicast rate limit configuration.
Definition: cpsw_ale.h:619
CPSW_ALE_RXFILTER_ALL
@ CPSW_ALE_RXFILTER_ALL
Definition: cpsw_ale.h:860
CpswAle_SetUcastEntryInArgs
Input args for CPSW_ALE_IOCTL_ADD_UCAST command.
Definition: cpsw_ale.h:925
CPSW_ALE_TABLE_ENTRY_TYPE_IPV6
@ CPSW_ALE_TABLE_ENTRY_TYPE_IPV6
Definition: cpsw_ale.h:1213
CpswAle_NetworkSecurityCfg::malformedPktCfg
CpswAle_MalformedPktSecurityCfg malformedPktCfg
Definition: cpsw_ale.h:1992
CpswAle_PolicerEntryOutArgs::ouiAleEntryIdx
uint32_t ouiAleEntryIdx
Definition: cpsw_ale.h:1619
CpswAle_MalformedPktSecurityCfg::srcMcastDropDis
bool srcMcastDropDis
Definition: cpsw_ale.h:1930
CpswAle_InitVlanCfg::aleVlanAwareMode
bool aleVlanAwareMode
Definition: cpsw_ale.h:1900
Enet_VlanTagType
Enet_VlanTagType
Double tagging VLAN type.
Definition: enet_types.h:379
CPSW_ALE_IOCTL_GET_DEFAULT_THREADCFG
@ CPSW_ALE_IOCTL_GET_DEFAULT_THREADCFG
Get default thread configuration.
Definition: cpsw_ale.h:563
CpswAle_VlanEntryInfo::noLearnMask
uint32_t noLearnMask
Definition: cpsw_ale.h:1044
CpswAle_PolicerEntryOutArgs::peakRateInBitsPerSec
uint32_t peakRateInBitsPerSec
Definition: cpsw_ale.h:1664
CpswAle_TrunkCfg::trunkId
uint32_t trunkId
Definition: cpsw_ale.h:1303
CpswAle_TrunkCfg::dstEnEn
bool dstEnEn
Definition: cpsw_ale.h:1343
CPSW_ALE_PORTSTATE_BLOCKED
@ CPSW_ALE_PORTSTATE_BLOCKED
Definition: cpsw_ale.h:806
CpswAle_OuiEntryInfo
OUI entry info.
Definition: cpsw_ale.h:1096
CpswAle_PortCfg::learningCfg
CpswAle_PortLearningSecurityCfg learningCfg
Definition: cpsw_ale.h:2071
CpswAle_SetPolicerEntryOutArgs::ouiAleEntryIdx
uint32_t ouiAleEntryIdx
Definition: cpsw_ale.h:1548
CpswAle_PortCfg::macModeCfg
CpswAle_PortMacModeCfg macModeCfg
Definition: cpsw_ale.h:2077
CpswAle_GetPolicerStatsInArgs::policerInfo
CpswAle_PolicerMatchParams policerInfo
Definition: cpsw_ale.h:1715
CPSW_ALE_RXFILTER_DIRECT
@ CPSW_ALE_RXFILTER_DIRECT
Definition: cpsw_ale.h:848
CpswAle_IPv6EntryInfo::numLSBIgnoreBits
uint32_t numLSBIgnoreBits
Definition: cpsw_ale.h:1122
CpswAle_GetBcastMcastRateLimitOutArgs::rateLimitAtTxPort
bool rateLimitAtTxPort
Definition: cpsw_ale.h:1395
CpswAle_GetUcastEntryOutArgs::touched
bool touched
Definition: cpsw_ale.h:943
CpswAle_GetPortMacAddrInArgs::addrCnt
uint32_t addrCnt
Definition: cpsw_ale.h:1149
CpswAle_InitVlanCfg::unknownRegMcastFloodMask
uint32_t unknownRegMcastFloodMask
Definition: cpsw_ale.h:1915
CpswAle_InitVlanCfg::unknownVlanNoLearn
bool unknownVlanNoLearn
Definition: cpsw_ale.h:1909
CPSW_ALE_POLICER_NOMATCH_MODE_YELLOW
@ CPSW_ALE_POLICER_NOMATCH_MODE_YELLOW
Definition: cpsw_ale.h:1804
CpswAle_Ioctl
CpswAle_Ioctl
ALE IOCTL commands.
Definition: cpsw_ale.h:266
CpswAle_Cfg
ALE configuration.
Definition: cpsw_ale.h:2090
CPSW_ALE_POLICER_NOMATCH_MODE_GREEN
@ CPSW_ALE_POLICER_NOMATCH_MODE_GREEN
Definition: cpsw_ale.h:1801
CpswAle_SetPolicerEntryInPartitionInArgs::threadIdEn
bool threadIdEn
Definition: cpsw_ale.h:1525
CPSW_ALE_TABLE_ENTRY_TYPE_IPV4
@ CPSW_ALE_TABLE_ENTRY_TYPE_IPV4
Definition: cpsw_ale.h:1210
CpswAle_SetPolicerEntryOutArgs
Input args for CPSW_ALE_IOCTL_SET_POLICER command.
Definition: cpsw_ale.h:1544
CpswAle_IpAddrClassifierInfo::ipv6Info
CpswAle_IPv6EntryInfo ipv6Info
Definition: cpsw_ale.h:1429
CpswAle_PolicerMatchParams::srcMacAddrInfo
CpswAle_MacAddrClassifierInfo srcMacAddrInfo
Definition: cpsw_ale.h:1462
CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_13
@ CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_13
Definition: cpsw_ale.h:1789
CPSW_ALE_IOCTL_ADD_OUI
@ CPSW_ALE_IOCTL_ADD_OUI
Add OUI address entry. IOCTL params:
Definition: cpsw_ale.h:321
CpswAle_PolicerMatchParams::portIsTrunk
bool portIsTrunk
Definition: cpsw_ale.h:1447
CpswAle_SetPolicerEntryInPartitionInArgs
Input args for CPSW_ALE_IOCTL_SET_POLICER_IN_PARTITION command.
Definition: cpsw_ale.h:1520
CPSW_ALE_FWDSTLVL_FWD
@ CPSW_ALE_FWDSTLVL_FWD
Definition: cpsw_ale.h:830
CpswAle_GetPortMacAddrInArgs::portNum
uint32_t portNum
Definition: cpsw_ale.h:1143
CpswAle_PortVlanSecurityCfg::dropUntagged
bool dropUntagged
Definition: cpsw_ale.h:2023
CpswAle_VlanEntryInfo::disallowIPFrag
bool disallowIPFrag
Definition: cpsw_ale.h:1056
CpswAle_PortBcastMcastRateLimitParams::bcastRateLimitForPortEn
bool bcastRateLimitForPortEn
Definition: cpsw_ale.h:1357
CpswAle_PolicerMatchParams::etherType
uint16_t etherType
Definition: cpsw_ale.h:1482
CPSW_ALE_IOCTL_REMOVE_LEARNED_ENTRIES
@ CPSW_ALE_IOCTL_REMOVE_LEARNED_ENTRIES
Delete all learned entries for a given port.
Definition: cpsw_ale.h:465
CpswAle_SetPolicerThreadCfgInArgs::policerMatch
CpswAle_PolicerMatchParams policerMatch
Definition: cpsw_ale.h:1750
CpswAle_InitVlanCfg::unknownForceUntaggedEgressMask
uint32_t unknownForceUntaggedEgressMask
Definition: cpsw_ale.h:1912
CpswAle_GetPortMacAddrOutArgs::addrs
CpswAle_MacAddrInfo * addrs
Definition: cpsw_ale.h:1159
CpswAle_SetPolicerEntryInArgs::peakRateInBitsPerSec
uint32_t peakRateInBitsPerSec
Definition: cpsw_ale.h:1510
CpswAle_PolicerEntryOutArgs::srcIpAleEntryIdx
uint32_t srcIpAleEntryIdx
Definition: cpsw_ale.h:1649
CpswAle_TrunkCfg
Input args for CPSW_ALE_IOCTL_SET_TRUNK_CFG command.
Definition: cpsw_ale.h:1301
CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_50
@ CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_50
Definition: cpsw_ale.h:1771
CpswAle_MacAuthCfg
MAC authentication configuration.
Definition: cpsw_ale.h:1962
CpswAle_PolicerEntryOutArgs::ovlanAleEntryIdx
uint32_t ovlanAleEntryIdx
Definition: cpsw_ale.h:1639
CpswAle_PortBcastMcastRateLimitParams::portNum
uint32_t portNum
Definition: cpsw_ale.h:1353
CpswAle_SetBcastMcastRateLimitInArgs
Input args for CPSW_ALE_IOCTL_SET_BCAST_MCAST_LIMIT command.
Definition: cpsw_ale.h:1374
CpswAle_FwdStateLevel
CpswAle_FwdStateLevel
Forward state level.
Definition: cpsw_ale.h:828
CPSW_ALE_IOCTL_LOOKUP_VLAN
@ CPSW_ALE_IOCTL_LOOKUP_VLAN
Return entry info for given VLAN id.
Definition: cpsw_ale.h:386
CpswAle_PortMirroringCfg::dstPortNum
uint32_t dstPortNum
Definition: cpsw_ale.h:1283
CPSW_ALE_IOCTL_SET_POLICER
@ CPSW_ALE_IOCTL_SET_POLICER
Set policer/classifier entry.
Definition: cpsw_ale.h:652
CpswAle_SetPolicerEntryInPartitionInArgs::threadId
uint32_t threadId
Definition: cpsw_ale.h:1528
CpswAle_AgingCfg
ALE aging time configuration.
Definition: cpsw_ale.h:1886
CPSW_ALE_IOCTL_REMOVE_VLAN
@ CPSW_ALE_IOCTL_REMOVE_VLAN
Delete entry info for given VLAN id.
Definition: cpsw_ale.h:408
CPSW_ALE_IOCTL_DISABLE_PORT_MIRROR
@ CPSW_ALE_IOCTL_DISABLE_PORT_MIRROR
Disable port mirror (match mirror, destination port mirror and source port mirror).
Definition: cpsw_ale.h:586
CpswAle_VlanEntryInfo::unregMcastFloodMask
uint32_t unregMcastFloodMask
Definition: cpsw_ale.h:1030
CpswAle_DelPolicerEntryInArgs
Input args for CPSW_ALE_IOCTL_DEL_POLICER IOCTL command.
Definition: cpsw_ale.h:1699
CpswAle_SetMcastEntryInArgs::addr
CpswAle_MacAddrInfo addr
Definition: cpsw_ale.h:975
CpswAle_PolicerEntryOutArgs::portIsTrunk
bool portIsTrunk
Definition: cpsw_ale.h:1609
CpswAle_PortBcastMcastRateLimitParams::mcastRateLimitForPortEn
bool mcastRateLimitForPortEn
Definition: cpsw_ale.h:1361
CPSW_ALE_IOCTL_GET_PORT_MACADDR
@ CPSW_ALE_IOCTL_GET_PORT_MACADDR
Get MAC addresses reachable on given port.
Definition: cpsw_ale.h:541
CpswAle_PolicerGlobalCfg::policerNoMatchMode
CpswAle_PolicerNoMatchMode policerNoMatchMode
Definition: cpsw_ale.h:1845
CPSW_ALE_IOCTL_REMOVE_ADDR
@ CPSW_ALE_IOCTL_REMOVE_ADDR
Delete entry info for given unicast/multicast address.
Definition: cpsw_ale.h:397
CpswAle_VlanEntryInfo::vlanMemberList
uint32_t vlanMemberList
Definition: cpsw_ale.h:1026
CPSW_ALE_IOCTL_GET_PORT_STATE
@ CPSW_ALE_IOCTL_GET_PORT_STATE
Get port state.
Definition: cpsw_ale.h:530
CpswAle_PortBcastMcastRateLimitParams::bcastLimitNumPktsPerSec
uint32_t bcastLimitNumPktsPerSec
Definition: cpsw_ale.h:1364
CpswAle_TableEntryType
CpswAle_TableEntryType
Defines ALE table entry type.
Definition: cpsw_ale.h:1196
CpswAle_RxFilter
CpswAle_RxFilter
Packet filtering type (cumulative).
Definition: cpsw_ale.h:843
CpswAle_UcastEntryInfo::secure
bool secure
Definition: cpsw_ale.h:908
CpswAle_TrunkCfg::srcIPEn
bool srcIPEn
Definition: cpsw_ale.h:1322
CpswAle_SetMcastEntryInArgs
Input args for CPSW_ALE_IOCTL_ADD_MCAST command.
Definition: cpsw_ale.h:973
CpswAle_MalformedPktSecurityCfg::badLenPktDropEn
bool badLenPktDropEn
Definition: cpsw_ale.h:1935
CpswAle_PortMacModeCfg
Port MAC mode configuration.
Definition: cpsw_ale.h:2039
CpswAle_PortState
CpswAle_PortState
ALE port state.
Definition: cpsw_ale.h:801
CPSW_ALE_IOCTL_SET_RX_FILTER
@ CPSW_ALE_IOCTL_SET_RX_FILTER
Set host port RX filter.
Definition: cpsw_ale.h:498
CpswAle_SetPolicerEntryInArgs
Input args for CPSW_ALE_IOCTL_SET_POLICER command.
Definition: cpsw_ale.h:1499
CpswAle_PortLearningSecurityCfg::noSaUpdateEn
bool noSaUpdateEn
Definition: cpsw_ale.h:2011
CpswAle_InitVlanCfg::autoLearnWithVlan
bool autoLearnWithVlan
Definition: cpsw_ale.h:1906
CpswAle_McastEntryInfo
Multicast entry type info apart from MAC address.
Definition: cpsw_ale.h:953
CpswAle_IPPktSecurityCfg::dfltNxtHdrWhitelistEn
bool dfltNxtHdrWhitelistEn
Definition: cpsw_ale.h:1948
CpswAle_UcastEntryInfo::trunk
bool trunk
Definition: cpsw_ale.h:918
CpswAle_PolicerMatchParams::ivlanId
uint32_t ivlanId
Definition: cpsw_ale.h:1472
CPSW_ALE_TABLE_ENTRY_TYPE_OUI
@ CPSW_ALE_TABLE_ENTRY_TYPE_OUI
Definition: cpsw_ale.h:1207
CPSW_ALE_RXFILTER_BCAST
@ CPSW_ALE_RXFILTER_BCAST
Definition: cpsw_ale.h:851
CpswAle_DfltThreadCfg
Input args for CPSW_ALE_IOCTL_SET_DEFAULT_THREADCFG command and out args for CPSW_ALE_IOCTL_GET_DEFAU...
Definition: cpsw_ale.h:1174
CpswAle_Cfg::modeFlags
uint32_t modeFlags
Definition: cpsw_ale.h:2092
CpswAle_SetPolicerEntryOutArgs::dstIpAleEntryIdx
uint32_t dstIpAleEntryIdx
Definition: cpsw_ale.h:1583
CpswAle_MirrorMatchParams::ipv4Info
CpswAle_IPv4EntryInfo ipv4Info
Definition: cpsw_ale.h:1247
CpswAle_PolicerEntryOutArgs::dstPortMask
uint32_t dstPortMask
Definition: cpsw_ale.h:1692
CpswAle_SetMcastEntryInArgs::info
CpswAle_McastEntryInfo info
Definition: cpsw_ale.h:978
CpswAle_DfltThreadCfg::macPortDfltThreadDis
bool macPortDfltThreadDis
Definition: cpsw_ale.h:1189
CpswAle_PortMirroringCfg::srcEn
bool srcEn
Definition: cpsw_ale.h:1270
CpswAle_VlanIdInfo::vlanId
uint32_t vlanId
Definition: cpsw_ale.h:1011
CpswAle_IpAddrClassifierType
CpswAle_IpAddrClassifierType
IP address classifier type.
Definition: cpsw_ale.h:1409
CpswAle_MacAddrInfo::vlanId
uint32_t vlanId
Definition: cpsw_ale.h:889
CPSW_ALE_POLICER_PARTITION_LEVEL_4
@ CPSW_ALE_POLICER_PARTITION_LEVEL_4
Definition: cpsw_ale.h:875
CpswAle_DelPolicerEntryInArgs::policerMatch
CpswAle_PolicerMatchParams policerMatch
Definition: cpsw_ale.h:1701
CpswAle_PolicerMatchParams::priority
uint32_t priority
Definition: cpsw_ale.h:1452
CPSW_ALE_IOCTL_ADD_UCAST
@ CPSW_ALE_IOCTL_ADD_UCAST
Add unicast address entry.
Definition: cpsw_ale.h:289
CpswAle_IPPktSecurityCfg::ipNxtHdrWhitelistCnt
uint32_t ipNxtHdrWhitelistCnt
Definition: cpsw_ale.h:1952
CpswAle_PortVlanSecurityCfg::dropDualVlan
bool dropDualVlan
Definition: cpsw_ale.h:2027
CpswAle_GetPortMacAddrInArgs::addrs
CpswAle_MacAddrInfo * addrs
Definition: cpsw_ale.h:1146
CpswAle_MirrorMatchParams::dstMacAddrInfo
CpswAle_MacAddrClassifierInfo dstMacAddrInfo
Definition: cpsw_ale.h:1239
CpswAle_PortLearningSecurityCfg::noLearn
bool noLearn
Definition: cpsw_ale.h:2007
CpswAle_UnregulatedTrafficPolicer::peakRateInBitsPerSec
uint32_t peakRateInBitsPerSec
Definition: cpsw_ale.h:1819
CpswAle_IPv4EntryInfo::numLSBIgnoreBits
uint32_t numLSBIgnoreBits
Definition: cpsw_ale.h:1110
CPSW_ALE_MAX_WHITELIST_IP_NXT_HDR
#define CPSW_ALE_MAX_WHITELIST_IP_NXT_HDR
Maximum IP next header whitelist.
Definition: cpsw_ale.h:99
CpswAle_MirrorMatchParams::entryType
CpswAle_TableEntryType entryType
Definition: cpsw_ale.h:1235
CpswAle_VlanEntryInfo::regMcastFloodMask
uint32_t regMcastFloodMask
Definition: cpsw_ale.h:1034
CpswAle_GetVlanEntryOutArgs::vidIngressCheck
bool vidIngressCheck
Definition: cpsw_ale.h:1080
CPSW_ALE_FWDSTLVL_BLK_FWD_LRN
@ CPSW_ALE_FWDSTLVL_BLK_FWD_LRN
Definition: cpsw_ale.h:833
CpswAle_PolicerEntryOutArgs::egressTrunkIdx
uint32_t egressTrunkIdx
Definition: cpsw_ale.h:1688
CpswAle_GetVlanEntryOutArgs
Output args for CPSW_ALE_IOCTL_LOOKUP_MCAST command.
Definition: cpsw_ale.h:1063
CpswAle_Cfg::agingCfg
CpswAle_AgingCfg agingCfg
Definition: cpsw_ale.h:2098
CpswAle_GetMcastEntryInArgs::addr
CpswAle_MacAddrInfo addr
Definition: cpsw_ale.h:987
CpswAle_MacAddrClassifierInfo::portNum
uint32_t portNum
Definition: cpsw_ale.h:1226
CpswAle_SetPortStateInArgs::portNum
uint32_t portNum
Definition: cpsw_ale.h:1131
CpswAle_AgingCfg::autoAgingEn
bool autoAgingEn
Definition: cpsw_ale.h:1888
CpswAle_PolicerMatchParams
ALE classifier/policer match parameters.
Definition: cpsw_ale.h:1436
CPSW_ALE_TABLE_ENTRY_TYPE_ADDR
@ CPSW_ALE_TABLE_ENTRY_TYPE_ADDR
Definition: cpsw_ale.h:1198
CpswAle_PolicerGlobalCfg
Policer global configuration parameters.
Definition: cpsw_ale.h:1829
CpswAle_SetPolicerEntryInPartitionInArgs::commitRateInBitsPerSec
uint32_t commitRateInBitsPerSec
Definition: cpsw_ale.h:1534
CpswAle_PolicerEntryOutArgs::priority
uint32_t priority
Definition: cpsw_ale.h:1614
CPSW_ALE_IOCTL_SET_POLICER_THREADCFG
@ CPSW_ALE_IOCTL_SET_POLICER_THREADCFG
Set thread id for given classifier/policer.
Definition: cpsw_ale.h:709
CpswAle_PolicerGlobalCfg::redDropEn
bool redDropEn
Definition: cpsw_ale.h:1839
CPSW_ALE_IOCTL_SET_POLICER_IN_PARTITION
@ CPSW_ALE_IOCTL_SET_POLICER_IN_PARTITION
Sets policer/classifier entry in a specified policer partition. See CpswAle_Cfg::policerTablePartSize...
Definition: cpsw_ale.h:791
CpswAle_MacAddrClassifierInfo::addr
CpswAle_MacAddrInfo addr
Definition: cpsw_ale.h:1223
CpswAle_PolicerEntryOutArgs::threadIdEn
bool threadIdEn
Definition: cpsw_ale.h:1657
CPSW_ALE_RXFILTER_MCAST
@ CPSW_ALE_RXFILTER_MCAST
Definition: cpsw_ale.h:854
CpswAle_PortLearningSecurityCfg
Port specific auto learning security configuration.
Definition: cpsw_ale.h:2005
CpswAle_GetPolicerStatsOutArgs::policerHit
bool policerHit
Definition: cpsw_ale.h:1729
CPSW_ALE_IOCTL_GET_POLICER_GLOBAL_CFG
@ CPSW_ALE_IOCTL_GET_POLICER_GLOBAL_CFG
Configure policer global settings.
Definition: cpsw_ale.h:730
CpswAle_PortMacModeCfg::macOnlyCafEn
bool macOnlyCafEn
Definition: cpsw_ale.h:2046
enet_mod_fdb.h
This file contains the type definitions and helper macros for the Enet Forwarding Database (FDB) modu...
CPSW_ALE_NUM_PORTS
#define CPSW_ALE_NUM_PORTS
Number of switch ports in the subsystem. Number of Mac ports + 1 host port
Definition: enet_soc_cfg.h:140
CpswAle_PortVlanSecurityCfg::vidIngressCheck
bool vidIngressCheck
Definition: cpsw_ale.h:2020
CpswAle_PolicerEntryOutArgs::egressOpEn
bool egressOpEn
Definition: cpsw_ale.h:1673
CpswAle_IpAddrClassifierInfo::ipv4Info
CpswAle_IPv4EntryInfo ipv4Info
Definition: cpsw_ale.h:1426
CpswAle_InitVlanCfg
Init time VLAN configuration.
Definition: cpsw_ale.h:1898
CpswAle_PolicerEntryOutArgs::policerEntryIdx
uint32_t policerEntryIdx
Definition: cpsw_ale.h:1670
CPSW_ALE_IOCTL_GET_INTERVLAN_CFG
@ CPSW_ALE_IOCTL_GET_INTERVLAN_CFG
Get InterVLAN routing configuration.
Definition: cpsw_ale.h:778
CPSW_ALE_POLICER_TABLE_PART_MAX
#define CPSW_ALE_POLICER_TABLE_PART_MAX
Definition: cpsw_ale.h:207
CpswAle_PolicerEntryOutArgs::threadId
uint32_t threadId
Definition: cpsw_ale.h:1661
CpswAle_PolicerEntryOutArgs::dstMacAleEntryIdx
uint32_t dstMacAleEntryIdx
Definition: cpsw_ale.h:1629
CpswAle_NetworkSecurityCfg::vid0ModeEn
bool vid0ModeEn
Definition: cpsw_ale.h:1989
CpswAle_PortCfg::pvidCfg
CpswAle_PortVlanCfg pvidCfg
Definition: cpsw_ale.h:2080
CpswAle_GetVlanEntryOutArgs::aleEntryIdx
uint32_t aleEntryIdx
Definition: cpsw_ale.h:1089
CPSW_ALE_IOCTL_REMOVE_ALL_ENTRIES
@ CPSW_ALE_IOCTL_REMOVE_ALL_ENTRIES
Delete all entries.
Definition: cpsw_ale.h:476
CpswAle_NetworkSecurityCfg::hostOuiNoMatchDeny
bool hostOuiNoMatchDeny
Definition: cpsw_ale.h:1984
CpswAle_TrunkCfg::enablePri
bool enablePri
Definition: cpsw_ale.h:1333
CpswAle_PolicerMatchParams::policerMatchEnMask
uint32_t policerMatchEnMask
Definition: cpsw_ale.h:1439
CpswAle_GetUcastEntryOutArgs::aleEntryIdx
uint32_t aleEntryIdx
Definition: cpsw_ale.h:946
CpswAle_SetPortStateInArgs
Input args for CPSW_ALE_IOCTL_SET_PORT_STATE command.
Definition: cpsw_ale.h:1129
CPSW_ALE_IOCTL_DEL_ALL_POLICER_THREADID
@ CPSW_ALE_IOCTL_DEL_ALL_POLICER_THREADID
Delete all policer entries and associated ALE entry with the given thread id.
Definition: cpsw_ale.h:742
CPSW_ALE_IOCTL_SET_DEFAULT_THREADCFG
@ CPSW_ALE_IOCTL_SET_DEFAULT_THREADCFG
Set default thread configuration.
Definition: cpsw_ale.h:552
CpswAle_PortMirroringCfg::dstEnEn
bool dstEnEn
Definition: cpsw_ale.h:1275
CPSW_ALE_IOCTL_LOOKUP_UCAST
@ CPSW_ALE_IOCTL_LOOKUP_UCAST
Return entry info for given unicast address.
Definition: cpsw_ale.h:364
CpswAle_MacAddrInfo
MAC address and VLAN Id.
Definition: cpsw_ale.h:884
CpswAle_PortMirroringCfg::toPortNum
uint32_t toPortNum
Definition: cpsw_ale.h:1286
CpswAle_GetPolicerStatsOutArgs
Output args for CPSW_ALE_IOCTL_GET_POLICER_STATS command.
Definition: cpsw_ale.h:1725
CpswAle_DfltThreadCfg::dfltThreadEn
bool dfltThreadEn
Definition: cpsw_ale.h:1180
CpswAle_UnregulatedTrafficPolicer::commitRateInBitsPerSec
uint32_t commitRateInBitsPerSec
Definition: cpsw_ale.h:1822
CpswAle_VlanIdInfo::tagType
Enet_VlanTagType tagType
Definition: cpsw_ale.h:1014
CpswAle_PortCfg
ALE init time port specific configuration params.
Definition: cpsw_ale.h:2069
CpswAle_SetPolicerEntryOutArgs::srcIpAleEntryIdx
uint32_t srcIpAleEntryIdx
Definition: cpsw_ale.h:1578
CPSW_ALE_IOCTL_REMOVE_IPV6ADDR
@ CPSW_ALE_IOCTL_REMOVE_IPV6ADDR
Delete entry info for given IPv6 address.
Definition: cpsw_ale.h:441
CpswAle_IpAddrClassifierInfo::ipAddrType
CpswAle_IpAddrClassifierType ipAddrType
Definition: cpsw_ale.h:1423
CpswAle_SetPolicerEntryOutArgs::srcMacAleEntryIdx
uint32_t srcMacAleEntryIdx
Definition: cpsw_ale.h:1553
CpswAle_PolicerMatchParams::ouiInfo
CpswAle_OuiEntryInfo ouiInfo
Definition: cpsw_ale.h:1457
ENET_IPv4_ADDR_LEN
#define ENET_IPv4_ADDR_LEN
IPv4 address length in bytes/octets.
Definition: enet_types.h:159
CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_17
@ CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_17
Definition: cpsw_ale.h:1783
CpswAle_PolicerEntryOutArgs::srcMacAleEntryIdx
uint32_t srcMacAleEntryIdx
Definition: cpsw_ale.h:1624
CpswAle_InitVlanCfg::unknownUnregMcastFloodMask
uint32_t unknownUnregMcastFloodMask
Definition: cpsw_ale.h:1918
CpswAle_TrunkCfg::srcEn
bool srcEn
Definition: cpsw_ale.h:1338
CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_20
@ CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_20
Definition: cpsw_ale.h:1780
CpswAle_GetPolicerStatsInArgs::clearStats
bool clearStats
Definition: cpsw_ale.h:1718
CpswAle_InitVlanCfg::cpswVlanAwareMode
bool cpswVlanAwareMode
Definition: cpsw_ale.h:1903
CpswAle_DelPolicerEntryInArgs::aleEntryMask
uint32_t aleEntryMask
Definition: cpsw_ale.h:1706
CpswAle_UnregulatedTrafficPolicer
Unregulated traffic (no classifier hit) policing params.
Definition: cpsw_ale.h:1817
CpswAle_VlanEntryInfo::vlanIdInfo
CpswAle_VlanIdInfo vlanIdInfo
Definition: cpsw_ale.h:1023
CpswAle_IPPktSecurityCfg
IP packet security configuration.
Definition: cpsw_ale.h:1942
CpswAle_VlanEntryInfo::vidIngressCheck
bool vidIngressCheck
Definition: cpsw_ale.h:1048
CpswAle_TrunkCfg::innerVlanEn
bool innerVlanEn
Definition: cpsw_ale.h:1328
CpswAle_SetPolicerThreadCfgInArgs::threadIdEn
bool threadIdEn
Definition: cpsw_ale.h:1753
CPSW_ALE_IPADDR_CLASSIFIER_IPV6
@ CPSW_ALE_IPADDR_CLASSIFIER_IPV6
Definition: cpsw_ale.h:1414
CpswAle_PortVlanSecurityCfg
Port specific VLAN security configuration.
Definition: cpsw_ale.h:2018
CpswAle_PortMirroringCfg
Input args for CPSW_ALE_IOCTL_SET_PORT_MIRROR_CFG command.
Definition: cpsw_ale.h:1266
CpswAle_VlanEntryInfo
VLAN entry type info.
Definition: cpsw_ale.h:1021
CpswAle_SetInterVlanCfgInArgs::egressTrunkIdx
uint32_t egressTrunkIdx
Definition: cpsw_ale.h:1879
CpswAle_PolicerMatchParams::dstIpInfo
CpswAle_IpAddrClassifierInfo dstIpInfo
Definition: cpsw_ale.h:1492
CPSW_ALE_IOCTL_REMOVE_ETHERTYPE
@ CPSW_ALE_IOCTL_REMOVE_ETHERTYPE
Delete entry info for given EtherType.
Definition: cpsw_ale.h:452
CPSW_ALE_IOCTL_GET_POLICER_STATS
@ CPSW_ALE_IOCTL_GET_POLICER_STATS
Get ALE policer statistics.
Definition: cpsw_ale.h:698
CpswAle_PortBcastMcastRateLimitParams::mcastLimitNumPktsPerSec
uint32_t mcastLimitNumPktsPerSec
Definition: cpsw_ale.h:1367
CpswAle_NetworkSecurityCfg::ipPktCfg
CpswAle_IPPktSecurityCfg ipPktCfg
Definition: cpsw_ale.h:1995
CPSW_ALE_IOCTL_GET_BCAST_MCAST_LIMIT
@ CPSW_ALE_IOCTL_GET_BCAST_MCAST_LIMIT
Get configured broadcast/multicast rate limit configuration.
Definition: cpsw_ale.h:630
CpswAle_PortMirroringCfg::matchParams
CpswAle_MirrorMatchParams matchParams
Definition: cpsw_ale.h:1291
CpswAle_DfltThreadCfg::priorityOrEn
bool priorityOrEn
Definition: cpsw_ale.h:1186
CpswAle_GetPortMacAddrOutArgs::addrCnt
uint32_t addrCnt
Definition: cpsw_ale.h:1163
CPSW_ALE_IOCTL_ADD_ETHERTYPE
@ CPSW_ALE_IOCTL_ADD_ETHERTYPE
Add EtherType entry.
Definition: cpsw_ale.h:354
CpswAle_PolicerEntryOutArgs
Output args for CPSW_ALE_IOCTL_GET_POLICER, CPSW_ALE_IOCTL_SET_POLICER_THREADCFG, CPSW_ALE_IOCTL_BLOC...
Definition: cpsw_ale.h:1596
CpswAle_PortCfg::vlanCfg
CpswAle_PortVlanSecurityCfg vlanCfg
Definition: cpsw_ale.h:2074
CPSW_ALE_IOCTL_ADD_IPV6ADDR
@ CPSW_ALE_IOCTL_ADD_IPV6ADDR
Add IPv6 address.
Definition: cpsw_ale.h:343
CpswAle_SetBcastMcastRateLimitInArgs::rateLimitAtTxPort
bool rateLimitAtTxPort
Definition: cpsw_ale.h:1376
CpswAle_SetPolicerThreadCfgInArgs::threadId
uint32_t threadId
Definition: cpsw_ale.h:1756
CPSW_ALE_POLICER_NOMATCH_MODE_RED
@ CPSW_ALE_POLICER_NOMATCH_MODE_RED
Definition: cpsw_ale.h:1807
CpswAle_GetUcastEntryOutArgs
Output args for CPSW_ALE_IOCTL_LOOKUP_UCAST command.
Definition: cpsw_ale.h:937
CpswAle_SetInterVlanCfgInArgs::routeIdx
uint32_t routeIdx
Definition: cpsw_ale.h:1872
CpswAle_GetMcastEntryInArgs::numIgnBits
uint32_t numIgnBits
Definition: cpsw_ale.h:990
CpswAle_IPv6EntryInfo
IPv6 entry info.
Definition: cpsw_ale.h:1117
CpswAle_McastEntryInfo::super
bool super
Definition: cpsw_ale.h:956
CpswAle_InitVlanCfg::unknownVlanMemberListMask
uint32_t unknownVlanMemberListMask
Definition: cpsw_ale.h:1921
CpswAle_PortMirroringCfg::srcPortNumMask
uint32_t srcPortNumMask
Definition: cpsw_ale.h:1294
CpswAle_GetPolicerStatsOutArgs::policerRedHit
bool policerRedHit
Definition: cpsw_ale.h:1734
CpswAle_PolicerGlobalCfg::yellowThresh
CpswAle_PolicerYellowThresh yellowThresh
Definition: cpsw_ale.h:1842
CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_100
@ CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_100
Definition: cpsw_ale.h:1768
CPSW_ALE_IOCTL_ADD_MCAST
@ CPSW_ALE_IOCTL_ADD_MCAST
Add multicast address entry.
Definition: cpsw_ale.h:300
CpswAle_SetPolicerEntryInPartitionInArgs::peakRateInBitsPerSec
uint32_t peakRateInBitsPerSec
Definition: cpsw_ale.h:1531
CpswAle_MacAddrClassifierInfo
ALE classifier/policer match parameters for source or destination MAC address.
Definition: cpsw_ale.h:1221
CpswAle_SetPolicerEntryOutArgs::etherTypeAleEntryIdx
uint32_t etherTypeAleEntryIdx
Definition: cpsw_ale.h:1573
CpswAle_PolicerMatchParams::portNum
uint32_t portNum
Definition: cpsw_ale.h:1444
CpswAle_GetVlanEntryOutArgs::regMcastFloodMask
uint32_t regMcastFloodMask
Definition: cpsw_ale.h:1071
CPSW_ALE_IOCTL_DUMP_TABLE
@ CPSW_ALE_IOCTL_DUMP_TABLE
Dump ALE table entries.
Definition: cpsw_ale.h:278
CpswAle_GetBcastMcastRateLimitOutArgs::rateLimitEn
bool rateLimitEn
Definition: cpsw_ale.h:1392
CPSW_ALE_IOCTL_SET_PORT_STATE
@ CPSW_ALE_IOCTL_SET_PORT_STATE
Set port state.
Definition: cpsw_ale.h:519
CPSW_ALE_IOCTL_ADD_IPV4ADDR
@ CPSW_ALE_IOCTL_ADD_IPV4ADDR
Add IPv4 address.
Definition: cpsw_ale.h:332
CpswAle_PolicerEntryOutArgs::etherTypeAleEntryIdx
uint32_t etherTypeAleEntryIdx
Definition: cpsw_ale.h:1644
CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_25
@ CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_25
Definition: cpsw_ale.h:1777
CpswAle_MalformedPktSecurityCfg
Malformed packet handling configuration.
Definition: cpsw_ale.h:1928
CpswAle_MirrorMatchParams
ALE port mirroring configuration for mirroring based on packet match.
Definition: cpsw_ale.h:1233
CPSW_ALE_POLICER_PARTITION_DEFAULT
@ CPSW_ALE_POLICER_PARTITION_DEFAULT
Definition: cpsw_ale.h:877
CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_33
@ CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_33
Definition: cpsw_ale.h:1774
CpswAle_IPv4EntryInfo
IPv4 entry info.
Definition: cpsw_ale.h:1105
CpswAle_SetPolicerEntryOutArgs::policerEntryIdx
uint32_t policerEntryIdx
Definition: cpsw_ale.h:1586
CpswAle_PolicerMatchParams::srcIpInfo
CpswAle_IpAddrClassifierInfo srcIpInfo
Definition: cpsw_ale.h:1487
CPSW_ALE_IOCTL_SET_TRUNK_CFG
@ CPSW_ALE_IOCTL_SET_TRUNK_CFG
Set port trunking configuration.
Definition: cpsw_ale.h:597
CPSW_ALE_IOCTL_LOOKUP_MCAST
@ CPSW_ALE_IOCTL_LOOKUP_MCAST
Return entry info for given multicast address.
Definition: cpsw_ale.h:375
CPSW_ALE_POLICER_PARTITION_LEVEL_2
@ CPSW_ALE_POLICER_PARTITION_LEVEL_2
Definition: cpsw_ale.h:871
CpswAle_SetPolicerThreadCfgInArgs
Input args for CPSW_ALE_IOCTL_SET_POLICER_THREADCFG command.
Definition: cpsw_ale.h:1748
CpswAle_TrunkCfg::dstIPEn
bool dstIPEn
Definition: cpsw_ale.h:1317
CpswAle_MacAuthCfg::authModeEn
bool authModeEn
Definition: cpsw_ale.h:1964
CpswAle_SetPolicerEntryOutArgs::ivlanAleEntryIdx
uint32_t ivlanAleEntryIdx
Definition: cpsw_ale.h:1563
CpswAle_PolicerYellowThresh
CpswAle_PolicerYellowThresh
Yellow threshold value.
Definition: cpsw_ale.h:1766
CpswAle_SetPolicerEntryOutArgs::dstMacAleEntryIdx
uint32_t dstMacAleEntryIdx
Definition: cpsw_ale.h:1558
CPSW_ALE_PORTSTATE_FORWARD
@ CPSW_ALE_PORTSTATE_FORWARD
Definition: cpsw_ale.h:813
CpswAle_GetMcastEntryOutArgs::aleEntryIdx
uint32_t aleEntryIdx
Definition: cpsw_ale.h:1002
CpswAle_SetPolicerEntryInArgs::commitRateInBitsPerSec
uint32_t commitRateInBitsPerSec
Definition: cpsw_ale.h:1513
enet_cfg.h
This file contains the Enet configuration parameters.
CpswAle_GetVlanEntryOutArgs::disallowIPFrag
bool disallowIPFrag
Definition: cpsw_ale.h:1086
CpswAle_GetPortMacAddrOutArgs::totalAddrCnt
uint32_t totalAddrCnt
Definition: cpsw_ale.h:1166
CpswAle_PolicerEntryOutArgs::commitRateInBitsPerSec
uint32_t commitRateInBitsPerSec
Definition: cpsw_ale.h:1667
CpswAle_MirrorMatchParams::ouiInfo
CpswAle_OuiEntryInfo ouiInfo
Definition: cpsw_ale.h:1255
CPSW_ALE_POLICER_PARTITION_LEVEL_3
@ CPSW_ALE_POLICER_PARTITION_LEVEL_3
Definition: cpsw_ale.h:873
ENET_MAC_ADDR_LEN
#define ENET_MAC_ADDR_LEN
MAC address length in bytes/octets.
Definition: enet_types.h:153
CPSW_ALE_IOCTL_SET_PORT_MIRROR_CFG
@ CPSW_ALE_IOCTL_SET_PORT_MIRROR_CFG
Set port mirroring configuration.
Definition: cpsw_ale.h:574
CpswAle_PortBcastMcastRateLimitParams
Broadcast/multicast bandwidth limit configuration parameters.
Definition: cpsw_ale.h:1350
CpswAle_GetMcastEntryOutArgs::info
CpswAle_McastEntryInfo info
Definition: cpsw_ale.h:999
CpswAle_GetUcastEntryOutArgs::info
CpswAle_UcastEntryInfo info
Definition: cpsw_ale.h:939
CpswAle_GetVlanEntryOutArgs::limitIPNxtHdr
bool limitIPNxtHdr
Definition: cpsw_ale.h:1083
CpswAle_UcastEntryInfo::portNum
uint32_t portNum
Definition: cpsw_ale.h:899
CPSW_ALE_IOCTL_SET_POLICER_GLOBAL_CFG
@ CPSW_ALE_IOCTL_SET_POLICER_GLOBAL_CFG
Configure policer global settings. IOCTL params:
Definition: cpsw_ale.h:719
CPSW_ALE_TABLE_ENTRY_TYPE_ETHERTYPE
@ CPSW_ALE_TABLE_ENTRY_TYPE_ETHERTYPE
Definition: cpsw_ale.h:1204
CPSW_ALE_IOCTL_AGE_ALL_ENTRIES
@ CPSW_ALE_IOCTL_AGE_ALL_ENTRIES
Age all entries now.
Definition: cpsw_ale.h:487
CpswAle_UcastEntryInfo::blocked
bool blocked
Definition: cpsw_ale.h:903
CpswAle_DfltThreadCfg::threadId
uint32_t threadId
Definition: cpsw_ale.h:1183
CpswAle_SetInterVlanCfgInArgs::ttlCheckEn
bool ttlCheckEn
Definition: cpsw_ale.h:1865
CpswAle_Cfg::vlanCfg
CpswAle_InitVlanCfg vlanCfg
Definition: cpsw_ale.h:2101
CpswAle_McastEntryInfo::portMask
uint32_t portMask
Definition: cpsw_ale.h:962
CpswAle_PortMacModeCfg::macOnlyEn
bool macOnlyEn
Definition: cpsw_ale.h:2057
CPSW_ALE_IOCTL_DUMP_POLICER_ENTRIES
@ CPSW_ALE_IOCTL_DUMP_POLICER_ENTRIES
Dump ALE policer entries.
Definition: cpsw_ale.h:687
CpswAle_MirrorMatchParams::ipv6Info
CpswAle_IPv6EntryInfo ipv6Info
Definition: cpsw_ale.h:1251
CpswAle_VlanIdInfo
VLAN id info.
Definition: cpsw_ale.h:1009
CpswAle_PolicerPartLevel
CpswAle_PolicerPartLevel
Policer partition types.
Definition: cpsw_ale.h:867
CpswAle_PolicerMatchParams::ovlanId
uint32_t ovlanId
Definition: cpsw_ale.h:1477
CpswAle_UcastEntryInfo::super
bool super
Definition: cpsw_ale.h:912
CPSW_ALE_IOCTL_ADD_VLAN
@ CPSW_ALE_IOCTL_ADD_VLAN
Add inner/outer VLAN entry.
Definition: cpsw_ale.h:311
CpswAle_initCfg
void CpswAle_initCfg(CpswAle_Cfg *aleCfg)
Initialize CPSW ALE configuration parameters.
CPSW_ALE_IOCTL_REMOVE_IPV4ADDR
@ CPSW_ALE_IOCTL_REMOVE_IPV4ADDR
Delete entry info for given IPv4 address.
Definition: cpsw_ale.h:430
CPSW_ALE_IOCTL_GET_RX_FILTER
@ CPSW_ALE_IOCTL_GET_RX_FILTER
Get current host port Rx filter.
Definition: cpsw_ale.h:509
CpswAle_GetPortMacAddrOutArgs
Output args for CPSW_ALE_IOCTL_GET_PORT_MACADDR command.
Definition: cpsw_ale.h:1156
CpswAle_PolicerGlobalCfg::noMatchPolicer
CpswAle_UnregulatedTrafficPolicer noMatchPolicer
Definition: cpsw_ale.h:1850
CpswAle_PolicerEntryOutArgs::dstIpAleEntryIdx
uint32_t dstIpAleEntryIdx
Definition: cpsw_ale.h:1654
CpswAle_SetPolicerEntryInPartitionInArgs::policerMatch
CpswAle_PolicerMatchParams policerMatch
Definition: cpsw_ale.h:1522
CpswAle_SetInterVlanCfgInArgs::policerMatch
CpswAle_PolicerMatchParams policerMatch
Definition: cpsw_ale.h:1862
CpswAle_GetVlanEntryOutArgs::forceUntaggedEgressMask
uint32_t forceUntaggedEgressMask
Definition: cpsw_ale.h:1074
CpswAle_VlanEntryInfo::limitIPNxtHdr
bool limitIPNxtHdr
Definition: cpsw_ale.h:1052
CpswAle_PortVlanSecurityCfg::dropDoubleVlan
bool dropDoubleVlan
Definition: cpsw_ale.h:2032
CPSW_ALE_POLICER_NOMATCH_MODE_UNREGULATED_TRAFFIC_POLICER
@ CPSW_ALE_POLICER_NOMATCH_MODE_UNREGULATED_TRAFFIC_POLICER
Definition: cpsw_ale.h:1810
CpswAle_PolicerMatchParams::dstMacAddrInfo
CpswAle_MacAddrClassifierInfo dstMacAddrInfo
Definition: cpsw_ale.h:1467
CpswAle_TrunkCfg::trunkHashBase
uint32_t trunkHashBase
Definition: cpsw_ale.h:1312
ENET_IPv6_ADDR_LEN
#define ENET_IPv6_ADDR_LEN
IPv6 address length in bytes/octets.
Definition: enet_types.h:162
CpswAle_UcastEntryInfo
Unicast entry type info apart from MAC address that can be set.
Definition: cpsw_ale.h:896
CPSW_ALE_RXFILTER_NOTHING
@ CPSW_ALE_RXFILTER_NOTHING
Definition: cpsw_ale.h:845
CpswAle_Cfg::policerGlobalCfg
CpswAle_PolicerGlobalCfg policerGlobalCfg
Definition: cpsw_ale.h:2095
CpswAle_MirrorMatchParams::etherType
uint16_t etherType
Definition: cpsw_ale.h:1259
CpswAle_TrunkCfg::numPorts
uint32_t numPorts
Definition: cpsw_ale.h:1306
CPSW_ALE_IOCTL_REMOVE_OUI
@ CPSW_ALE_IOCTL_REMOVE_OUI
Delete entry info for given OUI address.
Definition: cpsw_ale.h:419
CpswAle_AgingCfg::agingPeriodInMs
uint32_t agingPeriodInMs
Definition: cpsw_ale.h:1891
CPSW_ALE_RXFILTER_ALLMCAST
@ CPSW_ALE_RXFILTER_ALLMCAST
Definition: cpsw_ale.h:857
CpswAle_PortMirroringCfg::matchEn
bool matchEn
Definition: cpsw_ale.h:1280
CpswAle_GetMcastEntryOutArgs
Output args for CPSW_ALE_IOCTL_LOOKUP_MCAST command.
Definition: cpsw_ale.h:997
CpswAle_PolicerEntryOutArgs::egressOpcode
uint32_t egressOpcode
Definition: cpsw_ale.h:1680
CpswAle_UcastEntryInfo::ageable
bool ageable
Definition: cpsw_ale.h:915
CPSW_ALE_IOCTL_DISABLE_BCAST_MCAST_LIMIT
@ CPSW_ALE_IOCTL_DISABLE_BCAST_MCAST_LIMIT
Disable broadcast/multicast rate limit.
Definition: cpsw_ale.h:641