Download FreeRTOS

Quality RTOS & Embedded Software

Simplifying Authenticated Cloud Connectivity for Any Device.
Designing an energy efficient and cloud-connected IoT solution with CoAP.
Introducing FreeRTOS Kernel version 11.0.0:
FreeRTOS Roadmap and Code Contribution process.
OPC-UA over TSN with FreeRTOS.

[Ethernet Driver Porting API]

eFrameProcessingResult_t eConsiderFrameForProcessing( uint8_t *pucPayloadBuffer );

Examines a received Ethernet frame to determine if, taking into account the current state of the TCP/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 TCP/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.


pucPayloadBuffer   A pointer to the start of the Ethernet frame being inspected.


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 TCP/IP stack).

Example usage:

Examples are provided on the Porting FreeRTOS to a Different Microcontroller page.

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.