diff --git a/ipn/ipnlocal/local.go b/ipn/ipnlocal/local.go index e8f5154a1..b7a4691ba 100644 --- a/ipn/ipnlocal/local.go +++ b/ipn/ipnlocal/local.go @@ -1516,6 +1516,7 @@ func (b *LocalBackend) populatePeerStatusLocked(sb *ipnstate.StatusBuilder) { func peerStatusFromNode(ps *ipnstate.PeerStatus, n tailcfg.NodeView) { ps.PublicKey = n.Key() ps.ID = n.StableID() + ps.NodeID = n.ID() ps.Created = n.Created() ps.ExitNodeOption = buildfeatures.HasUseExitNode && tsaddr.ContainsExitRoutes(n.AllowedIPs()) if n.Tags().Len() != 0 { diff --git a/ipn/ipnstate/ipnstate.go b/ipn/ipnstate/ipnstate.go index f7df7e5a2..f0b9dcc82 100644 --- a/ipn/ipnstate/ipnstate.go +++ b/ipn/ipnstate/ipnstate.go @@ -223,6 +223,7 @@ type PeerStatusLite struct { // inconsistencies or lost data in the peer status. type PeerStatus struct { ID tailcfg.StableNodeID + NodeID tailcfg.NodeID PublicKey key.NodePublic HostName string // HostInfo's Hostname (not a DNS name or necessarily unique) @@ -443,6 +444,9 @@ func (sb *StatusBuilder) AddPeer(peer key.NodePublic, st *PeerStatus) { if v := st.ID; v != "" { e.ID = v } + if v := st.NodeID; v != 0 { + e.NodeID = v + } if v := st.HostName; v != "" { e.HostName = v }