[Ethernet Driver Porting API]
eFrameProcessingResult_t eConsiderFrameForProcessing( uint8_t *pucEthernetBuffer );
Examines a received Ethernet frame to determine if, taking into account the current state of the IP stack, the Ethernet frame should be processed or dropped.
If ipconfigETHERNET_DRIVER_FILTERS_FRAME_TYPES is set to 1 in FreeRTOSIPConfig.h then eConsiderFrameForProcessing() should be called by the network interface port layer to determine whether received Ethernet frames should be sent to the IP stack for processing. If ipconfigETHERNET_DRIVER_FILTERS_FRAME_TYPES is set to 0 in FreeRTOSIPConfig.h then the IP stack will itself call eConsiderFrameForProcessing(), but only after it has already received the Ethernet frame from the network interface port layer.
It might not be necessary to call eConsiderFrameForProcessing() if the embedded Ethernet peripheral hardware is itself configured to filter Ethernet frames.
A pointer to the start of the Ethernet frame being
eProcessBuffer is returned if the Ethernet frame needs processing. eReleaseBuffer is returned if the Ethernet frame can be dropped (in which case both the network buffer descriptor that references the Ethernet frame, and the Ethernet frame itself, must both be returned to the IP stack).
Examples are provided on the Porting FreeRTOS to a Different Microcontroller page.