|
|
|
@ -164,6 +164,12 @@ type Node struct {
|
|
|
|
|
Hostinfo Hostinfo
|
|
|
|
|
Created time.Time
|
|
|
|
|
|
|
|
|
|
// PrimaryRoutes are the routes from AllowedIPs that this node
|
|
|
|
|
// is currently the primary subnet router for, as determined
|
|
|
|
|
// by the control plane. It does not include the self address
|
|
|
|
|
// values from Addresses that are in AllowedIPs.
|
|
|
|
|
PrimaryRoutes []netaddr.IPPrefix `json:",omitempty"`
|
|
|
|
|
|
|
|
|
|
// LastSeen is when the node was last online. It is not
|
|
|
|
|
// updated when Online is true. It is nil if the current
|
|
|
|
|
// node doesn't have permission to know, or the node
|
|
|
|
@ -1142,6 +1148,7 @@ func (n *Node) Equal(n2 *Node) bool {
|
|
|
|
|
eqBoolPtr(n.Online, n2.Online) &&
|
|
|
|
|
eqCIDRs(n.Addresses, n2.Addresses) &&
|
|
|
|
|
eqCIDRs(n.AllowedIPs, n2.AllowedIPs) &&
|
|
|
|
|
eqCIDRs(n.PrimaryRoutes, n2.PrimaryRoutes) &&
|
|
|
|
|
eqStrings(n.Endpoints, n2.Endpoints) &&
|
|
|
|
|
n.DERP == n2.DERP &&
|
|
|
|
|
n.Hostinfo.Equal(&n2.Hostinfo) &&
|
|
|
|
|