qMp Kalimotxo using 802.1ad

Relevant changes in the trunk version of qMp - 07/07/2015

Since the beginning of the development of qMp, 802.1q VLANs have been used to encapsulate the BMX6 routing protocol traffic. While this was very convenient back then (e.g. to isolate it from users' traffic), it started to become a problem as new devices using a switch to drive several Ethernet ports were introduced to the market.

Some of the most popular devices used in qMp-based Community Mesh Networks, like Ubiquiti's NanoStation M5, come with a switch that under qMp/OpenWrt can not handle VLAN-tagged and untagged traffic on the same port. This means, as discussed on qMp's developers mailing list, that Ethernet ports on these devices can not be used for meshing (something which was possible with older devices).

After carefully thinking about all the possible solutions, the development team has considered switching to 802.1ad VLANs (also called QinQ) to encapsulate the routing protocol in cabled interfaces. By using this protocol, all the devices -whether they have an Ethernet switch or not- can correctly manage BMX6's VLANs and communicate between them properly. This approach was also chosen by Libre-mesh developers about one year ago.

Using 802.1ad VLANs is a must to take full advantage of qMp's capabilities on many new devices, but it's also a cause for backwards-incompatibility with older versions of qMp still using 802.1q VLANs. Therefore, a compromise decision has been taken: cabled (i.e. Ethernet) interfaces will use 802.1ad VLANs encapsulation, while wireless interfaces will keep using 802.1q VLANs. This means that new nodes joining  a pre-existing Community Mesh Network via radio will work, but joinig via cable will require upgrading previous nodes to the latest qMp version.

A Git branch called QinQ has been set up to develop the new 802.1ad VLANs' features. This branch will be used to generate the Kalimotxo-trunk precompiled images of qMp, which can be downloaded here. When using them, please remember that they contain experimental code and that they are backwards-incompatible (via cable) with older versions of qMp.

Known issues

  • Wireless devices configured with two functions (e.g. AP (LAN) + Ad-Hoc (Mesh)) are not yet properly managed

Categories: Development