You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/tailcfg
Simon Law c386bc9e9c
ipn/ipnlocal: determine client-side-reachability by pinging
PR #17367 introduced the `client-side-reachability` node attribute
that switches the node to completely ignore the online signal from
control. This was to work around the times when the control plane
determines that a node is not online, while the node is still able to
connect to its peers. However, this breaks high-availability failover,
since nodes that are actually offline are never treated that way.

This PR makes nodeBackend.PeerIsReachable actually test reachability
by disco-pinging the peer node.

In the future, the client itself should collect reachability data from
active Wireguard flows.

Updates #17366
Updates tailscale/corp#30379
Updates tailscale/corp#32686
Updates tailscale/corp#33033

Signed-off-by: Simon Law <sfllaw@tailscale.com>
2 months ago
..
c2ntypes.go ipn/ipnlocal: add a C2N endpoint for fetching a netmap 3 months ago
derpmap.go tailcfg: add DERPRegion.NoMeasureNoHome, deprecate+document Avoid [cap 115] 9 months ago
proto_port_range.go tailcfg: implement text encoding for ProtoPortRange 2 years ago
proto_port_range_test.go tailcfg: implement text encoding for ProtoPortRange 2 years ago
tailcfg.go ipn/ipnlocal: determine client-side-reachability by pinging 2 months ago
tailcfg_clone.go tailcfg: add Hostinfo.ExitNodeID to report the selected exit node (#16625) 5 months ago
tailcfg_test.go tailcfg: add Hostinfo.ExitNodeID to report the selected exit node (#16625) 5 months ago
tailcfg_view.go cmd/viewer: add field comments to generated view methods 3 months ago
tka.go tailcfg: add RPC structs for /tka/affected-sigs 3 years ago