mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-29 04:55:31 +00:00
health: add DNS subsystem and plumb errors in.
Signed-off-by: David Anderson <danderson@tailscale.com>
This commit is contained in:
parent
4c61ebacf4
commit
f007a9dd6b
@ -49,6 +49,9 @@
|
|||||||
// SysRouter is the name the wgengine/router subsystem.
|
// SysRouter is the name the wgengine/router subsystem.
|
||||||
SysRouter = Subsystem("router")
|
SysRouter = Subsystem("router")
|
||||||
|
|
||||||
|
// SysDNS is the name of the net/dns subsystem.
|
||||||
|
SysDNS = Subsystem("dns")
|
||||||
|
|
||||||
// SysNetworkCategory is the name of the subsystem that sets
|
// SysNetworkCategory is the name of the subsystem that sets
|
||||||
// the Windows network adapter's "category" (public, private, domain).
|
// the Windows network adapter's "category" (public, private, domain).
|
||||||
// If it's unhealthy, the Windows firewall rules won't match.
|
// If it's unhealthy, the Windows firewall rules won't match.
|
||||||
@ -80,12 +83,18 @@ func RegisterWatcher(cb func(key Subsystem, err error)) (unregister func()) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetRouter sets the state of the wgengine/router.Router.
|
// SetRouterHealth sets the state of the wgengine/router.Router.
|
||||||
func SetRouterHealth(err error) { set(SysRouter, err) }
|
func SetRouterHealth(err error) { set(SysRouter, err) }
|
||||||
|
|
||||||
// RouterHealth returns the wgengine/router.Router error state.
|
// RouterHealth returns the wgengine/router.Router error state.
|
||||||
func RouterHealth() error { return get(SysRouter) }
|
func RouterHealth() error { return get(SysRouter) }
|
||||||
|
|
||||||
|
// SetDNSHealth sets the state of the net/dns.Manager
|
||||||
|
func SetDNSHealth(err error) { set(SysDNS, err) }
|
||||||
|
|
||||||
|
// DNSHealth returns the net/dns.Manager error state.
|
||||||
|
func DNSHealth() error { return get(SysDNS) }
|
||||||
|
|
||||||
// SetNetworkCategoryHealth sets the state of setting the network adaptor's category.
|
// SetNetworkCategoryHealth sets the state of setting the network adaptor's category.
|
||||||
// This only applies on Windows.
|
// This only applies on Windows.
|
||||||
func SetNetworkCategoryHealth(err error) { set(SysNetworkCategory, err) }
|
func SetNetworkCategoryHealth(err error) { set(SysNetworkCategory, err) }
|
||||||
|
@ -1018,10 +1018,20 @@ func (e *userspaceEngine) Reconfig(cfg *wgcfg.Config, routerCfg *router.Config,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
osCfg.Domains = dnsCfg.SearchDomains
|
osCfg.Domains = dnsCfg.SearchDomains
|
||||||
e.resolver.SetConfig(resolverCfg) // TODO: check error and propagate to health pkg
|
|
||||||
e.dns.Set(osCfg) // TODO: check error and propagate to health pkg
|
e.logf("wgengine: Reconfig: configuring DNS")
|
||||||
|
err := e.resolver.SetConfig(resolverCfg)
|
||||||
|
health.SetDNSHealth(err)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = e.dns.Set(osCfg)
|
||||||
|
health.SetDNSHealth(err)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
e.logf("wgengine: Reconfig: configuring router")
|
e.logf("wgengine: Reconfig: configuring router")
|
||||||
err := e.router.Set(routerCfg)
|
err = e.router.Set(routerCfg)
|
||||||
health.SetRouterHealth(err)
|
health.SetRouterHealth(err)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
Loading…
Reference in New Issue
Block a user