mirror of
https://github.com/tailscale/tailscale.git
synced 2025-12-23 09:06:24 +00:00
26 lines
546 B
Go
26 lines
546 B
Go
|
|
// Copyright (c) Tailscale Inc & AUTHORS
|
||
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
||
|
|
|
||
|
|
// Package ace registers support for Alternate Connectivity Endpoints (ACE).
|
||
|
|
package ace
|
||
|
|
|
||
|
|
import (
|
||
|
|
"net/netip"
|
||
|
|
|
||
|
|
"tailscale.com/control/controlhttp"
|
||
|
|
"tailscale.com/net/ace"
|
||
|
|
"tailscale.com/net/netx"
|
||
|
|
)
|
||
|
|
|
||
|
|
func init() {
|
||
|
|
controlhttp.HookMakeACEDialer.Set(mkDialer)
|
||
|
|
}
|
||
|
|
|
||
|
|
func mkDialer(dialer netx.DialFunc, aceHost string, optIP netip.Addr) netx.DialFunc {
|
||
|
|
return (&ace.Dialer{
|
||
|
|
ACEHost: aceHost,
|
||
|
|
ACEHostIP: optIP, // may be zero
|
||
|
|
NetDialer: dialer,
|
||
|
|
}).Dial
|
||
|
|
}
|