You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
These both work fine however when both are deployed I am getting routing issues.
Two ESP Thread Border Routers are deployed on the same LAN (same VLAN, same Thread mesh). Both BRs are correctly configured and running on the same Thread network.
Both BRs derive the same OMR prefix (fd22:9095:bb47:1::/64) from the Thread Network Data and advertise it via Router Information Options in their Router Advertisements on the LAN backbone.
So my Linux learns both RAs and installs an ECMP route:
fd22:9095:bb47:1::/64 proto ra metric 1024
nexthop via fe80::b63a:45ff:fe18:26f0 dev enp1s0.10 weight 1
nexthop via fe80::b43a:45ff:fe18:1ab4 dev enp1s0.10 weight 1
This isn't causing issues all the time but things like when I ping a device I am getting duplicate responses and this is leading to reported failures in Home Assistant and devices appearing offline.
So the first question is how this should be handled when there are multiple border routers. The WiFi one is for redundancy but also to cover an area of the house we gets intermittent coverage from the radio on the main border router.
AI has been through the Espressif firmware and suggested adding
TRACK_PEER_BR_INFO_ENABLE
MULTI_AIL_DETECTION_ENABLE
BACKBONE_ROUTER_ENABLE
DUA_ENABLE
BORDER_ROUTING_USE_HEAP_ENABLE
options which it says should enable a second border router to identify the RA from the first and supress sending any leaving a single route at on my Linux host and if the existing link fails it should pick that up and starting sending RAs.
I have built the firmware with those options and confirmed they have been applied but both are still advertising the same RA
Can anyone help with what the expected behaviour is and how this can be configured so that I have a proper failover setup?
The specific question AI came up with was
when both BRs derive an identical OMR prefix from Thread Network Data, does the peer BR suppression logic have a defined tie-breaking mechanism? Is suppression only designed to work when BRs have different prefixes to compare?
Sorry for the use of AI and ignore those bits if it is talking rubbish but the fundamental question of how to avoid duplicate routes and how multiple border routers should work together is definitely valid
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I have been round the houses on this but I have bought two Espressif border routers (these ones https://openthread.io/guides/border-router/espressif-esp32) with LAN daughterboards. One is hooked up via ethernet, the other via WiFi.
These both work fine however when both are deployed I am getting routing issues.
Two ESP Thread Border Routers are deployed on the same LAN (same VLAN, same Thread mesh). Both BRs are correctly configured and running on the same Thread network.
Both BRs derive the same OMR prefix (
fd22:9095:bb47:1::/64) from the Thread Network Data and advertise it via Router Information Options in their Router Advertisements on the LAN backbone.So my Linux learns both RAs and installs an ECMP route:
This isn't causing issues all the time but things like when I ping a device I am getting duplicate responses and this is leading to reported failures in Home Assistant and devices appearing offline.
So the first question is how this should be handled when there are multiple border routers. The WiFi one is for redundancy but also to cover an area of the house we gets intermittent coverage from the radio on the main border router.
AI has been through the Espressif firmware and suggested adding
TRACK_PEER_BR_INFO_ENABLEMULTI_AIL_DETECTION_ENABLEBACKBONE_ROUTER_ENABLEDUA_ENABLEBORDER_ROUTING_USE_HEAP_ENABLEoptions which it says should enable a second border router to identify the RA from the first and supress sending any leaving a single route at on my Linux host and if the existing link fails it should pick that up and starting sending RAs.
I have built the firmware with those options and confirmed they have been applied but both are still advertising the same RA
Can anyone help with what the expected behaviour is and how this can be configured so that I have a proper failover setup?
The specific question AI came up with was
Sorry for the use of AI and ignore those bits if it is talking rubbish but the fundamental question of how to avoid duplicate routes and how multiple border routers should work together is definitely valid
Beta Was this translation helpful? Give feedback.
All reactions