summaryrefslogtreecommitdiffhomepage
path: root/net/netcheck
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@tailscale.com>2024-11-19 13:29:33 -0800
committerBrad Fitzpatrick <bradfitz@tailscale.com>2024-11-20 10:11:51 -0800
commitc084e3f6ec81dc629f7ed3aed54148a56a27269a (patch)
tree6023a999e8c75fcad0bde3626879e10e476383cc /net/netcheck
parent9f33aeb649f279412f6b7b24a61506ef37fadb47 (diff)
downloadtailscale-bradfitz/avoid_initial.tar.xz
tailscale-bradfitz/avoid_initial.zip
net/netcheck: respect DERPRegion.Avoid on initial probe plan toobradfitz/avoid_initial
As found by @jwhited/@raggi. Updates #8603 Updates #13969 Updates tailscale/corp#24697 Change-Id: I32bb412a06e46a5fc154d87147e75363cf0d5407 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
Diffstat (limited to 'net/netcheck')
-rw-r--r--net/netcheck/netcheck.go2
-rw-r--r--net/netcheck/netcheck_test.go3
2 files changed, 3 insertions, 2 deletions
diff --git a/net/netcheck/netcheck.go b/net/netcheck/netcheck.go
index 2c429862e..c701cc05e 100644
--- a/net/netcheck/netcheck.go
+++ b/net/netcheck/netcheck.go
@@ -541,7 +541,7 @@ func makeProbePlanInitial(dm *tailcfg.DERPMap, ifState *netmon.State) (plan prob
plan = make(probePlan)
for _, reg := range dm.Regions {
- if len(reg.Nodes) == 0 {
+ if reg.Avoid || len(reg.Nodes) == 0 {
continue
}
diff --git a/net/netcheck/netcheck_test.go b/net/netcheck/netcheck_test.go
index b4fbb4023..3881fe1bc 100644
--- a/net/netcheck/netcheck_test.go
+++ b/net/netcheck/netcheck_test.go
@@ -401,7 +401,7 @@ func TestMakeProbePlan(t *testing.T) {
basicMap := &tailcfg.DERPMap{
Regions: map[int]*tailcfg.DERPRegion{},
}
- for rid := 1; rid <= 5; rid++ {
+ for rid := 1; rid <= 6; rid++ {
var nodes []*tailcfg.DERPNode
for nid := 0; nid < rid; nid++ {
nodes = append(nodes, &tailcfg.DERPNode{
@@ -415,6 +415,7 @@ func TestMakeProbePlan(t *testing.T) {
basicMap.Regions[rid] = &tailcfg.DERPRegion{
RegionID: rid,
Nodes: nodes,
+ Avoid: rid == 6,
}
}