prober: fix WithBandwidthProbing behavior with optional tunAddress
1ed9bd76d6
meant to make tunAddress be optional.
Updates tailscale/corp#24635
Change-Id: Idc4a8540b294e480df5bd291967024c04df751c0
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
parent
0cc2a8dc0d
commit
2506b81471
|
@ -51,7 +51,7 @@ type derpProber struct {
|
||||||
// Optional bandwidth probing.
|
// Optional bandwidth probing.
|
||||||
bwInterval time.Duration
|
bwInterval time.Duration
|
||||||
bwProbeSize int64
|
bwProbeSize int64
|
||||||
bwTUNIPv4Prefix *netip.Prefix
|
bwTUNIPv4Prefix *netip.Prefix // or nil to not use TUN
|
||||||
|
|
||||||
// Optionally restrict probes to a single regionCode.
|
// Optionally restrict probes to a single regionCode.
|
||||||
regionCode string
|
regionCode string
|
||||||
|
@ -78,17 +78,19 @@ type DERPOpt func(*derpProber)
|
||||||
// `size` bytes will be regularly transferred through each DERP server, and each
|
// `size` bytes will be regularly transferred through each DERP server, and each
|
||||||
// pair of DERP servers in every region. If tunAddress is specified, probes will
|
// pair of DERP servers in every region. If tunAddress is specified, probes will
|
||||||
// use a TCP connection over a TUN device at this address in order to exercise
|
// use a TCP connection over a TUN device at this address in order to exercise
|
||||||
// TCP-in-TCP in similar fashion to TCP over Tailscale via DERP
|
// TCP-in-TCP in similar fashion to TCP over Tailscale via DERP.
|
||||||
func WithBandwidthProbing(interval time.Duration, size int64, tunAddress string) DERPOpt {
|
func WithBandwidthProbing(interval time.Duration, size int64, tunAddress string) DERPOpt {
|
||||||
return func(d *derpProber) {
|
return func(d *derpProber) {
|
||||||
d.bwInterval = interval
|
d.bwInterval = interval
|
||||||
d.bwProbeSize = size
|
d.bwProbeSize = size
|
||||||
|
if tunAddress != "" {
|
||||||
prefix, err := netip.ParsePrefix(fmt.Sprintf("%s/30", tunAddress))
|
prefix, err := netip.ParsePrefix(fmt.Sprintf("%s/30", tunAddress))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("failed to parse IP prefix from bw-tun-ipv4-addr: %v", err)
|
log.Fatalf("failed to parse IP prefix from bw-tun-ipv4-addr: %v", err)
|
||||||
}
|
}
|
||||||
d.bwTUNIPv4Prefix = &prefix
|
d.bwTUNIPv4Prefix = &prefix
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// WithMeshProbing enables mesh probing. When enabled, a small message will be
|
// WithMeshProbing enables mesh probing. When enabled, a small message will be
|
||||||
|
|
Loading…
Reference in New Issue