Question about TCP/IP stack initialization for V4.0.0

Hi, I’m a few days into FreeRTOS and the V4.0.0 TCP/IP stack on a TEENSY4.1 board. Without the TCP/IP stack, the RTOS is runs just fine. My goal is to build up a few working examples using V4.0.0 of FreeRTOS-PLUS-TCP, so I’m working through the “FreeRTOS-Plus-TCP Networking Tutorial”. I’m stuck in “Initialising the TCP/IP Stack”. The note at the top says that version of init is deprecated, and points to an updated page; however I don’t need IPv6 or multiple interface/endpoint capabilities at this point. Do I lose other features if I stick with the deprecated init and just set the ipconfigIPv4_BACKWARD_COMPATIBLE to 1 in the FreeRTOSIPConfig.h header file?
Thanks in advance,
Ed

Hi @edsut,

No, it should be working fine except for all other IPv6 functionalities. One critical point is that multi-endpoints means you are able to have multiple IP addresses on the device. If you need only one IP address, it’s fine. But I’ll encourage you to use new method described in Initialising the TCP/IP Stack. Could you tell us why you’d like to use deprecated init instead of new ones?

Thank you.

1 Like

Honestly I’d prefer to not go the deprecated route. I started off with the newer initialization (using FreeRTOS_FillEndPoint), but I wasn’t able to figure out how to initialize the xInterfaces and xEndPoints parameters.
If there’s a simple example of that somewhere, point me to it and I’ll use it!
Thanks,
Ed

Hi,
For user side, you can refer to FreeRTOS_Plus_TCP_IPv6_Demo.
For interface side, you can refer to NetworkInterface_WinPCap.c or DriverSAM for Windows/SAM source code.

Let us know if you have any other questions!

Thank you.

Hi @edsut

Thank you for your feedback, can you tell us if the doc

pointed by @ActoryOu helpful? If not, can you please let us know what are the issues you faced, it will help us improve our documentation and help you better. Thank you

Ok just wanna post an update…
I’m now running with the latest (ipconfigIPv4_BACKWARD_COMPATIBLE = 0).
My confusion was that I thought I had to prepopulate xInterfaces and xEndpoints but I see now (duh) that’s what xxxFillInterfaceDescriptor( ) and FreeRTOS_FillEndPoint() are for.
Progress continues.
Thanks,
Ed

1 Like

Thanks for your feedback!

I’m closing this issue. Let’s know if you want to discuss further.