PDK API Guide for J721E
EnetUdma_AutoReclaimPrms Struct Reference

Detailed Description

Enet UDMA channel/flow auto-reclaim config struct.

Data Fields

bool enableFlag
 
EnetUdma_DmaDescQHandle hDmaDescPool
 
Udma_RingHandle hReclaimRing
 

Field Documentation

◆ enableFlag

bool EnetUdma_AutoReclaimPrms::enableFlag

Auto-reclaim enable flag Auto-reclaim or auto-recycling of buffer descriptors enables usage of same buffer descriptor between RX flow and TX channel. For example - by using auto-reclaim of RX FQ as TX CQ, we don't need to call EnetDma_retrieveTxPktQ and EnetUdma_submitRxReadyPackets in packet forwarding use-cases like SW interVLAN routing Note that current design offers/provides way to use TX FQ as RX CQ but not vice versa (RX CQ as TX FQ), similarly for RX FQ as TX CQ case. This is done due to UDMA HW design where FQ ring number is same as channel number. Basically any ring can't be attached as FQ ring to TX channel. Though this limitation doesn't exist for RX flow, we keep design consistent and enable auto-reclaim of RX FQ as TX CQ

◆ hDmaDescPool

EnetUdma_DmaDescQHandle EnetUdma_AutoReclaimPrms::hDmaDescPool

Handle to free DMA descriptor pool where a free descriptors retrieved in EnetDma_retrieveRxPktQ() function. This is as we bypass EnetDma_retrieveTxPktQ() in auto-reclaim

◆ hReclaimRing

Udma_RingHandle EnetUdma_AutoReclaimPrms::hReclaimRing

handle to ring used in auto-reclaim. For example when using TX CQ --> RX FQ, the RX FQ ring handle is passed by an app to be used as TX CQ so default ring should not be allocated/used