The gateways of the mesh are those nodes who are able to reach some other networks, such as the Internet or another wireless community,and are used as a door for the nodes of the mesh who cannot reach these networks directly.
In bmx6 these gateways are reached using IP tunnels between the node who offer the network and the node who wants to fetch the network.
A node (not gateway) should look for some specific network, as shown in the next /etc/config/bmx6 configuration example:
config 'tunOut' option 'tunOut' 'ipv6' option 'network' '::/0' config 'tunOut' option 'tunOut' 'inet' option 'network' '0.0.0.0/0' option 'maxPrefixLen' '0' config 'tunOut' option 'tunOut' 'guifi' option 'network' '10.0.0.0/8' option 'maxPrefixLen' '8' config 'tunOut' option 'tunOut' 'cloud' option 'network' '10.0.0.0/8' option 'minPrefixLen' '16'
- ipv6 Look for all IPv6 announcements
- inet Look only for v4 internet 0.0.0.0/0 (and not smaller)
- guifi Look for the big announcements to other networks, inside the subnetwork 10.0.0.0/8 not smaller than /8
- cloud Lookg for all (small) announcements from /16 to /32 inside the subnetwork 10.0.0.0/8
In the mesh network there might be several gateways publishing the same network, in such case the node will choose his best path.
There are many options which can be used to modify the path decision, for instance one quite useful is the "gwName".
config 'tunOut' option 'tunOut' 'guifi' option 'network' '10.0.0.0/8' option 'maxPrefixLen' '8' option 'gwName' 'GSmVictoria-RK71'
In this example, if exist a node named "GSmVictoria-RK71" publishing the network 10.0.0.0/8 it will be selected and not the another ones.