74 #define ICSSG_PUBLIC_IOCTL(x) (ENET_IOCTL_PER_BASE | \ 75 ENET_IOCTL_PER_ICSSG | \ 79 #define ICSSG_PORT_NUM (3U) 82 #define ICSSG_MAC_PORT_MAX (ICSSG_PORT_NUM - 1U) 86 #define ICSSG_PER_DUALMAC_PORT_MAX (1U) 89 #define ICSSG_PER_SWITCH_PORT_MAX (ICSSG_MAC_PORT_MAX) 93 #define ICSSG_INSTANCE_NUM (3U) 95 #define ICSSG_INSTANCE_NUM (2U) 99 #define ICSSG_MAX_NUM_BUFFER_POOLS (24U) 102 #define ICSSG_DUALMAC_TX_CH_NUM (4U) 105 #define ICSSG_DUALMAC_RX_FLOW_NUM (8U) 108 #define ICSSG_SWITCH_TX_CH_NUM (8U) 111 #define ICSSG_SWITCH_RX_FLOW_NUM (8U) 114 #define ICSSG_DUALMAC_PORT_BUFFER_POOL_NUM (0U) 117 #define ICSSG_DUALMAC_HOST_BUFFER_POOL_NUM (8U) 120 #define ICSSG_DUALMAC_HOST_EGRESS_QUEUE_NUM (2U) 123 #define ICSSG_SWITCH_PORT_BUFFER_POOL_NUM (8U) 126 #define ICSSG_SWITCH_HOST_BUFFER_POOL_NUM (16U) 129 #define ICSSG_SWITCH_HOST_EGRESS_QUEUE_NUM (2U) 132 #define ICSSG_HOST_EGRESS_BUFFER_PADDING (2048U) 135 #define ICSSG_SCRATCH_BUFFER_SIZE (2048U) 149 #define ICSSG_FDB_ENTRY_P0_MEMBERSHIP (ENET_BIT(0U)) 156 #define ICSSG_FDB_ENTRY_P1_MEMBERSHIP (ENET_BIT(1U)) 163 #define ICSSG_FDB_ENTRY_P2_MEMBERSHIP (ENET_BIT(2U)) 170 #define ICSSG_FDB_ENTRY_AGEABLE (ENET_BIT(3U)) 178 #define ICSSG_FDB_ENTRY_BLOCK (ENET_BIT(4U)) 185 #define ICSSG_FDB_ENTRY_SECURE (ENET_BIT(5U)) 193 #define ICSSG_FDB_ENTRY_TOUCHED (ENET_BIT(6U)) 200 #define ICSSG_FDB_ENTRY_VALID (ENET_BIT(7U)) 206 #define ICSSG_RATE_SRC_SEL_FT1_MATCH0 (0U) 207 #define ICSSG_RATE_SRC_SEL_FT1_MATCH1 (1U) 208 #define ICSSG_RATE_SRC_SEL_FT1_MATCH2 (2U) 209 #define ICSSG_RATE_SRC_SEL_FT1_MATCH3 (3U) 210 #define ICSSG_RATE_SRC_SEL_FT1_MATCH4 (4U) 211 #define ICSSG_RATE_SRC_SEL_FT1_MATCH5 (5U) 212 #define ICSSG_RATE_SRC_SEL_FT1_MATCH6 (6U) 213 #define ICSSG_RATE_SRC_SEL_FT1_MATCH7 (7U) 214 #define ICSSG_RATE_SRC_SEL_FT3_MATCH0 (8U) 215 #define ICSSG_RATE_SRC_SEL_FT3_MATCH1 (9U) 216 #define ICSSG_RATE_SRC_SEL_FT3_MATCH2 (10U) 217 #define ICSSG_RATE_SRC_SEL_FT3_MATCH3 (11U) 218 #define ICSSG_RATE_SRC_SEL_FT3_MATCH4 (12U) 219 #define ICSSG_RATE_SRC_SEL_FT3_MATCH5 (13U) 220 #define ICSSG_RATE_SRC_SEL_FT3_MATCH6 (14U) 221 #define ICSSG_RATE_SRC_SEL_FT3_MATCH7 (15U) 222 #define ICSSG_RATE_SRC_SEL_FT3_MATCH8 (16U) 223 #define ICSSG_RATE_SRC_SEL_FT3_MATCH9 (17U) 224 #define ICSSG_RATE_SRC_SEL_FT3_MATCH10 (18U) 225 #define ICSSG_RATE_SRC_SEL_FT3_MATCH11 (19U) 226 #define ICSSG_RATE_SRC_SEL_FT3_MATCH12 (20U) 227 #define ICSSG_RATE_SRC_SEL_FT3_MATCH13 (21U) 228 #define ICSSG_RATE_SRC_SEL_FT3_MATCH14 (22U) 229 #define ICSSG_RATE_SRC_SEL_FT3_MATCH15 (23U) 230 #define ICSSG_RATE_SRC_SEL_FT_RX_UC (24U) 231 #define ICSSG_RATE_SRC_SEL_FT_RX_MC (25U) 232 #define ICSSG_RATE_SRC_SEL_FT_RX_BC (26U) 233 #define ICSSG_RATE_SRC_SEL_FT_RX_SAV (27U) 234 #define ICSSG_RATE_SRC_SEL_FT_RX_FWD (28U) 235 #define ICSSG_RATE_SRC_SEL_FT_RX_RCV (29U) 236 #define ICSSG_RATE_SRC_SEL_FT_RX_VLAN (30U) 237 #define ICSSG_RATE_SRC_SEL_FT_RX_DA_P (31U) 238 #define ICSSG_RATE_SRC_SEL_FT_RX_DA_I (32U) 239 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW0 (33U) 240 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW1 (34U) 241 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW2 (35U) 242 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW3 (36U) 243 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW4 (37U) 244 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW5 (38U) 245 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW6 (39U) 246 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW7 (40U) 247 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW8 (41U) 248 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW9 (42U) 249 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW10 (43U) 250 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW11 (44U) 251 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW12 (45U) 252 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW13 (46U) 253 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW14 (47U) 254 #define ICSSG_RATE_SRC_SEL_RX_CLASS_RAW15 (48U) 257 #define ICCSG_RX_CLASS_DATA_FT3_MATCH0 (0U) 258 #define ICCSG_RX_CLASS_DATA_FT3_MATCH1 (1U) 259 #define ICCSG_RX_CLASS_DATA_FT3_MATCH2 (2U) 260 #define ICCSG_RX_CLASS_DATA_FT3_MATCH3 (3U) 261 #define ICCSG_RX_CLASS_DATA_FT3_MATCH4 (4U) 262 #define ICCSG_RX_CLASS_DATA_FT3_MATCH5 (5U) 263 #define ICCSG_RX_CLASS_DATA_FT3_MATCH6 (6U) 264 #define ICCSG_RX_CLASS_DATA_FT3_MATCH7 (7U) 265 #define ICCSG_RX_CLASS_DATA_FT3_MATCH8 (8U) 266 #define ICCSG_RX_CLASS_DATA_FT3_MATCH9 (9U) 267 #define ICCSG_RX_CLASS_DATA_FT3_MATCH10 (10U) 268 #define ICCSG_RX_CLASS_DATA_FT3_MATCH11 (11U) 269 #define ICCSG_RX_CLASS_DATA_FT3_MATCH12 (12U) 270 #define ICCSG_RX_CLASS_DATA_FT3_MATCH13 (13U) 271 #define ICCSG_RX_CLASS_DATA_FT3_MATCH14 (14U) 272 #define ICCSG_RX_CLASS_DATA_FT3_MATCH15 (15U) 273 #define ICCSG_RX_CLASS_DATA_FT1_MATCH0 (16U) 274 #define ICCSG_RX_CLASS_DATA_FT1_MATCH1 (17U) 275 #define ICCSG_RX_CLASS_DATA_FT1_MATCH2 (18U) 276 #define ICCSG_RX_CLASS_DATA_FT1_MATCH3 (19U) 277 #define ICCSG_RX_CLASS_DATA_FT1_MATCH4 (20U) 278 #define ICCSG_RX_CLASS_DATA_FT1_MATCH5 (21U) 279 #define ICCSG_RX_CLASS_DATA_FT1_MATCH6 (22U) 280 #define ICCSG_RX_CLASS_DATA_FT1_MATCH7 (23U) 281 #define ICCSG_RX_CLASS_DATA_FT_RX_DA_I (24U) 282 #define ICCSG_RX_CLASS_DATA_FT_RX_DA_P (25U) 283 #define ICCSG_RX_CLASS_DATA_FT_RX_VLAN (26U) 284 #define ICCSG_RX_CLASS_DATA_FT_RX_RCV (27U) 285 #define ICCSG_RX_CLASS_DATA_FT_RX_FWD (28U) 286 #define ICCSG_RX_CLASS_DATA_FT_RX_BC (29U) 287 #define ICCSG_RX_CLASS_DATA_FT_RX_MC (30U) 288 #define ICCSG_RX_CLASS_DATA_FT_RX_SAV (31U) 297 typedef enum Icssg_Instance_Num_e
313 typedef struct Icssg_TxTsEvtCbInfo_s
326 typedef enum Icssg_Ioctl_e
708 typedef enum Icssg_QueuePreemptMode_e
720 typedef enum Icssg_QueueForwardMode_e
732 typedef enum Icssg_PortState_e
767 typedef struct IcssgMacPort_SetPortStateInArgs_s
779 typedef enum Icssg_AcceptFrameCheck_e
794 typedef struct Icssg_SetAcceptFrameCheckInArgs_s
806 typedef struct Icssg_MacAddr_s
815 typedef struct IcssgMacPort_SetMacAddressInArgs_s
828 typedef struct IcssgMacPort_PreemptSetMinFragSizeRemoteInArgs_s
840 typedef struct Icssg_VlanFidParams_s
877 typedef struct Icssg_VlanFidEntry_s
889 typedef struct Icssg_FdbEntry_s
905 typedef enum Icssg_PreemptVerifyState_e
929 typedef struct Icssg_DfltVlanCfg_s
944 typedef struct Icssg_MacPortDfltVlanCfgInArgs_s
957 typedef struct Icssg_IngressRateLim_s
1004 typedef struct Icssg_Cfg_s
1037 typedef struct IccsgMacPort_Cfg_s
Icssg_AcceptFrameCheck acceptFrameCheck
Definition: icssg.h:1049
Get status of whether preemption is active or not.
Definition: icssg.h:502
Disable verify state machine.
Definition: icssg.h:524
Update a VLAN table entry.
Definition: icssg.h:370
uint16_t vlanId
Definition: icssg.h:935
Populate VLAN table with default VLAN entry configuration.
Definition: icssg.h:359
Get minimum fragment size supported by firmware.
Definition: icssg.h:546
Enet_Type
Ethernet peripheral type.
Definition: enet_types.h:195
Enet_MacPort macPort
Definition: icssg.h:960
uint32_t destAddrMaskLow
Definition: icssg.h:980
uint8_t rateIndex
Definition: icssg.h:964
uint32_t len
Definition: icssg.h:988
Icssg_QueueForwardMode
Queue forward mode: cut-through or store-and-forward.
Definition: icssg.h:720
uint32_t rateLimit
Definition: icssg.h:962
uint32_t txTsId
Definition: icssg.h:317
uint32_t destAddrLow
Definition: icssg.h:978
MAC port interface.
Definition: enet_mod_macport.h:273
Set the criteria for accepting VLAN tagged/untagged packets.
Definition: icssg.h:691
Default VLAN configuration.
Definition: icssg.h:929
Enet_MacPort macPort
Definition: icssg.h:932
Input args for ICSSG_MACPORT_IOCTL_SET_PORT_STATE command.
Definition: icssg.h:767
uint64_t agingPeriod
Definition: icssg.h:1007
TimeSync configuration parameters.
Definition: icssg_timesync.h:92
Set the default VLAN ID and PCP bits for host port.
Definition: icssg.h:607
#define ICSSG_PUBLIC_IOCTL(x)
Helper macro to create IOCTL commands for ICSSG per.
Definition: icssg.h:74
uint32_t Icssg_getSliceNum(Enet_Type enetType, uint32_t instId, Enet_MacPort macPort)
Configure ingress rate limiting.
Definition: icssg.h:702
Enable flooding of unicast packets to host port.
Definition: icssg.h:642
bool floodToHost
Definition: icssg.h:871
VLAN configuration parameters.
Definition: enet_mod_port.h:67
uint8_t index
Definition: icssg.h:971
bool p2Member
Definition: icssg.h:853
MAC address.
Definition: icssg.h:806
const void * dmaCfg
Definition: icssg.h:1016
Input args for ICSSG_MACPORT_IOCTL_SET_MACADDR command.
Definition: icssg.h:815
Mdio_Cfg mdioCfg
Definition: icssg.h:1022
uint32_t classDataAndTerm
Definition: icssg.h:968
uint32_t patternHigh
Definition: icssg.h:993
uint32_t patternMaskHigh
Definition: icssg.h:995
VLAN FID table entry.
Definition: icssg.h:877
Disable flooding of multicast packets to host port.
Definition: icssg.h:675
Enable flooding of multicast packets to host port.
Definition: icssg.h:664
#define ENET_MAC_ADDR_LEN
MAC address length in bytes/octets.
Definition: enet_types.h:153
This file contains the type definitions and helper macros for the Ethernet PHY interface.
uint32_t patternMaskLow
Definition: icssg.h:994
bool mcastFloodEn
Definition: icssg.h:1046
bool ucastFloodEn
Definition: icssg.h:1043
EnetMacPort_Interface mii
Definition: icssg.h:1028
bool p1Member
Definition: icssg.h:850
EnetPort_VlanCfg vlanCfg
Definition: icssg.h:1052
Icssg_VlanFidParams vlanFidParams
Definition: icssg.h:883
Get VLAN entry for VLAN table for requested VLAN id.
Definition: icssg.h:381
bool promiscEn
Definition: icssg.h:1040
uint8_t type
Definition: icssg.h:972
Icssg_PortState
Port states.
Definition: icssg.h:732
uint32_t start
Definition: icssg.h:984
uint16_t preemptMinFrageSizeRemote
Definition: icssg.h:834
Enable verify state machine.
Definition: icssg.h:513
Set port state.
Definition: icssg.h:403
EnetPort_VlanCfg vlanCfg
Definition: icssg.h:1010
void IcssgMacPort_initCfg(IcssgMacPort_Cfg *macPortCfg)
uint32_t startAuto
Definition: icssg.h:985
Disable flooding of unicast packets to host port.
Definition: icssg.h:653
Add FDB entry.
Definition: icssg.h:414
bool hostMember
Definition: icssg.h:847
uint32_t type
Definition: icssg.h:990
uint8_t specialFramePrio
Definition: icssg.h:1060
Icssg_AcceptFrameCheck
Acceptable frame check criteria.
Definition: icssg.h:779
uint8_t fid
Definition: icssg.h:844
uint16_t ft1Len
Definition: icssg.h:974
uint16_t vlanId
Definition: icssg.h:880
Resource manager configuration parameters.
Definition: enet_rm.h:336
Get current state of the verify state machine.
Definition: icssg.h:535
uint32_t config
Definition: icssg.h:989
Icssg_PreemptVerifyState
Preemption Verify State Machine states.
Definition: icssg.h:905
bool p2Tagged
Definition: icssg.h:865
uint64_t ts
Definition: icssg.h:320
bool hostTagged
Definition: icssg.h:857
This file contains the private type definitions and helper macros for Enet Resource Manager.
Input args for ICSSG_MACPORT_IOCTL_PREEMPT_SET_MIN_FRAG_SIZE_REMOTE command.
Definition: icssg.h:828
Input arguments for ICSSG_PER_IOCTL_VLAN_SET_MACPORT_DFLT_VID command.
Definition: icssg.h:944
int16_t vlanId
Definition: icssg.h:895
Enet_MacPort macPort
Definition: icssg.h:947
Enet_MacPort macPort
Definition: icssg.h:797
Icssg_QueuePreemptMode
Queue preemptive mode: express or preemptive.
Definition: icssg.h:708
Input arguments for ICSSG_MACPORT_IOCTL_SET_INGRESS_RATE_LIM command.
Definition: icssg.h:957
EnetPort_VlanCfg vlanCfg
Definition: icssg.h:951
Icssg TX timestamp event callback info structure. This is passed to application when TX timestamp is ...
Definition: icssg.h:313
uint32_t startLen
Definition: icssg.h:986
EnetRm_ResCfg resCfg
Definition: icssg.h:1019
Enet_MacPort macPort
Definition: icssg.h:818
ICSSG mac port configuration parameters.
Definition: icssg.h:1037
uint8_t notMask
Definition: icssg.h:966
Input args for ICSSG_MACPORT_IOCTL_SET_ACCEPT_FRAME_CHECK command.
Definition: icssg.h:794
Get status of preemption on TX.
Definition: icssg.h:491
MDIO module configuration.
Definition: mdio.h:107
Enable promiscuous mode.
Definition: icssg.h:337
Set the default VLAN ID and PCP bits for specified MAC port.
Definition: icssg.h:618
Icssg_PortState portState
Definition: icssg.h:773
ICSSG peripheral configuration parameters.
Definition: icssg.h:1004
Icssg_Ioctl
ICSSG IOCTL commands.
Definition: icssg.h:326
uint32_t patternLow
Definition: icssg.h:992
bool p1Tagged
Definition: icssg.h:861
#define ENET_PRI_NUM
Packet priority.
Definition: enet_types.h:165
Add MAC address of the interface.
Definition: icssg.h:458
This file contains the type definitions and helper macros for ICSSG Statistics interface.
Enet_MacPort macPort
Definition: icssg.h:831
Disable preemption on TX.
Definition: icssg.h:480
uint32_t cycleTimeNs
Definition: icssg.h:1031
uint32_t destAddrHigh
Definition: icssg.h:979
VLAN FID entry parameters.
Definition: icssg.h:840
uint32_t classDataOrTerm
Definition: icssg.h:969
uint32_t rateSrcSel
Definition: icssg.h:963
uint16_t ft1Start
Definition: icssg.h:973
Set the aging period of the FDB.
Definition: icssg.h:631
Enet_MacPort
MAC port.
Definition: enet_types.h:405
uint8_t pcp
Definition: icssg.h:938
Disable promiscuous mode.
Definition: icssg.h:348
Add minimum fragment size.
Definition: icssg.h:557
uint32_t jmpOffset
Definition: icssg.h:987
Add MAC address of the host port interface.
Definition: icssg.h:568
uint8_t classIndex
Definition: icssg.h:965
uint32_t destAddrMaskHigh
Definition: icssg.h:981
Delete all FDB entries.
Definition: icssg.h:436
This file contains the type definitions and helper macros for ICSSG TimeSync.
uint32_t typeMask
Definition: icssg.h:991
Enet_MacPort macPort
Definition: icssg.h:770
Enable preemption on TX.
Definition: icssg.h:469
This file contains the type definitions and helper macros for the MDIO module interface.
uint16_t ft1Cfg
Definition: icssg.h:975
IcssgTimeSync_Cfg timeSyncCfg
Definition: icssg.h:1025
Delete FDB entry.
Definition: icssg.h:425
bool streamVid
Definition: icssg.h:868
uint8_t classSel
Definition: icssg.h:967
This file contains the type definitions and helper macros for the Ethernet PHY interface.
Remote all ageable entries.
Definition: icssg.h:447
FDB entry configuration.
Definition: icssg.h:889
Icssg_Instance_Num
ICSSG instance numbers.
Definition: icssg.h:297
Icssg_AcceptFrameCheck acceptFrameCheck
Definition: icssg.h:800