diff options
| -rw-r--r-- | ipn/ipnlocal/local.go | 1 | ||||
| -rw-r--r-- | ipn/ipnstate/ipnstate.go | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/ipn/ipnlocal/local.go b/ipn/ipnlocal/local.go index 5d3bbd36e..9e2d6b197 100644 --- a/ipn/ipnlocal/local.go +++ b/ipn/ipnlocal/local.go @@ -1314,6 +1314,7 @@ func (b *LocalBackend) UpdateStatus(sb *ipnstate.StatusBuilder) { s.CurrentTailnet.MagicDNSSuffix = nm.MagicDNSSuffix() s.CurrentTailnet.MagicDNSEnabled = nm.DNS.Proxied s.CurrentTailnet.Name = nm.Domain + s.UsingCachedNetworkMap = nm.Cached if prefs := b.pm.CurrentPrefs(); prefs.Valid() { if !prefs.RouteAll() && nm.AnyPeersAdvertiseRoutes() { s.Health = append(s.Health, healthmsg.WarnAcceptRoutesOff) diff --git a/ipn/ipnstate/ipnstate.go b/ipn/ipnstate/ipnstate.go index 17e6ac870..cc1a22399 100644 --- a/ipn/ipnstate/ipnstate.go +++ b/ipn/ipnstate/ipnstate.go @@ -48,6 +48,12 @@ type Status struct { TailscaleIPs []netip.Addr // Tailscale IP(s) assigned to this node Self *PeerStatus + // UsingCachedNetworkMap is whether Self has a network map that was loaded + // from a local cache. If false, either Self has no network map (for + // example, if the node is not running), or its network map was received + // directly from the control plane. + UsingCachedNetworkMap bool + // ExitNodeStatus describes the current exit node. // If nil, an exit node is not in use. ExitNodeStatus *ExitNodeStatus `json:"ExitNodeStatus,omitempty"` |
