FreeRTOS TCP Multiple Interfaces and VLAN

umd350 wrote on Thursday, February 01, 2018:

Hello,

Based on previous forum posts I understand that a version of the FreeRTOS TCP with support for multiple interfaces is in the works, and that currently, FreeRTOS TCP does not support VLAN (IEEE 802.1Q).

My question is, once the FreeRTOS TCP with multiple interface support is released, would it be feasible to add VLAN support to that?

What I’m thinking is for packet reception, that the callback layer between the Ethernet and TCP stack could be used to parse the VLAN tags, and pass the packets to the different interfaces based on the tag. For transmitting, perhaps using separate callbacks for each interface to tag the frame based on the interface.

In short, there would be two interfaces (separate IP addresses due to separate VLANs) sharing the same physical MAC. Is that feasible with what is planned to be released?

Thanks

heinbali01 wrote on Friday, February 02, 2018:

a version of the FreeRTOS TCP with support for multiple interfaces
is in the works, and that currently, FreeRTOS TCP does not support VLAN

That is all correct. FreeRTOS+TCP /multi runs fine at this moment.

You can use multiple physical interfaces, and each interface can have multiple MAC addresses, where each MAC address is abound to a different IP address.

Interface-0:

xx:01:01  192.168.2.5   // LAN
xx:01:02  172.16.0.1    // LAN

Interface-1:

xx:02:01  192.168.2.6   // LAN
xx:02:02  172.16.0.1    // LAN

Correction, should be 172.16.0.2

Interface-2:

xx:03:01  141.105.10.2  // internet

The above configuration is already possible.

A MAC address may only be bound once. The MAC-address is used as a key to store addresses.

So in a way, +TCP is able to function in an environment with multiple network addresses. It can host a public Internet server, and at the same time talk to a printer on a LAN.

We haven’t considered adding support for VLAN yet. Other features that are on the list is IPv6 (75% ready) and more routing facilities. Some people also want support for PPP.

heinbali01 wrote on Friday, February 02, 2018:

Oops, I assigned the same IP-address twice:

Interface-0:

    xx:01:01  192.168.2.5   // LAN
    xx:01:02  172.16.0.1    // LAN

Interface-1:

    xx:02:01  192.168.2.6   // LAN
-   xx:02:02  172.16.0.1    // LAN
+   xx:02:02  172.16.0.2    // LAN

Interface-2:

    xx:03:01  141.105.10.2  // Internet