|
|
|
|
@ -126,6 +126,7 @@ type Server struct { |
|
|
|
|
initOnce sync.Once |
|
|
|
|
initErr error |
|
|
|
|
lb *ipnlocal.LocalBackend |
|
|
|
|
sys *tsd.System |
|
|
|
|
netstack *netstack.Impl |
|
|
|
|
netMon *netmon.Monitor |
|
|
|
|
rootPath string // the state directory
|
|
|
|
|
@ -518,6 +519,7 @@ func (s *Server) start() (reterr error) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
sys := new(tsd.System) |
|
|
|
|
s.sys = sys |
|
|
|
|
if err := s.startLogger(&closePool, sys.HealthTracker(), tsLogf); err != nil { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
@ -1227,6 +1229,13 @@ func (s *Server) CapturePcap(ctx context.Context, pcapFile string) error { |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Sys returns a handle to the Tailscale subsystems of this node.
|
|
|
|
|
//
|
|
|
|
|
// This is not a stable API, nor are the APIs of the returned subsystems.
|
|
|
|
|
func (s *Server) Sys() *tsd.System { |
|
|
|
|
return s.sys |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
type listenKey struct { |
|
|
|
|
network string |
|
|
|
|
host netip.Addr // or zero value for unspecified
|
|
|
|
|
|