From 2b457ee82f379545f8023612f7e9dbbc53fe6589 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Thu, 1 Sep 2022 02:12:46 +0000 Subject: [PATCH] fix: Prepend STUN nodes for DERP This makes Tailscale prefer STUN over DERP when possible. --- tailnet/derpmap.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tailnet/derpmap.go b/tailnet/derpmap.go index 36ff02b89f9dc..9c8122238cec7 100644 --- a/tailnet/derpmap.go +++ b/tailnet/derpmap.go @@ -24,13 +24,13 @@ func NewDERPMap(ctx context.Context, region *tailcfg.DERPRegion, stunAddrs []str if err != nil { return nil, xerrors.Errorf("parse port for %q: %w", stunAddr, err) } - region.Nodes = append(region.Nodes, &tailcfg.DERPNode{ + region.Nodes = append([]*tailcfg.DERPNode{{ Name: fmt.Sprintf("%dstun%d", region.RegionID, index), RegionID: region.RegionID, HostName: host, STUNOnly: true, STUNPort: port, - }) + }}, region.Nodes...) } derpMap := &tailcfg.DERPMap{