1.2.5.2.63 TCPIP_MODULE_MAC_PIC32INT_CONFIG Structure

C

typedef struct {
uint16_t nTxDescriptors;
uint16_t rxBuffSize;
uint16_t nRxDescriptors;
uint16_t nRxDedicatedBuffers;
uint16_t nRxInitBuffers;
uint16_t rxLowThreshold;
uint16_t rxLowFill;
uint16_t linkInitDelay;
TCPIP_ETH_OPEN_FLAGS ethFlags;
uintptr_t ethModuleId;
const struct DRV_ETHPHY_OBJECT_BASE_TYPE* pPhyBase;
const struct DRV_ETHPHY_INIT* pPhyInit;
} TCPIP_MODULE_MAC_PIC32INT_CONFIG;

Description

Ethernet MAC Initialization Data.

This structure defines the MAC initialization data for the PIC32 MAC/Ethernet controller.

Members

MembersDescription
nTxDescriptorsNumber of TX descriptors.
rxBuffSizeSize of the corresponding RX buffer.
nRxDescriptorsNumber of RX descriptors Has to be high enough to accommodate both dedicated and non-dedicated RX buffers.
nRxDedicatedBuffersNumber of MAC dedicated RX buffers These buffers/packets are owned by the MAC and are not returned to the packet pool They are allocated at MAC initialization time using pktAllocF and freed at MAC deinitialize time using pktFreeF Could be 0, if only not dedicated buffers are needed. For best performance usually it's best to have some dedicated buffers so as to minimize the run time allocations.
nRxInitBuffersNumber of MAC non dedicated RX buffers allocated at the MAC initialization pktAllocF Note that these buffers are allocated in addition of the nRxDedicatedBuffers Freed at run time using pktFreeF.
rxLowThresholdMinimum threshold for the buffer replenish process Whenever the number of RX scheduled buffers is <= than this threshold the MAC driver will allocate new non-dedicated buffers that will be freed at run time using pktFreeF Setting this value to 0 disables the buffer replenishing process.
rxLowFillNumber of RX buffers to allocate when below threshold condition is detected If 0, the MAC driver will allocate (scheduled buffers - rxThres) If !0, the MAC driver will allocate exactly rxLowFill buffers.
linkInitDelayDelay to wait after the lomk is coming up (milliseconds) for insuring that the PHY is ready to transmit data.
ethFlagsFlags to use for the ETH connection.
ethModuleIdEthernet module ID for this driver instance: a plib ETH Id value.
pPhyBaseNon-volatile pointer to the PHY basic object associated with this MAC.
pPhyInitNon-volatile pointer to the PHY initialization data.