/* NOTE: 2 virtual ports should not have same tx channel allocated to them */ static EthFwVirtPort_VirtPortCfg gEthApp_virtPortCfg[] = { { .remoteCoreId = IPC_MPU1_0, .portId = ETHREMOTECFG_SWITCH_PORT_0, #if defined(ETHFW_EST_DEMO_SUPPORT) || defined(ETHFW_DEMO_SUPPORT) .numTxCh = 1U, .txCh = { [0] = ENET_RM_TX_CH_4 }, #else .numTxCh = 2U, .txCh = { [0] = ENET_RM_TX_CH_4, [1] = ENET_RM_TX_CH_7 }, #endif /* Number of rx flow for this virtual port */ .numRxFlow = 1U, /* To create custom policers on rx flows clients need to give flow information (i.e. numCustomPolicers and customPolicersInArgs) * for each allocated flow. * Map the customPolicersInArgs with global custom policer's (i.e. gEthApp_customPolicers) array. * For example if numRxFlow is 1 and we want to create 1 custom policer to match with 2'nd custom policer in global array do this: * .rxFlowsInfo = { * [0] = { * .numCustomPolicers = 1U, * .customPolicersInArgs = { * [0] = &gEthApp_customPolicers[2U], * } * } * } * It is important to note that number of custom policers per rx flow is <= ETHREMOTECFG_POLICER_PERFLOW */ .numMacAddress = 1U, .clientIdMask = ETHFW_BIT(ETHREMOTECFG_CLIENTID_LINUX) | ETHFW_BIT(ETHREMOTECFG_CLIENTID_QNX), }, { /* Virtual switch port for Ethfw, using ETHREMOTECFG_SWITCH_PORT_LAST */ .remoteCoreId = IPC_MCU2_0, .portId = ETHREMOTECFG_SWITCH_PORT_LAST, #if defined(ETHFW_EST_DEMO_SUPPORT) || defined(ETHFW_DEMO_SUPPORT) .numTxCh = 3U, .txCh = { [0] = ENET_RM_TX_CH_0, [1] = ENET_RM_TX_CH_7, [2] = ENET_RM_TX_CH_6 }, #else .numTxCh = 2U, .txCh = { [0] = ENET_RM_TX_CH_0, [1] = ENET_RM_TX_CH_6 }, #endif .numRxFlow = 5U, .numMacAddress = 1U, .clientIdMask = ETHFW_BIT(ETHREMOTECFG_CLIENTID_NONE), }, };