Data Structures | Macros | Typedefs | Enumerations
cpsw_ale.h File Reference

This file contains the type definitions and helper macros for the CPSW Address Lookup Engine (ALE) module interface. More...

#include <stdint.h>
#include <ti/drv/enet/include/core/enet_types.h>
#include <ti/drv/enet/include/core/enet_mod.h>

Data Structures

struct  CpswAle_MacAddrInfo_s
 MAC address and VLAN Id. More...
 
struct  CpswAle_UcastEntryInfo_s
 Unicast entry type info apart from MAC address that can be set. More...
 
struct  CpswAle_SetUcastEntryInArgs_s
 Input args for CPSW_ALE_IOCTL_ADD_UCAST command. More...
 
struct  CpswAle_GetUcastEntryOutArgs_s
 Output args for CPSW_ALE_IOCTL_LOOKUP_UCAST command. More...
 
struct  CpswAle_McastEntryInfo_s
 Multicast entry type info apart from MAC address. More...
 
struct  CpswAle_SetMcastEntryInArgs_s
 Input args for CPSW_ALE_IOCTL_ADD_MCAST command. More...
 
struct  CpswAle_GetMcastEntryInArgs_s
 Input args for CPSW_ALE_IOCTL_LOOKUP_MCAST command. More...
 
struct  CpswAle_GetMcastEntryOutArgs_s
 Output args for CPSW_ALE_IOCTL_LOOKUP_MCAST command. More...
 
struct  CpswAle_VlanIdInfo_s
 VLAN id info. More...
 
struct  CpswAle_VlanEntryInfo_s
 VLAN entry type info. More...
 
struct  CpswAle_GetVlanEntryOutArgs_s
 Output args for CPSW_ALE_IOCTL_LOOKUP_MCAST command. More...
 
struct  CpswAle_OuiEntryInfo_s
 OUI entry info. More...
 
struct  CpswAle_IPv4EntryInfo_s
 IPv4 entry info. More...
 
struct  CpswAle_IPv6EntryInfo_s
 IPv6 entry info. More...
 
struct  CpswAle_SetPortStateInArgs_s
 Input args for CPSW_ALE_IOCTL_SET_PORT_STATE command. More...
 
struct  CpswAle_GetPortMacAddrInArgs_s
 Input args for CPSW_ALE_IOCTL_GET_PORT_MACADDR command. More...
 
struct  CpswAle_GetPortMacAddrOutArgs_s
 Output args for CPSW_ALE_IOCTL_GET_PORT_MACADDR command. More...
 
struct  CpswAle_DefaultThreadCfg_s
 Input args for CPSW_ALE_IOCTL_SET_DEFAULT_THREADCFG command and out args for CPSW_ALE_IOCTL_GET_DEFAULT_THREADCFG command. More...
 
struct  CpswAle_MacAddrClassifierInfo_s
 ALE classifier/policer match parameters for source or destination MAC address. More...
 
struct  CpswAle_MirrorMatchParams_s
 ALE port mirroring configuration for mirroring based on packet match. More...
 
struct  CpswAle_PortMirroringCfg_s
 Input args for CPSW_ALE_IOCTL_SET_PORT_MIRROR_CFG command. More...
 
struct  CpswAle_TrunkCfg_s
 Input args for CPSW_ALE_IOCTL_SET_TRUNK_CFG command. More...
 
struct  CpswAle_PortBcastMcastRateLimitParams_s
 Broadcast/multicast bandwidth limit configuration parameters. More...
 
struct  CpswAle_SetBcastMcastRateLimitInArgs_s
 Input args for CPSW_ALE_IOCTL_SET_BCAST_MCAST_LIMIT command. More...
 
struct  CpswAle_GetBcastMcastRateLimitOutArgs_s
 Output args for CPSW_ALE_IOCTL_GET_BCAST_MCAST_LIMIT IOCTL command. More...
 
struct  CpswAle_IpAddrClassifierInfo_s
 ALE IP address classifier info. More...
 
struct  CpswAle_PolicerMatchParams_s
 ALE classifier/policer match parameters. More...
 
struct  CpswAle_SetPolicerEntryInArgs_s
 Input args for CPSW_ALE_IOCTL_SET_POLICER command. More...
 
struct  CpswAle_SetPolicerEntryOutArgs_s
 Input args for CPSW_ALE_IOCTL_SET_POLICER command. More...
 
struct  CpswAle_PolicerEntryOutArgs_s
 Output args for CPSW_ALE_IOCTL_GET_POLICER, CPSW_ALE_IOCTL_SET_POLICER_THREADCFG, CPSW_ALE_IOCTL_BLOCK_CLASSIFIER_HOSTPORT and CPSW_ALE_IOCTL_SET_INTERVLAN_CFG commands. More...
 
struct  CpswAle_GetPolicerStatsInArgs_s
 Input args for CPSW_ALE_IOCTL_GET_POLICER_STATS command. More...
 
struct  CpswAle_GetPolicerStatsOutArgs_s
 Output args for CPSW_ALE_IOCTL_GET_POLICER_STATS command. More...
 
struct  CpswAle_SetPolicerThreadCfgInArgs_s
 Input args for CPSW_ALE_IOCTL_SET_POLICER_THREADCFG command. More...
 
struct  CpswAle_UnregulatedTrafficPolicer_s
 Unregulated traffic (no classifier hit) policing params. More...
 
struct  CpswAle_PolicerGlobalCfg_s
 Policer global configuration parameters. More...
 
struct  CpswAle_SetInterVlanCfgInArgs_s
 Output args for CPSW_ALE_IOCTL_SET_DEFAULT_THREADCFG command. More...
 
struct  CpswAle_AgingCfg_s
 ALE aging time configuration. More...
 
struct  CpswAle_InitVlanCfg_s
 Init time VLAN configuration. More...
 
struct  CpswAle_MalformedPktSecurityCfg_s
 Malformed packet handling configuration. More...
 
struct  CpswAle_IPPktSecurityCfg_s
 IP packet security configuration. More...
 
struct  CpswAle_MacAuthCfg_s
 MAC authentication configuration. More...
 
struct  CpswAle_NetworkSecurityCfg_s
 High level structure with ALE network security configuration. More...
 
struct  CpswAle_PortLearningSecurityCfg_s
 Port specific auto learning security configuration. More...
 
struct  CpswAle_PortVlanSecurityCfg_s
 Port specific VLAN security configuration. More...
 
struct  CpswAle_PortMacModeCfg_s
 Port MAC mode configuration. More...
 
struct  CpswAle_PortCfg_s
 ALE init time port specific configuration params. More...
 
struct  CpswAle_Cfg_s
 ALE configuration. More...
 

Macros

#define CPSW_ALE_PUBLIC_IOCTL(x)
 Helper macro to create IOCTL commands for ALE module. More...
 
#define CPSW_ALE_NUM_PORTS   ((uint32_t)9U)
 Number of switch ports in the subsystem.
 
#define CPSW_ALE_NUM_MAC_PORTS   (CPSW_ALE_NUM_PORTS - 1U)
 Number of external ports in the subsystem.
 
#define CPSW_ALE_MAX_WHITELIST_IP_NXT_HDR   (4U)
 Maximum IP next header whitelist.
 
#define CPSW_ALE_ALL_PORTS_MASK   ((1U << CPSW_ALE_NUM_PORTS) - 1U)
 Mask value for the all the ports.
 
#define CPSW_ALE_ALL_MACPORTS_MASK   (((1U << CPSW_ALE_NUM_PORTS) - 1U) - 1U)
 Mask value for the all MAC ports.
 
#define CPSW_ALE_HOST_PORT_MASK   (ENET_BIT(0))
 Mask value for the host port.
 
#define CPSW_ALE_HOST_PORT_NUM   (0U)
 Port number for the host port.
 
#define CPSW_ALE_MACPORT_BASE   (1U)
 Base index for MAC ports in ALE context.
 
#define CPSW_ALE_MACPORT_TO_ALEPORT(macPortNum)   (CPSW_NORMALIZE_MACPORT(macPortNum) + CPSW_ALE_MACPORT_BASE)
 Macro to convert MAC port (Enet_MacPort) to ALE port number.
 
#define CPSW_ALE_ALEPORT_TO_MACPORT(alePortNum)   (CPSW_DENORMALIZE_MACPORT(alePortNum - CPSW_ALE_MACPORT_BASE))
 Macro to convert ALE port number to MAC port number (Enet_MacPort).
 
#define CPSW_ALE_MACPORT_TO_PORTMASK(macPortNum)   (ENET_BIT(CPSW_ALE_MACPORT_TO_ALEPORT(macPortNum)))
 Macro to convert MAC port (Enet_MacPort) to ALE port mask.
 
#define CPSW_ALE_MCAST_IGN_BITS_MAX   (10U)
 Maximum number of ignore bits in multicast address.
 
#define CPSW_ALE_PEAKBITRATE_DISABLE   (0U)
 Disable peak bit rate.
 
#define CPSW_ALE_COMMITBITRATE_DISABLE   (0U)
 Disable commit bit rate.
 
#define CPSW_ALE_THREADID_INVALID   (~0U)
 ALE invalid thread id.
 
ALE classifier match types.

Classifier match type supported by ALE. Each type is represented by a bit in a bitmask. To enable multiple classifiers in a single classifier entry, create bitmask ORing required classifier match type defines.

#define CPSW_ALE_POLICER_MATCH_PORT   (ENET_BIT(0U))
 Enable classifier match with port number.
 
#define CPSW_ALE_POLICER_MATCH_PRIORITY   (ENET_BIT(1U))
 Enable classifier match with received packet priority.
 
#define CPSW_ALE_POLICER_MATCH_OUI   (ENET_BIT(2U))
 Enable classifier match with OUI portion of source MAC address.
 
#define CPSW_ALE_POLICER_MATCH_MACDST   (ENET_BIT(3U))
 Enable classifier match with MAC destination address entry with/without VLAN.
 
#define CPSW_ALE_POLICER_MATCH_MACSRC   (ENET_BIT(4U))
 Enable classifier match with MAC source address entry with/without VLAN.
 
#define CPSW_ALE_POLICER_MATCH_OVLAN   (ENET_BIT(5U))
 Enable classifier match with outer VLAN entry.
 
#define CPSW_ALE_POLICER_MATCH_IVLAN   (ENET_BIT(6U))
 Enable classifier match with inner VLAN entry.
 
#define CPSW_ALE_POLICER_MATCH_ETHERTYPE   (ENET_BIT(7U))
 Enable classifier match with EtherType.
 
#define CPSW_ALE_POLICER_MATCH_IPSRC   (ENET_BIT(8U))
 Enable classifier match with IPv4/IPv6 source address.
 
#define CPSW_ALE_POLICER_MATCH_IPDST   (ENET_BIT(9U))
 Enable classifier match with IPv4/IPv6 destination address.
 
ALE classifier delete bitmask.

Associated with some classifier types are ALE table entries. When deleting the classifier entry application needs to specify by means of below bitmask if the ALE entry associated with the classifier should also be deleted. If not set the ALE entry will remain.

#define CPSW_ALE_POLICER_TABLEENTRY_DELETE_OUI   (CPSW_ALE_POLICER_MATCH_PRIORITY)
 Delete OUI ALE table entry.
 
#define CPSW_ALE_POLICER_TABLEENTRY_DELETE_MACSRC   (CPSW_ALE_POLICER_MATCH_MACSRC)
 Delete MAC source address ALE table entry.
 
#define CPSW_ALE_POLICER_TABLEENTRY_DELETE_MACDST   (CPSW_ALE_POLICER_MATCH_MACDST)
 Delete MAC destination address ALE table entry.
 
#define CPSW_ALE_POLICER_TABLEENTRY_DELETE_IVLAN   (CPSW_ALE_POLICER_MATCH_IVLAN)
 Delete InnerVLAN classifier associated ALE table entry.
 
#define CPSW_ALE_POLICER_TABLEENTRY_DELETE_OVLAN   (CPSW_ALE_POLICER_MATCH_OVLAN)
 Delete OuterVLAN classifier associated ALE table entry.
 
#define CPSW_ALE_POLICER_TABLEENTRY_DELETE_ETHERTYPE   (CPSW_ALE_POLICER_MATCH_ETHERTYPE)
 Delete EtherType classifier associated ALE table entry.
 
#define CPSW_ALE_POLICER_TABLEENTRY_DELETE_IPSRC   (CPSW_ALE_POLICER_MATCH_IPSRC)
 Delete IPv4/IPv6 source address classifier associated ALE table entry.
 
#define CPSW_ALE_POLICER_TABLEENTRY_DELETE_IPDST   (CPSW_ALE_POLICER_MATCH_IPDST)
 Delete IPv4/IPv6 destination address classifier associated ALE table entry.
 
#define CPSW_ALE_POLICER_TABLEENTRY_DELETE_ALL
 Delete all ale entries associated with classifier entries. More...
 

Typedefs

typedef enum CpswAle_Ioctl_e CpswAle_Ioctl
 ALE IOCTL commands.
 
typedef enum CpswAle_PortState_e CpswAle_PortState
 ALE port state.
 
typedef enum
CpswAle_FwdStateLevel_e 
CpswAle_FwdStateLevel
 Forward state level. More...
 
typedef enum CpswAle_RxFilter_e CpswAle_RxFilter
 Packet filtering type (cumulative).
 
typedef struct
CpswAle_MacAddrInfo_s 
CpswAle_MacAddrInfo
 MAC address and VLAN Id.
 
typedef struct
CpswAle_UcastEntryInfo_s 
CpswAle_UcastEntryInfo
 Unicast entry type info apart from MAC address that can be set.
 
typedef struct
CpswAle_SetUcastEntryInArgs_s 
CpswAle_SetUcastEntryInArgs
 Input args for CPSW_ALE_IOCTL_ADD_UCAST command.
 
typedef struct
CpswAle_GetUcastEntryOutArgs_s 
CpswAle_GetUcastEntryOutArgs
 Output args for CPSW_ALE_IOCTL_LOOKUP_UCAST command.
 
typedef struct
CpswAle_McastEntryInfo_s 
CpswAle_McastEntryInfo
 Multicast entry type info apart from MAC address.
 
typedef struct
CpswAle_SetMcastEntryInArgs_s 
CpswAle_SetMcastEntryInArgs
 Input args for CPSW_ALE_IOCTL_ADD_MCAST command.
 
typedef struct
CpswAle_GetMcastEntryInArgs_s 
CpswAle_GetMcastEntryInArgs
 Input args for CPSW_ALE_IOCTL_LOOKUP_MCAST command.
 
typedef struct
CpswAle_GetMcastEntryOutArgs_s 
CpswAle_GetMcastEntryOutArgs
 Output args for CPSW_ALE_IOCTL_LOOKUP_MCAST command.
 
typedef struct CpswAle_VlanIdInfo_s CpswAle_VlanIdInfo
 VLAN id info.
 
typedef struct
CpswAle_VlanEntryInfo_s 
CpswAle_VlanEntryInfo
 VLAN entry type info.
 
typedef struct
CpswAle_GetVlanEntryOutArgs_s 
CpswAle_GetVlanEntryOutArgs
 Output args for CPSW_ALE_IOCTL_LOOKUP_MCAST command.
 
typedef struct
CpswAle_OuiEntryInfo_s 
CpswAle_OuiEntryInfo
 OUI entry info.
 
typedef struct
CpswAle_IPv4EntryInfo_s 
CpswAle_IPv4EntryInfo
 IPv4 entry info.
 
typedef struct
CpswAle_IPv6EntryInfo_s 
CpswAle_IPv6EntryInfo
 IPv6 entry info.
 
typedef struct
CpswAle_SetPortStateInArgs_s 
CpswAle_SetPortStateInArgs
 Input args for CPSW_ALE_IOCTL_SET_PORT_STATE command.
 
typedef struct
CpswAle_GetPortMacAddrInArgs_s 
CpswAle_GetPortMacAddrInArgs
 Input args for CPSW_ALE_IOCTL_GET_PORT_MACADDR command.
 
typedef struct
CpswAle_GetPortMacAddrOutArgs_s 
CpswAle_GetPortMacAddrOutArgs
 Output args for CPSW_ALE_IOCTL_GET_PORT_MACADDR command.
 
typedef struct
CpswAle_DefaultThreadCfg_s 
CpswAle_DefaultThreadCfg
 Input args for CPSW_ALE_IOCTL_SET_DEFAULT_THREADCFG command and out args for CPSW_ALE_IOCTL_GET_DEFAULT_THREADCFG command.
 
typedef enum
CpswAle_TableEntryType_s 
CpswAle_TableEntryType
 Defines ALE table entry type.
 
typedef struct
CpswAle_MacAddrClassifierInfo_s 
CpswAle_MacAddrClassifierInfo
 ALE classifier/policer match parameters for source or destination MAC address.
 
typedef struct
CpswAle_MirrorMatchParams_s 
CpswAle_MirrorMatchParams
 ALE port mirroring configuration for mirroring based on packet match.
 
typedef struct
CpswAle_PortMirroringCfg_s 
CpswAle_PortMirroringCfg
 Input args for CPSW_ALE_IOCTL_SET_PORT_MIRROR_CFG command.
 
typedef struct CpswAle_TrunkCfg_s CpswAle_TrunkCfg
 Input args for CPSW_ALE_IOCTL_SET_TRUNK_CFG command.
 
typedef struct
CpswAle_PortBcastMcastRateLimitParams_s 
CpswAle_PortBcastMcastRateLimitParams
 Broadcast/multicast bandwidth limit configuration parameters.
 
typedef struct
CpswAle_SetBcastMcastRateLimitInArgs_s 
CpswAle_SetBcastMcastRateLimitInArgs
 Input args for CPSW_ALE_IOCTL_SET_BCAST_MCAST_LIMIT command.
 
typedef struct
CpswAle_GetBcastMcastRateLimitOutArgs_s 
CpswAle_GetBcastMcastRateLimitOutArgs
 Output args for CPSW_ALE_IOCTL_GET_BCAST_MCAST_LIMIT IOCTL command.
 
typedef enum
CpswAle_IpAddrClassifierType_e 
CpswAle_IpAddrClassifierType
 IP address classifier type.
 
typedef struct
CpswAle_IpAddrClassifierInfo_s 
CpswAle_IpAddrClassifierInfo
 ALE IP address classifier info.
 
typedef struct
CpswAle_PolicerMatchParams_s 
CpswAle_PolicerMatchParams
 ALE classifier/policer match parameters.
 
typedef struct
CpswAle_SetPolicerEntryInArgs_s 
CpswAle_SetPolicerEntryInArgs
 Input args for CPSW_ALE_IOCTL_SET_POLICER command.
 
typedef struct
CpswAle_SetPolicerEntryOutArgs_s 
CpswAle_SetPolicerEntryOutArgs
 Input args for CPSW_ALE_IOCTL_SET_POLICER command.
 
typedef struct
CpswAle_PolicerEntryOutArgs_s 
CpswAle_PolicerEntryOutArgs
 Output args for CPSW_ALE_IOCTL_GET_POLICER, CPSW_ALE_IOCTL_SET_POLICER_THREADCFG, CPSW_ALE_IOCTL_BLOCK_CLASSIFIER_HOSTPORT and CPSW_ALE_IOCTL_SET_INTERVLAN_CFG commands.
 
typedef struct
CpswAle_GetPolicerStatsInArgs_s 
CpswAle_GetPolicerStatsInArgs
 Input args for CPSW_ALE_IOCTL_GET_POLICER_STATS command.
 
typedef struct
CpswAle_GetPolicerStatsOutArgs_s 
CpswAle_GetPolicerStatsOutArgs
 Output args for CPSW_ALE_IOCTL_GET_POLICER_STATS command.
 
typedef struct
CpswAle_SetPolicerThreadCfgInArgs_s 
CpswAle_SetPolicerThreadCfgInArgs
 Input args for CPSW_ALE_IOCTL_SET_POLICER_THREADCFG command. More...
 
typedef enum
CpswAle_PolicerYellowThres_e 
CpswAle_PolicerYellowThresh
 Yellow threshold value. More...
 
typedef enum
CpswAle_PolicerNoMatchMode_e 
CpswAle_PolicerNoMatchMode
 Policing Match Mode. More...
 
typedef struct
CpswAle_UnregulatedTrafficPolicer_s 
CpswAle_UnregulatedTrafficPolicer
 Unregulated traffic (no classifier hit) policing params.
 
typedef struct
CpswAle_PolicerGlobalCfg_s 
CpswAle_PolicerGlobalCfg
 Policer global configuration parameters.
 
typedef struct
CpswAle_SetInterVlanCfgInArgs_s 
CpswAle_SetInterVlanCfgInArgs
 Output args for CPSW_ALE_IOCTL_SET_DEFAULT_THREADCFG command. More...
 
typedef struct CpswAle_AgingCfg_s CpswAle_AgingCfg
 ALE aging time configuration.
 
typedef struct
CpswAle_InitVlanCfg_s 
CpswAle_InitVlanCfg
 Init time VLAN configuration.
 
typedef struct
CpswAle_MalformedPktSecurityCfg_s 
CpswAle_MalformedPktSecurityCfg
 Malformed packet handling configuration.
 
typedef struct
CpswAle_IPPktSecurityCfg_s 
CpswAle_IPPktSecurityCfg
 IP packet security configuration.
 
typedef struct CpswAle_MacAuthCfg_s CpswAle_MacAuthCfg
 MAC authentication configuration.
 
typedef struct
CpswAle_NetworkSecurityCfg_s 
CpswAle_NetworkSecurityCfg
 High level structure with ALE network security configuration.
 
typedef struct
CpswAle_PortLearningSecurityCfg_s 
CpswAle_PortLearningSecurityCfg
 Port specific auto learning security configuration.
 
typedef struct
CpswAle_PortVlanSecurityCfg_s 
CpswAle_PortVlanSecurityCfg
 Port specific VLAN security configuration.
 
typedef struct
CpswAle_PortMacModeCfg_s 
CpswAle_PortMacModeCfg
 Port MAC mode configuration.
 
typedef CpswAle_VlanEntryInfo CpswAle_PortVlanCfg
 Port default VLAN configuration.
 
typedef struct CpswAle_PortCfg_s CpswAle_PortCfg
 ALE init time port specific configuration params.
 
typedef struct CpswAle_Cfg_s CpswAle_Cfg
 ALE configuration. More...
 

Enumerations

enum  CpswAle_Ioctl_e {
  CPSW_ALE_IOCTL_DUMP_TABLE = CPSW_ALE_PUBLIC_IOCTL(0U), CPSW_ALE_IOCTL_ADD_UCAST = CPSW_ALE_PUBLIC_IOCTL(1U), CPSW_ALE_IOCTL_ADD_MCAST = CPSW_ALE_PUBLIC_IOCTL(2U), CPSW_ALE_IOCTL_ADD_VLAN = CPSW_ALE_PUBLIC_IOCTL(3U),
  CPSW_ALE_IOCTL_ADD_OUI = CPSW_ALE_PUBLIC_IOCTL(4U), CPSW_ALE_IOCTL_ADD_IPV4ADDR = CPSW_ALE_PUBLIC_IOCTL(5U), CPSW_ALE_IOCTL_ADD_IPV6ADDR = CPSW_ALE_PUBLIC_IOCTL(6U), CPSW_ALE_IOCTL_ADD_ETHERTYPE = CPSW_ALE_PUBLIC_IOCTL(7U),
  CPSW_ALE_IOCTL_LOOKUP_UCAST = CPSW_ALE_PUBLIC_IOCTL(8U), CPSW_ALE_IOCTL_LOOKUP_MCAST = CPSW_ALE_PUBLIC_IOCTL(9U), CPSW_ALE_IOCTL_LOOKUP_VLAN = CPSW_ALE_PUBLIC_IOCTL(10U), CPSW_ALE_IOCTL_REMOVE_ADDR = CPSW_ALE_PUBLIC_IOCTL(11U),
  CPSW_ALE_IOCTL_REMOVE_VLAN = CPSW_ALE_PUBLIC_IOCTL(12U), CPSW_ALE_IOCTL_REMOVE_OUI = CPSW_ALE_PUBLIC_IOCTL(13U), CPSW_ALE_IOCTL_REMOVE_IPV4ADDR = CPSW_ALE_PUBLIC_IOCTL(14U), CPSW_ALE_IOCTL_REMOVE_IPV6ADDR = CPSW_ALE_PUBLIC_IOCTL(15U),
  CPSW_ALE_IOCTL_REMOVE_ETHERTYPE = CPSW_ALE_PUBLIC_IOCTL(16U), CPSW_ALE_IOCTL_REMOVE_LEARNED_ENTRIES = CPSW_ALE_PUBLIC_IOCTL(17U), CPSW_ALE_IOCTL_REMOVE_ALL_ENTRIES = CPSW_ALE_PUBLIC_IOCTL(18U), CPSW_ALE_IOCTL_AGE_ALL_ENTRIES = CPSW_ALE_PUBLIC_IOCTL(19U),
  CPSW_ALE_IOCTL_SET_RX_FILTER = CPSW_ALE_PUBLIC_IOCTL(20U), CPSW_ALE_IOCTL_GET_RX_FILTER = CPSW_ALE_PUBLIC_IOCTL(21U), CPSW_ALE_IOCTL_SET_PORT_STATE = CPSW_ALE_PUBLIC_IOCTL(22U), CPSW_ALE_IOCTL_GET_PORT_STATE = CPSW_ALE_PUBLIC_IOCTL(23U),
  CPSW_ALE_IOCTL_GET_PORT_MACADDR = CPSW_ALE_PUBLIC_IOCTL(24U), CPSW_ALE_IOCTL_SET_DEFAULT_THREADCFG = CPSW_ALE_PUBLIC_IOCTL(25U), CPSW_ALE_IOCTL_GET_DEFAULT_THREADCFG = CPSW_ALE_PUBLIC_IOCTL(26U), CPSW_ALE_IOCTL_SET_PORT_MIRROR_CFG = CPSW_ALE_PUBLIC_IOCTL(27U),
  CPSW_ALE_IOCTL_DISABLE_PORT_MIRROR = CPSW_ALE_PUBLIC_IOCTL(28U), CPSW_ALE_IOCTL_SET_TRUNK_CFG = CPSW_ALE_PUBLIC_IOCTL(29U), CPSW_ALE_IOCTL_SET_OAMLPBK_CFG = CPSW_ALE_PUBLIC_IOCTL(30U), CPSW_ALE_IOCTL_SET_BCAST_MCAST_LIMIT = CPSW_ALE_PUBLIC_IOCTL(31U),
  CPSW_ALE_IOCTL_GET_BCAST_MCAST_LIMIT = CPSW_ALE_PUBLIC_IOCTL(32U), CPSW_ALE_IOCTL_DISABLE_BCAST_MCAST_LIMIT = CPSW_ALE_PUBLIC_IOCTL(33U), CPSW_ALE_IOCTL_SET_POLICER = CPSW_ALE_PUBLIC_IOCTL(34U), CPSW_ALE_IOCTL_GET_POLICER = CPSW_ALE_PUBLIC_IOCTL(35U),
  CPSW_ALE_IOCTL_DEL_POLICER = CPSW_ALE_PUBLIC_IOCTL(36U), CPSW_ALE_IOCTL_DUMP_POLICER_ENTRIES = CPSW_ALE_PUBLIC_IOCTL(37U), CPSW_ALE_IOCTL_GET_POLICER_STATS = CPSW_ALE_PUBLIC_IOCTL(38U), CPSW_ALE_IOCTL_SET_POLICER_THREADCFG = CPSW_ALE_PUBLIC_IOCTL(39U),
  CPSW_ALE_IOCTL_SET_POLICER_GLOBAL_CFG = CPSW_ALE_PUBLIC_IOCTL(40U), CPSW_ALE_IOCTL_GET_POLICER_GLOBAL_CFG = CPSW_ALE_PUBLIC_IOCTL(41U), CPSW_ALE_IOCTL_DEL_ALL_POLICER_THREADID = CPSW_ALE_PUBLIC_IOCTL(42U), CPSW_ALE_IOCTL_BLOCK_CLASSIFIER_HOSTPORT = CPSW_ALE_PUBLIC_IOCTL(43U),
  CPSW_ALE_IOCTL_SET_INTERVLAN_CFG = CPSW_ALE_PUBLIC_IOCTL(44U), CPSW_ALE_IOCTL_GET_INTERVLAN_CFG = CPSW_ALE_PUBLIC_IOCTL(45U)
}
 ALE IOCTL commands. More...
 
enum  CpswAle_PortState_e { CPSW_ALE_PORTSTATE_DISABLED = 0U, CPSW_ALE_PORTSTATE_BLOCKED, CPSW_ALE_PORTSTATE_LEARN, CPSW_ALE_PORTSTATE_FORWARD }
 ALE port state. More...
 
enum  CpswAle_FwdStateLevel_e { CPSW_ALE_FWDSTLVL_FWD = 0U, CPSW_ALE_FWDSTLVL_BLK_FWD_LRN, CPSW_ALE_FWDSTLVL_FWD_LRN }
 Forward state level. More...
 
enum  CpswAle_RxFilter_e {
  CPSW_ALE_RXFILTER_NOTHING = 0U, CPSW_ALE_RXFILTER_DIRECT, CPSW_ALE_RXFILTER_BCAST, CPSW_ALE_RXFILTER_MCAST,
  CPSW_ALE_RXFILTER_ALLMCAST, CPSW_ALE_RXFILTER_ALL
}
 Packet filtering type (cumulative). More...
 
enum  CpswAle_TableEntryType_s {
  CPSW_ALE_TABLE_ENTRY_TYPE_ADDR, CPSW_ALE_TABLE_ENTRY_TYPE_VLAN, CPSW_ALE_TABLE_ENTRY_TYPE_ETHERTYPE, CPSW_ALE_TABLE_ENTRY_TYPE_OUI,
  CPSW_ALE_TABLE_ENTRY_TYPE_IPV4, CPSW_ALE_TABLE_ENTRY_TYPE_IPV6
}
 Defines ALE table entry type. More...
 
enum  CpswAle_IpAddrClassifierType_e { CPSW_ALE_IPADDR_CLASSIFIER_IPV4 = 0x00U, CPSW_ALE_IPADDR_CLASSIFIER_IPV6 = 0x01U }
 IP address classifier type. More...
 
enum  CpswAle_PolicerYellowThres_e {
  CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_100, CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_50, CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_33, CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_25,
  CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_20, CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_17, CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_14, CPSW_ALE_POLICER_YELLOWTHRESH_DROP_PERCENT_13
}
 Yellow threshold value. More...
 
enum  CpswAle_PolicerNoMatchMode_e { CPSW_ALE_POLICER_NOMATCH_MODE_GREEN, CPSW_ALE_POLICER_NOMATCH_MODE_YELLOW, CPSW_ALE_POLICER_NOMATCH_MODE_RED, CPSW_ALE_POLICER_NOMATCH_MODE_UNREGULATED_TRAFFIC_POLICER }
 Policing Match Mode. More...
 

Detailed Description

This file contains the type definitions and helper macros for the CPSW Address Lookup Engine (ALE) module interface.


Copyright 2020, Texas Instruments Incorporated