Download FreeRTOS

Quality RTOS & Embedded Software

FreeRTOS website now available in Simplified Chinese
New FreeRTOS Long Term Support version now available.
FreeRTOS Extended Maintenance Program (EMP) registration now open.
FreeRTOS-Plus-TCP v3.0.0 released:
Featured FreeRTOS IoT Integrations:
NOTE: This FreeRTOS Labs project is adding IPv6 functionality to the currently IPv4 only FreeRTOS-Plus-TCP TCP/IP stack. While the resultant dual IPv4 / IPv6 version is fully functional, it is still undergoing optimisation, test coverage and documentation improvements, and memory safety checks. Until that work is complete the code is available as a branch of the FreeRTOS-Plus-TCP GitHub repo.

FreeRTOS-Plus-TCP IPv6 Functionality


IPv6 functionality can be included as a compile time option. When included, the IPv6 IP-addresses can be configured either statically, or automatically using either Router Advertisement (RA) (along with SLAAC) or DHCP version 6 (DHCPv6).

When using Stateless address auto-configuration (SLAAC), the device will first receive the address of a network prefix. Then it will take a random IP-address that is valid, and it will test if the address is already in use in the LAN. These addresses can be public Internet addresses, which means that NAT is not needed, only a IPv6 gateway.

The IPv6 functionality adds 3 new modules:


Introduces the concept of end-points and address resolution. See the page about “multiple interfaces“. These are necessary to get both IPv4 and IPv6 addresses.


Neighbourhood Detection: this handles all ICMPv6 messages. It does the (MAC-) address resolution, along with a cache, ping and router solicitation.


This is the DHCPv6 client. Note that it will create a session for each of the end-point that has DHCP enabled.


This implements Router Solicitation and SLAAC. An IPv6 router advertises a network prefix, and the end-point will select its own IP-address. By issuing Neighbour Solicitation messages, it will find out if the chosen address is unique.


The how to setup and run a demo for IPv6 page provides instructions on setting up an IPv6 demo

IPv6 functions

The IPv6 and multiple interface functions page provides information on new functions required to use both IPv6 and multiple interfaces.

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