Quality RTOS & Embedded Software

LIBRARIES
WHAT'S NEW
FreeRTOS:
AWS Reference Integrations:
FreeRTOS SMP:
Embedded World track keynote:
This FreeRTOS Labs project is adding IPv6 functionality to the currently IPv4 only FreeRTOS+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+TCP GitHub repo.

FreeRTOS+TCP IPv6 Functionality

Introduction

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:

FreeRTOS_Routing

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.

FreeRTOS_ND

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

FreeRTOS_DHCPv6

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

FreeRTOS_RA

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.


Demo

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.