We're having the problem that bmx6 nodes sometime come up on different
subnets.
The interfaces are getting fd66:0066:0066:00XX::/64 IPs, where XX is the
interface index. This means that some nodes are on different subnets, since
they don't all have the same wifi interface index. Is this intentional, and
if so, why? It means that just running "bmx6 dev=wlan0" on each node will
not result in a working mesh where every node can reach every other node on
their bmx6-assigned addresses.
It seems that either the mask should be changed to /56 or the interface
index should be used as the eigth or higher byte instead of the seventh?
Perhaps it would be better to replace the ff:fe inserted into the middle of
the MAC address with the interface index?
Here's the responsible code from
https://github.com/axn/bmx6/blob/master/ip.c:
if (!global_prefix_cfg.mask && !dev->global_prefix_conf_.mask &&
autoconf_prefix_cfg.mask) {
autoIP6 = bmx6AutoEUI64Ip6(dev->if_link->addr, &autoconf_prefix_cfg);
autoIP6.mask = DEF_AUTO_IP6_DEVMASK;
autoIP6.ip.s6_addr[6] = DEF_AUTO_IP6_BYTE6;
autoIP6.ip.s6_addr[7] = (uint8_t)dev->if_link->index; //different ULAs
for equal MAC addresses!!
}
--
marc/juul