wgengine: default Router to a no-op router.

Signed-off-by: David Anderson <danderson@tailscale.com>
This commit is contained in:
David Anderson
2021-03-28 18:59:33 -07:00
parent 440effb21a
commit 93a4aa697c
3 changed files with 17 additions and 12 deletions

View File

@@ -336,13 +336,18 @@ func tryEngine(logf logger.Logf, linkMon *monitor.Mon, name string) (e wgengine.
var dev tun.Device
if isUserspace {
dev = tstun.NewFake()
conf.Router = router.NewFake(logf)
} else {
dev, err = tstun.New(logf, name)
if err != nil {
tstun.Diagnose(logf, name)
return nil, false, err
}
r, err := router.New(logf, dev)
if err != nil {
dev.Close()
return nil, false, err
}
conf.Router = r
}
e, err = wgengine.NewUserspaceEngine(logf, dev, conf)
if err != nil {

View File

@@ -35,6 +35,7 @@ import (
"tailscale.com/types/logger"
"tailscale.com/version"
"tailscale.com/wgengine"
"tailscale.com/wgengine/router"
)
const serviceName = "Tailscale"
@@ -164,10 +165,17 @@ func startIPNServer(ctx context.Context, logid string) error {
if err != nil {
return nil, err
}
r, err := router.New(logf, dev)
if err != nil {
dev.Close()
return nil, err
}
eng, err := wgengine.NewUserspaceEngine(logf, dev, wgengine.Config{
Router: r,
ListenPort: 41641,
})
if err != nil {
r.Close()
dev.Close()
return nil, err
}