Documentation ¶
Index ¶
- type DefaultManager
- func (m *DefaultManager) EnableServerRouter(firewall firewall.Manager) error
- func (m *DefaultManager) GetClientRoutes() route.HAMap
- func (m *DefaultManager) GetClientRoutesWithNetID() map[route.NetID][]*route.Route
- func (m *DefaultManager) GetRouteSelector() *routeselector.RouteSelector
- func (m *DefaultManager) Init() (nbnet.AddHookFunc, nbnet.RemoveHookFunc, error)
- func (m *DefaultManager) InitialRouteRange() []string
- func (m *DefaultManager) SetRouteChangeListener(listener listener.NetworkChangeListener)
- func (m *DefaultManager) Stop(stateManager *statemanager.Manager)
- func (m *DefaultManager) TriggerSelection(networks route.HAMap)
- func (m *DefaultManager) UpdateRoutes(updateSerial uint64, newRoutes []*route.Route, useNewDNSRoute bool) error
- type Manager
- type ManagerConfig
- type MockManager
- func (m *MockManager) EnableServerRouter(firewall firewall.Manager) error
- func (m *MockManager) GetClientRoutes() route.HAMap
- func (m *MockManager) GetClientRoutesWithNetID() map[route.NetID][]*route.Route
- func (m *MockManager) GetRouteSelector() *routeselector.RouteSelector
- func (m *MockManager) Init() (net.AddHookFunc, net.RemoveHookFunc, error)
- func (m *MockManager) InitialRouteRange() []string
- func (m *MockManager) SetRouteChangeListener(listener listener.NetworkChangeListener)
- func (m *MockManager) Start(ctx context.Context, iface *iface.WGIface)
- func (m *MockManager) Stop(stateManager *statemanager.Manager)
- func (m *MockManager) TriggerSelection(networks route.HAMap)
- func (m *MockManager) UpdateRoutes(updateSerial uint64, newRoutes []*route.Route, b bool) error
- type RouteHandler
- type SelectorState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultManager ¶
type DefaultManager struct {
// contains filtered or unexported fields
}
DefaultManager is the default instance of a route manager
func NewManager ¶
func NewManager(config ManagerConfig) *DefaultManager
func (*DefaultManager) EnableServerRouter ¶ added in v0.24.4
func (m *DefaultManager) EnableServerRouter(firewall firewall.Manager) error
func (*DefaultManager) GetClientRoutes ¶ added in v0.27.4
func (m *DefaultManager) GetClientRoutes() route.HAMap
GetClientRoutes returns most recent list of clientRoutes received from the Management Service
func (*DefaultManager) GetClientRoutesWithNetID ¶ added in v0.35.0
func (m *DefaultManager) GetClientRoutesWithNetID() map[route.NetID][]*route.Route
GetClientRoutesWithNetID returns the current routes from the route map, but the keys consist of the network ID only
func (*DefaultManager) GetRouteSelector ¶ added in v0.27.4
func (m *DefaultManager) GetRouteSelector() *routeselector.RouteSelector
GetRouteSelector returns the route selector
func (*DefaultManager) Init ¶ added in v0.26.4
func (m *DefaultManager) Init() (nbnet.AddHookFunc, nbnet.RemoveHookFunc, error)
Init sets up the routing
func (*DefaultManager) InitialRouteRange ¶ added in v0.21.2
func (m *DefaultManager) InitialRouteRange() []string
InitialRouteRange return the list of initial routes. It used by mobile systems
func (*DefaultManager) SetRouteChangeListener ¶ added in v0.21.0
func (m *DefaultManager) SetRouteChangeListener(listener listener.NetworkChangeListener)
SetRouteChangeListener set RouteListener for route change Notifier
func (*DefaultManager) Stop ¶
func (m *DefaultManager) Stop(stateManager *statemanager.Manager)
Stop stops the manager watchers and clean firewall rules
func (*DefaultManager) TriggerSelection ¶ added in v0.27.4
func (m *DefaultManager) TriggerSelection(networks route.HAMap)
TriggerSelection triggers the selection of routes, stopping deselected watchers and starting newly selected ones
func (*DefaultManager) UpdateRoutes ¶
func (m *DefaultManager) UpdateRoutes(updateSerial uint64, newRoutes []*route.Route, useNewDNSRoute bool) error
UpdateRoutes compares received routes with existing routes and removes, updates or adds them to the client and server maps
type Manager ¶
type Manager interface { Init() (nbnet.AddHookFunc, nbnet.RemoveHookFunc, error) UpdateRoutes(updateSerial uint64, newRoutes []*route.Route, useNewDNSRoute bool) error TriggerSelection(route.HAMap) GetRouteSelector() *routeselector.RouteSelector GetClientRoutes() route.HAMap GetClientRoutesWithNetID() map[route.NetID][]*route.Route SetRouteChangeListener(listener listener.NetworkChangeListener) InitialRouteRange() []string EnableServerRouter(firewall firewall.Manager) error Stop(stateManager *statemanager.Manager) }
Manager is a route manager interface
type ManagerConfig ¶ added in v0.36.0
type ManagerConfig struct { Context context.Context PublicKey string DNSRouteInterval time.Duration WGInterface iface.IWGIface StatusRecorder *peer.Status RelayManager *relayClient.Manager InitialRoutes []*route.Route StateManager *statemanager.Manager DNSServer dns.Server PeerStore *peerstore.Store DisableClientRoutes bool DisableServerRoutes bool }
type MockManager ¶
type MockManager struct { UpdateRoutesFunc func(updateSerial uint64, newRoutes []*route.Route) error TriggerSelectionFunc func(haMap route.HAMap) GetRouteSelectorFunc func() *routeselector.RouteSelector GetClientRoutesFunc func() route.HAMap GetClientRoutesWithNetIDFunc func() map[route.NetID][]*route.Route StopFunc func(manager *statemanager.Manager) }
MockManager is the mock instance of a route manager
func (*MockManager) EnableServerRouter ¶ added in v0.24.4
func (m *MockManager) EnableServerRouter(firewall firewall.Manager) error
func (*MockManager) GetClientRoutes ¶ added in v0.35.0
func (m *MockManager) GetClientRoutes() route.HAMap
GetClientRoutes mock implementation of GetClientRoutes from Manager interface
func (*MockManager) GetClientRoutesWithNetID ¶ added in v0.35.0
func (m *MockManager) GetClientRoutesWithNetID() map[route.NetID][]*route.Route
GetClientRoutesWithNetID mock implementation of GetClientRoutesWithNetID from Manager interface
func (*MockManager) GetRouteSelector ¶ added in v0.27.4
func (m *MockManager) GetRouteSelector() *routeselector.RouteSelector
GetRouteSelector mock implementation of GetRouteSelector from Manager interface
func (*MockManager) Init ¶ added in v0.26.4
func (m *MockManager) Init() (net.AddHookFunc, net.RemoveHookFunc, error)
func (*MockManager) InitialRouteRange ¶ added in v0.21.2
func (m *MockManager) InitialRouteRange() []string
InitialRouteRange mock implementation of InitialRouteRange from Manager interface
func (*MockManager) SetRouteChangeListener ¶ added in v0.21.0
func (m *MockManager) SetRouteChangeListener(listener listener.NetworkChangeListener)
SetRouteChangeListener mock implementation of SetRouteChangeListener from Manager interface
func (*MockManager) Start ¶ added in v0.21.0
func (m *MockManager) Start(ctx context.Context, iface *iface.WGIface)
Start mock implementation of Start from Manager interface
func (*MockManager) Stop ¶
func (m *MockManager) Stop(stateManager *statemanager.Manager)
Stop mock implementation of Stop from Manager interface
func (*MockManager) TriggerSelection ¶ added in v0.27.4
func (m *MockManager) TriggerSelection(networks route.HAMap)
func (*MockManager) UpdateRoutes ¶
UpdateRoutes mock implementation of UpdateRoutes from Manager interface
type RouteHandler ¶ added in v0.28.0
type RouteHandler interface { String() string AddRoute(ctx context.Context) error RemoveRoute() error AddAllowedIPs(peerKey string) error RemoveAllowedIPs() error }
RouteHandler defines the interface for handling routes
type SelectorState ¶ added in v0.34.0
type SelectorState routeselector.RouteSelector
func (*SelectorState) MarshalJSON ¶ added in v0.34.0
func (s *SelectorState) MarshalJSON() ([]byte, error)
func (*SelectorState) Name ¶ added in v0.34.0
func (s *SelectorState) Name() string
func (*SelectorState) UnmarshalJSON ¶ added in v0.34.0
func (s *SelectorState) UnmarshalJSON(data []byte) error