Quality RTOS & Embedded Software

AWS Reference Integrations:
Embedded World track keynote:
FreeRTOS+TCP is currently an IPv4 TCP/IP stack, but IPv6 functionality along with support for multiple network Interfaces is available as a FreeRTOS Labs project. The IPv6/Multi-interface version is fully functional but still undergoing optimization, test coverage and documentation improvements, and memory safety checks. Until that work is complete the code is available on a branch of the FreeRTOS+TCP GitHub repo separately from the main FreeRTOS downloads.

IPv6 functionality (currently FreeRTOS Labs only)


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.