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

@ -92,6 +92,10 @@ type Options struct {
// DebugMux, if non-nil, specifies an HTTP ServeMux in which
// to register a debug handler.
DebugMux *http.ServeMux
// OnBackendCreated, if non-nil, is called once when the LocalBackend
// is created.
OnBackendCreated func(*ipnlocal.LocalBackend)
}
// server is an IPN backend and its set of 0 or more active connections
@ -739,6 +743,10 @@ func Run(ctx context.Context, logf logger.Logf, logid string, getEngine func() (
return smallzstd.NewDecoder(nil)
})
if opts.OnBackendCreated != nil {
opts.OnBackendCreated(b)
}
if opts.DebugMux != nil {
opts.DebugMux.HandleFunc("/debug/ipn", func(w http.ResponseWriter, r *http.Request) {
serveHTMLStatus(w, b)