Open nazarewk opened 4 months ago
I've noticed that I was connected to the primary
network and the ip route
entry disappeared completely after i disabled the secondary
network in the web ui.
I had to do netbird down && netbird up
for the client to re-register the primary
route.
a single clientNetwork
seems to represent a very specific <network-id>-<network-range>
grouping:
making it impossible to know about other input.NetID
providing the same input.Network.String()
on completely different site/datacenter
theoretically using input.Network.String()
instead of HAUniqueID
here could help with my issue:
https://github.com/netbirdio/netbird/blob/f176807ebee751289382202569bf6874105e111f/client/internal/routemanager/manager.go#L243-L251
but I am not sure about the wider consequences
I've noticed that I was connected to the
primary
network and theip route
entry disappeared completely after i disabled thesecondary
network in the web ui.I had to do
netbird down && netbird up
for the client to re-register theprimary
route.
@mlsmaycon noted that this part of the issue (removing routes still in use) will be fixed by https://github.com/netbirdio/netbird/pull/1943 , since it is a big refactor of (previously) linked code in this issue it will be worth analyzing and revisiting again after #1943 is merged
Describe the problem
I have noticed the client-side route selection feature so during today's Netbird workshop for our team I have enabled both routes clashing on
10.4/16
and later today teammates started reporting problems with accessing theprimary
system so I switched thesecondary
off and dug into the code.First thing I have noticed using
ip route metric
was superseded by:Route.Metric
as the most significant scoring,7120
akanetbird
(the one I discovered in https://github.com/netbirdio/netbird/issues/2023 )metric
parameter to createdip route
at allThe method is scoped to
*clientNetwork
, which I guess does not consider a possibility of anotherNetworkID
providing the same CIDR (10.4/16
in our case) resulting in a conflict/race condition on the createdip route
entry.To Reproduce
Steps to reproduce the behavior:
Expected behavior
Either of:
ip route
with themetric
argument (seems to benetlink.Route.Priority
) which would properly prioritize routes on theip route
level even in case of a clashAre you using NetBird Cloud?
Yes
NetBird version
0.27.7
NetBird status -d output:
If applicable, add the `netbird status -d' command output.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.