mirror of
https://github.com/tailscale/tailscale.git
synced 2025-04-22 08:51:41 +00:00
ipn: update AddPeer to include TaildropTarget (#15091)
We previously were not merging in the TaildropTarget into the PeerStatus because we did not update AddPeer. Updates tailscale/tailscale#14393 Signed-off-by: kari-ts <kari@tailscale.com>
This commit is contained in:
parent
74d7d8a77b
commit
dc18091678
@ -6709,7 +6709,7 @@ func (b *LocalBackend) FileTargets() ([]*apitype.FileTarget, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (b *LocalBackend) taildropTargetStatus(p tailcfg.NodeView) ipnstate.TaildropTargetStatus {
|
func (b *LocalBackend) taildropTargetStatus(p tailcfg.NodeView) ipnstate.TaildropTargetStatus {
|
||||||
if b.netMap == nil || b.state != ipn.Running {
|
if b.state != ipn.Running {
|
||||||
return ipnstate.TaildropTargetIpnStateNotRunning
|
return ipnstate.TaildropTargetIpnStateNotRunning
|
||||||
}
|
}
|
||||||
if b.netMap == nil {
|
if b.netMap == nil {
|
||||||
|
@ -216,6 +216,11 @@ type PeerStatusLite struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// PeerStatus describes a peer node and its current state.
|
// PeerStatus describes a peer node and its current state.
|
||||||
|
// WARNING: The fields in PeerStatus are merged by the AddPeer method in the StatusBuilder.
|
||||||
|
// When adding a new field to PeerStatus, you must update AddPeer to handle merging
|
||||||
|
// the new field. The AddPeer function is responsible for combining multiple updates
|
||||||
|
// to the same peer, and any new field that is not merged properly may lead to
|
||||||
|
// inconsistencies or lost data in the peer status.
|
||||||
type PeerStatus struct {
|
type PeerStatus struct {
|
||||||
ID tailcfg.StableNodeID
|
ID tailcfg.StableNodeID
|
||||||
PublicKey key.NodePublic
|
PublicKey key.NodePublic
|
||||||
@ -533,6 +538,9 @@ func (sb *StatusBuilder) AddPeer(peer key.NodePublic, st *PeerStatus) {
|
|||||||
if v := st.Capabilities; v != nil {
|
if v := st.Capabilities; v != nil {
|
||||||
e.Capabilities = v
|
e.Capabilities = v
|
||||||
}
|
}
|
||||||
|
if v := st.TaildropTarget; v != TaildropTargetUnknown {
|
||||||
|
e.TaildropTarget = v
|
||||||
|
}
|
||||||
e.Location = st.Location
|
e.Location = st.Location
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user