tailscale/wgengine/router/router_darwin_support.go
David Anderson 9ccbcda612 wgengine/router: rename config.Settings to config.Config, make pointer.
Signed-off-by: David Anderson <danderson@tailscale.com>
2020-05-12 15:58:33 -07:00

26 lines
1.0 KiB
Go

// Copyright (c) 2020 Tailscale Inc & AUTHORS All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build linux darwin
package router
// SetRoutesFunc applies the given router settings to the OS network
// stack. cfg is guaranteed to be non-nil.
//
// This is logically part of the router_darwin.go implementation, and
// should not be used on other platforms.
//
// The code to reconfigure the network stack on MacOS and iOS is in
// the non-open `ipn-go-bridge` package, which bridges between the Go
// and Swift pieces of the application. The ipn-go-bridge sets
// SetRoutesFunc at startup.
//
// So why isn't this in router_darwin.go? Because in the non-oss
// repository, we build ipn-go-bridge when developing on Linux as well
// as MacOS, so that we don't have to wait until the Mac CI to
// discover that we broke it. So this one definition needs to exist in
// both the darwin and linux builds. Hence this file and build tag.
var SetRoutesFunc func(cfg *Config) error