From 583f740c0b583081b0c1a39f92e349c49c0c4a41 Mon Sep 17 00:00:00 2001 From: Jordan Whited Date: Thu, 19 Jun 2025 09:47:06 -0700 Subject: [PATCH] Revert "types/netmap,wgengine/magicsock: propagate CapVer to magicsock.endpoint (#16244)" (#16322) This reverts commit 6a93b17c8cafc1d8e1c52e133511e52ed9086355. The reverted commit added more complexity than it was worth at the current stage. Handling delta CapVer changes requires extensive changes to relayManager datastructures in order to also support delta updates of relay servers. Updates tailscale/corp#27502 Signed-off-by: Jordan Whited --- types/netmap/nodemut.go | 13 ------------- types/netmap/nodemut_test.go | 9 --------- wgengine/magicsock/magicsock.go | 4 ---- 3 files changed, 26 deletions(-) diff --git a/types/netmap/nodemut.go b/types/netmap/nodemut.go index ab30ef1e6..f4de1bf0b 100644 --- a/types/netmap/nodemut.go +++ b/types/netmap/nodemut.go @@ -69,17 +69,6 @@ func (m NodeMutationLastSeen) Apply(n *tailcfg.Node) { n.LastSeen = ptr.To(m.LastSeen) } -// NodeMutationCap is a NodeMutation that says a node's -// [tailcfg.CapabilityVersion] value has changed. -type NodeMutationCap struct { - mutatingNodeID - Cap tailcfg.CapabilityVersion -} - -func (m NodeMutationCap) Apply(n *tailcfg.Node) { - n.Cap = m.Cap -} - var peerChangeFields = sync.OnceValue(func() []reflect.StructField { var fields []reflect.StructField rt := reflect.TypeFor[tailcfg.PeerChange]() @@ -116,8 +105,6 @@ func NodeMutationsFromPatch(p *tailcfg.PeerChange) (_ []NodeMutation, ok bool) { ret = append(ret, NodeMutationOnline{mutatingNodeID(p.NodeID), *p.Online}) case "LastSeen": ret = append(ret, NodeMutationLastSeen{mutatingNodeID(p.NodeID), *p.LastSeen}) - case "Cap": - ret = append(ret, NodeMutationCap{mutatingNodeID(p.NodeID), p.Cap}) } } return ret, true diff --git a/types/netmap/nodemut_test.go b/types/netmap/nodemut_test.go index 0f1cac6b2..374f8623a 100644 --- a/types/netmap/nodemut_test.go +++ b/types/netmap/nodemut_test.go @@ -177,14 +177,6 @@ func TestMutationsFromMapResponse(t *testing.T) { }, want: nil, }, - { - name: "patch-cap", - mr: fromChanges(&tailcfg.PeerChange{ - NodeID: 1, - Cap: 2, - }), - want: muts(NodeMutationCap{1, 2}), - }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { @@ -203,7 +195,6 @@ func TestMutationsFromMapResponse(t *testing.T) { NodeMutationDERPHome{}, NodeMutationOnline{}, NodeMutationLastSeen{}, - NodeMutationCap{}, )); diff != "" { t.Errorf("wrong result (-want +got):\n%s", diff) } diff --git a/wgengine/magicsock/magicsock.go b/wgengine/magicsock/magicsock.go index a6c6a3fb6..bfc7afba9 100644 --- a/wgengine/magicsock/magicsock.go +++ b/wgengine/magicsock/magicsock.go @@ -3263,10 +3263,6 @@ func (c *Conn) onNodeMutationsUpdate(update NodeMutationsUpdate) { ep.mu.Lock() ep.setEndpointsLocked(views.SliceOf(m.Endpoints)) ep.mu.Unlock() - case netmap.NodeMutationCap: - ep.mu.Lock() - ep.relayCapable = capVerIsRelayCapable(m.Cap) - ep.mu.Unlock() } } }