mirror of
https://github.com/tailscale/tailscale.git
synced 2025-08-21 02:17:36 +00:00
tailcfg: add DERPRegion.NoMeasureNoHome, deprecate+document Avoid [cap 115]
Fixes tailscale/corp#24697 Change-Id: Ib81994b5ded3dc87a1eef079eb268906a2acb3f8 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:

committed by
Brad Fitzpatrick

parent
346a35f612
commit
eb3313e825
@@ -96,12 +96,32 @@ type DERPRegion struct {
|
||||
Latitude float64 `json:",omitempty"`
|
||||
Longitude float64 `json:",omitempty"`
|
||||
|
||||
// Avoid is whether the client should avoid picking this as its home
|
||||
// region. The region should only be used if a peer is there.
|
||||
// Clients already using this region as their home should migrate
|
||||
// away to a new region without Avoid set.
|
||||
// Avoid is whether the client should avoid picking this as its home region.
|
||||
// The region should only be used if a peer is there. Clients already using
|
||||
// this region as their home should migrate away to a new region without
|
||||
// Avoid set.
|
||||
//
|
||||
// Deprecated: because of bugs in past implementations combined with unclear
|
||||
// docs that caused people to think the bugs were intentional, this field is
|
||||
// deprecated. It was never supposed to cause STUN/DERP measurement probes,
|
||||
// but due to bugs, it sometimes did. And then some parts of the code began
|
||||
// to rely on that property. But then we were unable to use this field for
|
||||
// its original purpose, nor its later imagined purpose, because various
|
||||
// parts of the codebase thought it meant one thing and others thought it
|
||||
// meant another. But it did something in the middle instead. So we're retiring
|
||||
// it. Use NoMeasureNoHome instead.
|
||||
Avoid bool `json:",omitempty"`
|
||||
|
||||
// NoMeasureNoHome says that this regions should not be measured for its
|
||||
// latency distance (STUN, HTTPS, etc) or availability (e.g. captive portal
|
||||
// checks) and should never be selected as the node's home region. However,
|
||||
// if a peer declares this region as its home, then this client is allowed
|
||||
// to connect to it for the purpose of communicating with that peer.
|
||||
//
|
||||
// This is what the now deprecated Avoid bool was supposed to mean
|
||||
// originally but had implementation bugs and documentation omissions.
|
||||
NoMeasureNoHome bool `json:",omitempty"`
|
||||
|
||||
// Nodes are the DERP nodes running in this region, in
|
||||
// priority order for the current client. Client TLS
|
||||
// connections should ideally only go to the first entry
|
||||
|
Reference in New Issue
Block a user