Freertos+tcp Multi-Interface General Q's

Is the freeRTOS+TCP experimental multi-interface up to date with the current, non-experimental version in regards to security vulnerability fixes. I keep seeing FreeRTOS+TCP security vulnerability articles when researching on google. Just want to put my mind at ease.

I want to use this TCP stack on a micro controller that has two MACs, this should do the trick, right?

My other option is lwip, which I’m unfamiliar with and which I have read lacks multi-interface support. I’ve used freeRTOS and like its documentation and ease of use. This will be my first venture into FreeRTOS+TCP

As far as I am aware it will be up to date with the single version, and if not, it will be before it is merged to become the master. You can read about some of the work we are doing to check memory safety here: https://www.freertos.org/2020/02/ensuring-the-memory-safety-of-freertos-part-1.html

I think that you are referring to an article written in 2018, in which some security issues were found during a test. Those issues have been repaired.

To answer your other questions:

I want to use this TCP stack on a micro controller that has
two MACs, this should do the trick, right?

The new version of FreeRTOS+TCP will be able to handle more than one EMAC’s and each EMAC can be assigned more than one IP-address.

My other option is lwip, which I’m unfamiliar with
and which I have read lacks multi-interface support

I think that lwIP also supports multiple adapters.

Thanks Richard and Hein. Looking back the LWIP issues with multi-interface are coming from dated forum posts.

Anyway I’ve been trying to port the the TCP+ multi over and experiencing issues with the FreeRTOS_DHCP_IPv6.c file.

I’m getting an error that DHCPMessage_IPv4_t is not defined (It’s not defined in the file). Anyway there is a DHCPMessage_IPv6_t struct defined within the file. I can just add the IPv4 struct, but I’m uncertain if this was the program writer’s original intent, or if this is just a bug and the programmer meant to write IPv6.

Thoughts?

The source file FreeRTOS_DHCP_IPv6.c has existed, but it was decided not to support DHCPv6 for now. You can remove it from your build.
In stead there will be a IPv6 protocol called Router Advertisement (RA).

Here you will find a later releases of FreeRTOS+TCP /multi /IPv6.

You can look at it, use it, but please don’t expect that it is ready for a public release. People are working hard to get all the security tests done and make it ready.

Gotcha. It builds without it, but just wanted to confirm. Thanks!