//go:build ios package systemops import ( "net" "net/netip" "runtime" log "github.com/sirupsen/logrus" nbnet "github.com/netbirdio/netbird/util/net" ) func (r *SysOps) SetupRouting([]net.IP) (nbnet.AddHookFunc, nbnet.RemoveHookFunc, error) { r.mu.Lock() defer r.mu.Unlock() r.prefixes = make(map[netip.Prefix]struct{}) return nil, nil, nil } func (r *SysOps) CleanupRouting() error { r.mu.Lock() defer r.mu.Unlock() r.prefixes = make(map[netip.Prefix]struct{}) r.notify() return nil } func (r *SysOps) AddVPNRoute(prefix netip.Prefix, _ *net.Interface) error { r.mu.Lock() defer r.mu.Unlock() r.prefixes[prefix] = struct{}{} r.notify() return nil } func (r *SysOps) RemoveVPNRoute(prefix netip.Prefix, _ *net.Interface) error { r.mu.Lock() defer r.mu.Unlock() delete(r.prefixes, prefix) r.notify() return nil } func EnableIPForwarding() error { log.Infof("Enable IP forwarding is not implemented on %s", runtime.GOOS) return nil } func IsAddrRouted(netip.Addr, []netip.Prefix) (bool, netip.Prefix) { return false, netip.Prefix{} } func (r *SysOps) notify() { prefixes := make([]netip.Prefix, 0, len(r.prefixes)) for prefix := range r.prefixes { prefixes = append(prefixes, prefix) } r.notifier.OnNewPrefixes(prefixes) }