AM261x MCU+ SDK: cpsw.h Source File

| AM261x MCU+ SDK 26.00.00 |

cpsw.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) Texas Instruments Incorporated 2020-23
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
62 #ifndef CPSW_H_
63 #define CPSW_H_
64
65 /* ========================================================================== */
66 /* Include Files */
67 /* ========================================================================== */
68
69 #include <stdint.h>
70 #include <include/mod/cpsw_ale.h>
71 #include <include/mod/cpsw_cpts.h>
72 #include <include/mod/cpsw_hostport.h>
73 #include <include/mod/cpsw_macport.h>
74 #include <include/mod/mdio.h>
75 #include <include/mod/cpsw_stats.h>
76 #include <include/core/enet_mod_phy.h>
77 #include <include/core/enet_rm.h>
78 #include <include/core/enet_dma.h>
79
80 #ifdef __cplusplus
81 extern "C" {
82 #endif
83
84 /* ========================================================================== */
85 /* Macros */
86 /* ========================================================================== */
87
89 #define CPSW_COMMON_TX_MTU_DEFAULT (2024U)
90
99 #define CPSW_ESC_PRI_LD_VAL (2U)
100
102 #define CPSW_PER_PUBLIC_IOCTL(x) (ENET_IOCTL_TYPE_PUBLIC | \
103 ENET_IOCTL_PER_BASE | \
104 ENET_IOCTL_PER_CPSW | \
105 ENET_IOCTL_MIN(x))
106
108 #if defined(SOC_AM273X) || defined(SOC_AWR294X) || defined (SOC_AWR2544)
109 #define CPSW_MAC_PORT_NUM (1U)
110 #else
111 #define CPSW_MAC_PORT_NUM (8U)
112 #endif
113
124 #define CPSW_INTERVLAN_INGRESSPKT_MATCH_PORT (CPSW_ALE_POLICER_MATCH_PORT)
125
127 #define CPSW_INTERVLAN_INGRESSPKT_MATCH_MACSRC (CPSW_ALE_POLICER_MATCH_MACSRC)
128
130 #define CPSW_INTERVLAN_INGRESSPKT_MATCH_MACDST (CPSW_ALE_POLICER_MATCH_MACDST)
131
133 #define CPSW_INTERVLAN_INGRESSPKT_MATCH_ETHERTYPE (CPSW_ALE_POLICER_MATCH_ETHERTYPE)
134
136 #define CPSW_INTERVLAN_INGRESSPKT_MATCH_IPSRC (CPSW_ALE_POLICER_MATCH_IPSRC)
137
139 #define CPSW_INTERVLAN_INGRESSPKT_MATCH_IPDST (CPSW_ALE_POLICER_MATCH_IPDST)
140
144 #define CPSW_INTR_STATS_PEND0 (1U)
145
147 #define CPSW_INTR_MDIO_PEND (2U)
148
150 #define CPSW_INTR_EVNT_PEND (3U)
151
152 /* ========================================================================== */
153 /* Structures and Enums */
154 /* ========================================================================== */
155
159 typedef enum Cpsw_Ioctl_e
160 {
168 CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_UNI_EGRESS = CPSW_PER_PUBLIC_IOCTL(0U),
169
177 CPSW_PER_IOCTL_CLEAR_INTERVLAN_ROUTE_UNI_EGRESS = CPSW_PER_PUBLIC_IOCTL(1U),
178
186 CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_MULTI_EGRESS = CPSW_PER_PUBLIC_IOCTL(2U),
187
195 CPSW_PER_IOCTL_CLEAR_INTERVLAN_ROUTE_MULTI_EGRESS = CPSW_PER_PUBLIC_IOCTL(3U),
196
204 CPSW_PER_IOCTL_SET_SHORT_IPG_CFG = CPSW_PER_PUBLIC_IOCTL(4U),
205
214 CPSW_PER_IOCTL_GET_SHORT_IPG_CFG = CPSW_PER_PUBLIC_IOCTL(5U),
215 } Cpsw_Ioctl;
216
220 typedef struct Cpsw_InterVlanRouteIngressPktMatchCfg_s
221 {
224 uint32_t packetMatchEnMask;
225
229 bool ttlCheckEn;
230
234 Enet_MacPort ingressPort;
235
239 CpswAle_MacAddrClassifierInfo srcMacAddrInfo;
240
244 CpswAle_MacAddrClassifierInfo dstMacAddrInfo;
245
247 uint32_t vlanId;
248
252 CpswAle_IpAddrClassifierInfo srcIpInfo;
253
257 CpswAle_IpAddrClassifierInfo dstIpInfo;
258
262 uint16_t etherType;
263 } Cpsw_InterVlanRouteIngressPktMatchCfg;
264
268 typedef struct Cpsw_InterVlanEgressPortCfg_s
269 {
271 Enet_MacPort egressPort;
272
276 CpswMacPort_InterVlanRoutingCfg outPktModCfg;
277 } Cpsw_InterVlanEgressPortCfg;
278
282 typedef struct Cpsw_SetInterVlanRouteUniEgressInArgs_s
283 {
287 Cpsw_InterVlanRouteIngressPktMatchCfg inPktMatchCfg;
288
290 Cpsw_InterVlanEgressPortCfg egressCfg;
291 } Cpsw_SetInterVlanRouteUniEgressInArgs;
292
296 typedef struct Cpsw_SetInterVlanRouteUniEgressOutArgs_s
297 {
299 CpswMacPort_InterVlanRouteId egressPortRouteId;
300
302 CpswAle_PolicerEntryOutArgs ingressPacketClassifierInfo;
303 } Cpsw_SetInterVlanRouteUniEgressOutArgs;
304
308 typedef struct Cpsw_ClearInterVlanRouteUniEgressInArgs_s
309 {
313 Cpsw_InterVlanRouteIngressPktMatchCfg inPktMatchCfg;
314
316 Cpsw_InterVlanEgressPortCfg egressCfg;
317
321 uint32_t delAleEntryMask;
322 } Cpsw_ClearInterVlanRouteUniEgressInArgs;
323
327 typedef struct Cpsw_SetInterVlanRouteMultiEgressInArgs_s
328 {
330 uint32_t numEgressPorts;
331
335 Cpsw_InterVlanEgressPortCfg egressCfg[CPSW_ALE_NUM_MAC_PORTS];
336
340 Cpsw_InterVlanRouteIngressPktMatchCfg inPktMatchCfg;
341 } Cpsw_SetInterVlanRouteMultiEgressInArgs;
342
346 typedef struct Cpsw_SetInterVlanRouteMultiEgressOutArgs_s
347 {
349 CpswMacPort_InterVlanRouteId egressPortRouteId;
350
352 CpswAle_PolicerEntryOutArgs ingressPacketClassifierInfo;
353 } Cpsw_SetInterVlanRouteMultiEgressOutArgs;
354
358 typedef struct Cpsw_ClearInterVlanRouteMultiEgressInArgs_s
359 {
361 uint32_t numEgressPorts;
362
366 Cpsw_InterVlanEgressPortCfg egressCfg[CPSW_ALE_NUM_MAC_PORTS];
367
371 Cpsw_InterVlanRouteIngressPktMatchCfg inPktMatchCfg;
372
376 uint32_t delAleEntryMask;
377 } Cpsw_ClearInterVlanRouteMultiEgressInArgs;
378
382 typedef struct Cpsw_SetTxShortIpgCfgInArgs_s
383 {
387 bool configureGapThresh;
388
391 uint32_t ipgTriggerThreshBlkCnt;
392
394 uint32_t numMacPorts;
395
398 CpswMacPort_PortTxShortIpgCfg portShortIpgCfg[CPSW_MAC_PORT_NUM];
399 } Cpsw_SetTxShortIpgCfgInArgs;
400
406 typedef struct Cpsw_TxShortIpgCfg_s
407 {
410 uint32_t ipgTriggerThreshBlkCnt;
411
413 uint32_t numMacPorts;
414
417 CpswMacPort_PortTxShortIpgCfg portShortIpgCfg[CPSW_MAC_PORT_NUM];
418 } Cpsw_TxShortIpgCfg;
419
423 typedef struct Cpsw_VlanCfg_s
424 {
426 bool vlanAware;
427
429 Enet_VlanTagType vlanSwitch;
430
432 uint16_t outerVlan;
433
435 uint16_t innerVlan;
436 } Cpsw_VlanCfg;
437
441 typedef struct Cpsw_MdioLinkStateChangeInfo_s
442 {
444 uint32_t phyAddr;
445
448 bool aliveChanged;
449
452 bool isAlive;
453
455 bool linkChanged;
456
458 bool isLinked;
459
460 } Cpsw_MdioLinkStateChangeInfo;
461
468 typedef void (*Cpsw_MdioLinkStateChangeCb)(Cpsw_MdioLinkStateChangeInfo *info,
469 void *appArg);
470
478 typedef void (*Cpsw_PortLinkStatusChangeCb)(Enet_MacPort macPort,
479 bool isLinkUp,
480 void *appArg);
481
487 typedef struct Cpsw_Cfg_s
488 {
490 uint32_t escalatePriorityLoadVal;
491
493 const EnetDma_Cfg *dmaCfg;
494
496 Cpsw_VlanCfg vlanCfg;
497
501 uint32_t txMtu[ENET_PRI_NUM];
502
504 CpswHostPort_Cfg hostPortCfg;
505
507 CpswAle_Cfg aleCfg;
508
510 CpswCpts_Cfg cptsCfg;
511
513 Mdio_Cfg mdioCfg;
514
516 EnetRm_ResCfg resCfg;
517
519 uint32_t intrPriority;
520
522 Cpsw_MdioLinkStateChangeCb mdioLinkStateChangeCb;
523
525 void *mdioLinkStateChangeCbArg;
526
529 Cpsw_PortLinkStatusChangeCb portLinkStatusChangeCb;
530
532 void *portLinkStatusChangeCbArg;
533
538 bool enableQsgmii0RDC;
539
541 bool enableQsgmii1RDC;
542
552 bool disablePhyDriver;
553 } Cpsw_Cfg;
554
555
556 /* ========================================================================== */
557 /* Global Variables Declarations */
558 /* ========================================================================== */
559
560 /* None */
561
562 /* ========================================================================== */
563 /* Function Declarations */
564 /* ========================================================================== */
565
566 /* None */
567
568 /* ========================================================================== */
569 /* Deprecated Function Declarations */
570 /* ========================================================================== */
571
572 /* None */
573
574 /* ========================================================================== */
575 /* Static Function Definitions */
576 /* ========================================================================== */
577
578 /* None */
579
580 #ifdef __cplusplus
581 }
582 #endif
583
584 #endif /* CPSW_H_ */
585
Cpsw_InterVlanRouteIngressPktMatchCfg::dstIpInfo
CpswAle_IpAddrClassifierInfo dstIpInfo
Definition: cpsw.h:257
Cpsw_ClearInterVlanRouteMultiEgressInArgs::inPktMatchCfg
Cpsw_InterVlanRouteIngressPktMatchCfg inPktMatchCfg
Definition: cpsw.h:371
CpswAle_IpAddrClassifierInfo
ALE IP address classifier info.
Definition: cpsw_ale.h:1421
CPSW_MAC_PORT_NUM
#define CPSW_MAC_PORT_NUM
Definition: cpsw.h:111
Cpsw_Cfg::cptsCfg
CpswCpts_Cfg cptsCfg
Definition: cpsw.h:510
CPSW_ALE_NUM_MAC_PORTS
#define CPSW_ALE_NUM_MAC_PORTS
Number of external ports in the subsystem.
Definition: cpsw_ale.h:96
enet_dma.h
This file contains the type definitions and helper macros for the Enet Data Path (DMA) interface.
Cpsw_VlanCfg
CPSW-level VLAN configuration.
Definition: cpsw.h:424
Cpsw_Cfg::enableQsgmii1RDC
bool enableQsgmii1RDC
Definition: cpsw.h:541
cpsw_ale.h
This file contains the type definitions and helper macros for the CPSW Address Lookup Engine (ALE) mo...
Enet_VlanTagType
Enet_VlanTagType
Double tagging VLAN type.
Definition: enet_types.h:379
Cpsw_SetInterVlanRouteMultiEgressOutArgs::ingressPacketClassifierInfo
CpswAle_PolicerEntryOutArgs ingressPacketClassifierInfo
Definition: cpsw.h:352
EnetDma_Cfg
Config structure for Enet CPDMA.
Definition: enet_cpdma.h:433
cpsw_stats.h
This file contains the type definitions and helper macros for the CPSW Statistics module interface.
mdio.h
This file contains the type definitions and helper macros for the MDIO module interface.
Cpsw_SetInterVlanRouteUniEgressOutArgs::ingressPacketClassifierInfo
CpswAle_PolicerEntryOutArgs ingressPacketClassifierInfo
Definition: cpsw.h:302
Cpsw_Ioctl
Cpsw_Ioctl
CPSW peripheral IOCTL commands.
Definition: cpsw.h:160
CpswAle_Cfg
ALE configuration.
Definition: cpsw_ale.h:2090
Cpsw_MdioLinkStateChangeInfo::phyAddr
uint32_t phyAddr
Definition: cpsw.h:444
Cpsw_MdioLinkStateChangeInfo::linkChanged
bool linkChanged
Definition: cpsw.h:455
Cpsw_TxShortIpgCfg
Short IPG configuration for CPSW IP.
Definition: cpsw.h:407
Cpsw_Cfg::mdioLinkStateChangeCbArg
void * mdioLinkStateChangeCbArg
Definition: cpsw.h:525
Cpsw_MdioLinkStateChangeInfo
PHY link status change event information.
Definition: cpsw.h:442
Cpsw_MdioLinkStateChangeCb
void(* Cpsw_MdioLinkStateChangeCb)(Cpsw_MdioLinkStateChangeInfo *info, void *appArg)
CPSW PHY link state change callback function.
Definition: cpsw.h:468
Cpsw_MdioLinkStateChangeInfo::aliveChanged
bool aliveChanged
Definition: cpsw.h:448
Enet_MacPort
Enet_MacPort
MAC port.
Definition: enet_types.h:412
Cpsw_InterVlanEgressPortCfg::egressPort
Enet_MacPort egressPort
Definition: cpsw.h:271
Cpsw_InterVlanRouteIngressPktMatchCfg::srcMacAddrInfo
CpswAle_MacAddrClassifierInfo srcMacAddrInfo
Definition: cpsw.h:239
Cpsw_SetTxShortIpgCfgInArgs::configureGapThresh
bool configureGapThresh
Definition: cpsw.h:387
Cpsw_VlanCfg::vlanSwitch
Enet_VlanTagType vlanSwitch
Definition: cpsw.h:429
CpswMacPort_PortTxShortIpgCfg
MAC port's short gap configuration.
Definition: cpsw_macport.h:222
CPSW_PER_IOCTL_GET_SHORT_IPG_CFG
@ CPSW_PER_IOCTL_GET_SHORT_IPG_CFG
Get the current short inter-packet gap (IPG) configuration for all open MAC ports.
Definition: cpsw.h:214
enet_mod_phy.h
This file contains the type definitions and helper macros for the Ethernet PHY interface.
Cpsw_SetInterVlanRouteUniEgressInArgs::inPktMatchCfg
Cpsw_InterVlanRouteIngressPktMatchCfg inPktMatchCfg
Definition: cpsw.h:287
Cpsw_SetTxShortIpgCfgInArgs::ipgTriggerThreshBlkCnt
uint32_t ipgTriggerThreshBlkCnt
Definition: cpsw.h:391
EnetRm_ResCfg
Resource manager configuration parameters.
Definition: enet_rm.h:402
Cpsw_InterVlanRouteIngressPktMatchCfg::packetMatchEnMask
uint32_t packetMatchEnMask
Definition: cpsw.h:224
Cpsw_Cfg::mdioCfg
Mdio_Cfg mdioCfg
Definition: cpsw.h:513
CpswMacPort_InterVlanRoutingCfg
Port interVLAN configuration parameters.
Definition: cpsw_macport.h:258
Cpsw_SetInterVlanRouteUniEgressOutArgs::egressPortRouteId
CpswMacPort_InterVlanRouteId egressPortRouteId
Definition: cpsw.h:299
cpsw_cpts.h
This file contains private type definitions and helper macros for the CPSW CPTS module.
Cpsw_ClearInterVlanRouteUniEgressInArgs
Input args for CPSW_PER_IOCTL_CLEAR_INTERVLAN_ROUTE_UNI_EGRESS command.
Definition: cpsw.h:309
CPSW_PER_IOCTL_CLEAR_INTERVLAN_ROUTE_UNI_EGRESS
@ CPSW_PER_IOCTL_CLEAR_INTERVLAN_ROUTE_UNI_EGRESS
Setup interVLAN route for a single egress port.
Definition: cpsw.h:177
CPSW_PER_IOCTL_SET_SHORT_IPG_CFG
@ CPSW_PER_IOCTL_SET_SHORT_IPG_CFG
Configure short inter-packet gap (IPG) for specific MAC ports.
Definition: cpsw.h:204
Cpsw_Cfg::dmaCfg
const EnetDma_Cfg * dmaCfg
Definition: cpsw.h:493
Cpsw_Cfg
CPSW configuration.
Definition: cpsw.h:488
Cpsw_VlanCfg::innerVlan
uint16_t innerVlan
Definition: cpsw.h:435
CpswCpts_Cfg
CPTS configuration.
Definition: cpsw_cpts.h:591
Cpsw_ClearInterVlanRouteUniEgressInArgs::inPktMatchCfg
Cpsw_InterVlanRouteIngressPktMatchCfg inPktMatchCfg
Definition: cpsw.h:313
Cpsw_InterVlanRouteIngressPktMatchCfg::dstMacAddrInfo
CpswAle_MacAddrClassifierInfo dstMacAddrInfo
Definition: cpsw.h:244
Cpsw_Cfg::intrPriority
uint32_t intrPriority
Definition: cpsw.h:519
Cpsw_VlanCfg::vlanAware
bool vlanAware
Definition: cpsw.h:426
Cpsw_SetInterVlanRouteUniEgressOutArgs
Output args for CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_UNI_EGRESS command.
Definition: cpsw.h:297
Cpsw_InterVlanRouteIngressPktMatchCfg::vlanId
uint32_t vlanId
Definition: cpsw.h:247
Mdio_Cfg
MDIO module configuration.
Definition: networking/enet/core/include/mod/mdio.h:108
ENET_PRI_NUM
#define ENET_PRI_NUM
Packet priority.
Definition: enet_types.h:165
Cpsw_SetInterVlanRouteMultiEgressInArgs::numEgressPorts
uint32_t numEgressPorts
Definition: cpsw.h:330
Cpsw_Cfg::portLinkStatusChangeCb
Cpsw_PortLinkStatusChangeCb portLinkStatusChangeCb
Definition: cpsw.h:529
Cpsw_TxShortIpgCfg::ipgTriggerThreshBlkCnt
uint32_t ipgTriggerThreshBlkCnt
Definition: cpsw.h:410
Cpsw_Cfg::escalatePriorityLoadVal
uint32_t escalatePriorityLoadVal
Definition: cpsw.h:490
Cpsw_SetTxShortIpgCfgInArgs
Input args for CPSW_PER_IOCTL_SET_SHORT_IPG_CFG.
Definition: cpsw.h:383
Cpsw_SetInterVlanRouteMultiEgressInArgs
Input args for CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_MULTI_EGRESS command.
Definition: cpsw.h:328
Cpsw_SetInterVlanRouteUniEgressInArgs
Input args for CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_UNI_EGRESS command.
Definition: cpsw.h:283
Cpsw_ClearInterVlanRouteMultiEgressInArgs
Input args for CPSW_PER_IOCTL_CLEAR_INTERVLAN_ROUTE_MULTI_EGRESS command.
Definition: cpsw.h:359
Cpsw_Cfg::hostPortCfg
CpswHostPort_Cfg hostPortCfg
Definition: cpsw.h:504
Cpsw_InterVlanEgressPortCfg
InterVLAN egress port configuration.
Definition: cpsw.h:269
Cpsw_Cfg::enableQsgmii0RDC
bool enableQsgmii0RDC
Definition: cpsw.h:538
CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_MULTI_EGRESS
@ CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_MULTI_EGRESS
Setup interVLAN route for a multiple egress port.
Definition: cpsw.h:186
Cpsw_Cfg::portLinkStatusChangeCbArg
void * portLinkStatusChangeCbArg
Definition: cpsw.h:532
cpsw_macport.h
This file contains the type definitions and helper macros for the CPSW MAC port module interface.
Cpsw_ClearInterVlanRouteMultiEgressInArgs::delAleEntryMask
uint32_t delAleEntryMask
Definition: cpsw.h:376
Cpsw_SetInterVlanRouteMultiEgressOutArgs
Output args for CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_MULTI_EGRESS command.
Definition: cpsw.h:347
enet_rm.h
This file contains the type definitions and helper macros for the Enet Resource Manager module.
Cpsw_SetInterVlanRouteMultiEgressInArgs::inPktMatchCfg
Cpsw_InterVlanRouteIngressPktMatchCfg inPktMatchCfg
Definition: cpsw.h:340
Cpsw_InterVlanRouteIngressPktMatchCfg
InterVLAN route ingress packet match criteria configuration.
Definition: cpsw.h:221
Cpsw_Cfg::disablePhyDriver
bool disablePhyDriver
Definition: cpsw.h:552
cpsw_hostport.h
This file contains the type definitions and helper macros for the CPSW host port module.
Cpsw_TxShortIpgCfg::numMacPorts
uint32_t numMacPorts
Definition: cpsw.h:413
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
CPSW_PER_PUBLIC_IOCTL
#define CPSW_PER_PUBLIC_IOCTL(x)
Helper macro to create CPSW IOCTL commands.
Definition: cpsw.h:102
Cpsw_PortLinkStatusChangeCb
void(* Cpsw_PortLinkStatusChangeCb)(Enet_MacPort macPort, bool isLinkUp, void *appArg)
CPSW port link status change callback function.
Definition: cpsw.h:478
Cpsw_InterVlanRouteIngressPktMatchCfg::etherType
uint16_t etherType
Definition: cpsw.h:262
Cpsw_VlanCfg::outerVlan
uint16_t outerVlan
Definition: cpsw.h:432
Cpsw_InterVlanRouteIngressPktMatchCfg::ingressPort
Enet_MacPort ingressPort
Definition: cpsw.h:234
Cpsw_SetInterVlanRouteMultiEgressOutArgs::egressPortRouteId
CpswMacPort_InterVlanRouteId egressPortRouteId
Definition: cpsw.h:349
CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_UNI_EGRESS
@ CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_UNI_EGRESS
Setup interVLAN route for a single egress port.
Definition: cpsw.h:168
CpswAle_MacAddrClassifierInfo
ALE classifier/policer match parameters for source or destination MAC address.
Definition: cpsw_ale.h:1221
Cpsw_SetTxShortIpgCfgInArgs::numMacPorts
uint32_t numMacPorts
Definition: cpsw.h:394
CpswHostPort_Cfg
Host port module configuration parameters.
Definition: cpsw_hostport.h:138
CpswMacPort_InterVlanRouteId
CpswMacPort_InterVlanRouteId
MAC port interVLAN route identifier.
Definition: cpsw_macport.h:234
Cpsw_Cfg::vlanCfg
Cpsw_VlanCfg vlanCfg
Definition: cpsw.h:496
Cpsw_ClearInterVlanRouteUniEgressInArgs::delAleEntryMask
uint32_t delAleEntryMask
Definition: cpsw.h:321
Cpsw_MdioLinkStateChangeInfo::isAlive
bool isAlive
Definition: cpsw.h:452
Cpsw_InterVlanRouteIngressPktMatchCfg::srcIpInfo
CpswAle_IpAddrClassifierInfo srcIpInfo
Definition: cpsw.h:252
Cpsw_InterVlanRouteIngressPktMatchCfg::ttlCheckEn
bool ttlCheckEn
Definition: cpsw.h:229
Cpsw_InterVlanEgressPortCfg::outPktModCfg
CpswMacPort_InterVlanRoutingCfg outPktModCfg
Definition: cpsw.h:276
Cpsw_Cfg::mdioLinkStateChangeCb
Cpsw_MdioLinkStateChangeCb mdioLinkStateChangeCb
Definition: cpsw.h:522
Cpsw_Cfg::resCfg
EnetRm_ResCfg resCfg
Definition: cpsw.h:516
Cpsw_SetInterVlanRouteUniEgressInArgs::egressCfg
Cpsw_InterVlanEgressPortCfg egressCfg
Definition: cpsw.h:290
Cpsw_ClearInterVlanRouteUniEgressInArgs::egressCfg
Cpsw_InterVlanEgressPortCfg egressCfg
Definition: cpsw.h:316
Cpsw_Cfg::aleCfg
CpswAle_Cfg aleCfg
Definition: cpsw.h:507
CPSW_PER_IOCTL_CLEAR_INTERVLAN_ROUTE_MULTI_EGRESS
@ CPSW_PER_IOCTL_CLEAR_INTERVLAN_ROUTE_MULTI_EGRESS
Clear interVLAN route for a multiple egress port route.
Definition: cpsw.h:195
Cpsw_ClearInterVlanRouteMultiEgressInArgs::numEgressPorts
uint32_t numEgressPorts
Definition: cpsw.h:361
Cpsw_MdioLinkStateChangeInfo::isLinked
bool isLinked
Definition: cpsw.h:458