tailcfg: add DERPRegion anycast fields

Change-Id: Id0f012a31372d5f1564059cf6b5595ace1a1ced4
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
bradfitz/derpy_cast
Brad Fitzpatrick 2022-03-20 13:56:17 -07:00
parent bfb4a4d9e9
commit 6d33a7b5d0
1 changed files with 14 additions and 0 deletions

View File

@ -68,6 +68,20 @@ type DERPRegion struct {
// away to a new region without Avoid set.
Avoid bool `json:",omitempty"`
// AnycastIPv4 and AnycastIPv6, if non-empty, specify that
// this region is discoverable via Anycast STUN queries. The
// STUN responses will indicate which region replied.
//
// Why a region has any anycast address for an address family,
// the Node-specific address(es) for that address family
// in the Nodes slice should not be used for STUN. They should,
// however, be used for TCP connections.
//
// If multiple regions share an anycast address, only one STUN
// query should be sent out (per address family) for the whole
// group.
AnycastIPv4, AnycastIPv6 string `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