cmd/tailscaled, ipn/{ipnlocal,ipnserver}: let netstack get access to LocalBackend

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2021-03-15 09:23:38 -07:00
committed by Brad Fitzpatrick
parent 25d2dd868b
commit 2bc518dcb2
3 changed files with 40 additions and 0 deletions

View File

@@ -29,6 +29,7 @@ import (
"time"
"github.com/go-multierror/multierror"
"tailscale.com/ipn/ipnlocal"
"tailscale.com/ipn/ipnserver"
"tailscale.com/logpolicy"
"tailscale.com/net/socks5"
@@ -227,6 +228,8 @@ func run() error {
return err
}
localBEFuture := ipnlocal.NewLocalBackendFuture()
var ns *netstack.Impl
if useNetstack {
tunDev, magicConn := e.(wgengine.InternalsGetter).GetInternals()
@@ -298,6 +301,7 @@ func run() error {
LegacyConfigPath: paths.LegacyConfigPath(),
SurviveDisconnects: true,
DebugMux: debugMux,
OnBackendCreated: localBEFuture.Set,
}
err = ipnserver.Run(ctx, logf, pol.PublicID.String(), ipnserver.FixedEngine(e), opts)
// Cancelation is not an error: it is the only way to stop ipnserver.