Brad Fitzpatrick 223ced84b5 feature/ace: make ACE modular
Updates #12614

Change-Id: Iaee75d8831c4ba5c9705d7877bb78044424c6da1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2025-10-03 19:37:42 -07:00

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
}