[client] Add support for retain existing AllowedIPs when no alternative paths are available #4245
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We are using Netbird to manage our WireGuard network (without relay nodes). Our topology is relatively stable and does not change frequently.
We have analyzed potential network instability issues that may occur when either the ICE connection drops or the management API becomes temporarily unavailable. As noted in this comment, in such cases, network routes (e.g., 10.0.0.0/24) are removed from AllowedIPs, effectively cutting off connectivity.
In our scenario, we prefer:
• When ICE fails or the management service is temporarily down, the existing network connectivity should remain unaffected. The system should not proactively remove AllowedIPs, especially when no alternative paths are available.
• Even if the management service remains operational, the temporary unavailability of routes during ICE reconnection is still unacceptable, as it causes unnecessary and avoidable disruptions.
We propose adding an option to enable a failsafe routing mode, where:
• Route manager only updates AllowedIPs when a valid, reachable path is available.
• If no valid path is detected, the current AllowedIPs are kept unchanged.
This behavior would help prevent unnecessary network disconnections caused by transient ICE or management issues.
Example environment variable:
Issue ticket number and link
Stack
Checklist