[client] fix route handling for local peer state (#3586)

This commit is contained in:
hakansa 2025-03-27 19:31:04 +08:00 committed by GitHub
parent 34d86c5ab8
commit fceb3ca392
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -586,9 +586,8 @@ func (d *Status) AddLocalPeerStateRoute(route, resourceId string) {
defer d.mux.Unlock() defer d.mux.Unlock()
pref, err := netip.ParsePrefix(route) pref, err := netip.ParsePrefix(route)
if err != nil { if err == nil {
log.Errorf("failed to parse prefix %s: %v", route, err) d.routeIDLookup.AddLocalRouteID(resourceId, pref)
return
} }
if d.localPeer.Routes == nil { if d.localPeer.Routes == nil {
@ -596,8 +595,6 @@ func (d *Status) AddLocalPeerStateRoute(route, resourceId string) {
} }
d.localPeer.Routes[route] = struct{}{} d.localPeer.Routes[route] = struct{}{}
d.routeIDLookup.AddLocalRouteID(resourceId, pref)
} }
// RemoveLocalPeerStateRoute removes a route from the local peer state // RemoveLocalPeerStateRoute removes a route from the local peer state
@ -606,14 +603,11 @@ func (d *Status) RemoveLocalPeerStateRoute(route string) {
defer d.mux.Unlock() defer d.mux.Unlock()
pref, err := netip.ParsePrefix(route) pref, err := netip.ParsePrefix(route)
if err != nil { if err == nil {
log.Errorf("failed to parse prefix %s: %v", route, err) d.routeIDLookup.RemoveLocalRouteID(pref)
return
} }
delete(d.localPeer.Routes, route) delete(d.localPeer.Routes, route)
d.routeIDLookup.RemoveLocalRouteID(pref)
} }
// CleanLocalPeerStateRoutes cleans all routes from the local peer state // CleanLocalPeerStateRoutes cleans all routes from the local peer state