ace.go 546 B

12345678910111213141516171819202122232425
  1. // Copyright (c) Tailscale Inc & AUTHORS
  2. // SPDX-License-Identifier: BSD-3-Clause
  3. // Package ace registers support for Alternate Connectivity Endpoints (ACE).
  4. package ace
  5. import (
  6. "net/netip"
  7. "tailscale.com/control/controlhttp"
  8. "tailscale.com/net/ace"
  9. "tailscale.com/net/netx"
  10. )
  11. func init() {
  12. controlhttp.HookMakeACEDialer.Set(mkDialer)
  13. }
  14. func mkDialer(dialer netx.DialFunc, aceHost string, optIP netip.Addr) netx.DialFunc {
  15. return (&ace.Dialer{
  16. ACEHost: aceHost,
  17. ACEHostIP: optIP, // may be zero
  18. NetDialer: dialer,
  19. }).Dial
  20. }