On Linux:
unsafe_routes:
- route: 0.0.0.0/0
via:
- gateway: x.x.x.1
weight: 30
- gateway: x.x.x.2
weight: 20
- gateway: x.x.x.3
weight: 10
If one gateway fails, the others are used, which is the expected behavior.
When importing the same configuration on Android, the config is rewritten and the 0.0.0.0/0 route is added three times via three different gateways, with only the last one active. If the active gateway goes down, the device loses connectivity to 0.0.0.0/0.
Expected behavior: If one gateway fails, the remaining gateways should be used according to weight or metric. Netbird implements this, so it is achievable on Android.