diff --git a/net/tsaddr/tsaddr.go b/net/tsaddr/tsaddr.go index adb73c607..78543f13d 100644 --- a/net/tsaddr/tsaddr.go +++ b/net/tsaddr/tsaddr.go @@ -41,12 +41,9 @@ var ( // TailscaleServiceIP returns the listen address of services // provided by Tailscale itself such as the MagicDNS proxy. func TailscaleServiceIP() netaddr.IP { - serviceIP.Do(func() { mustIP(&serviceIP.v, "100.100.100.100") }) - return serviceIP.v + return netaddr.IPv4(100, 100, 100, 100) // "100.100.100.100" for those grepping } -var serviceIP onceIP - // IsTailscaleIP reports whether ip is an IP address in a range that // Tailscale assigns from. func IsTailscaleIP(ip netaddr.IP) bool { @@ -126,19 +123,6 @@ type oncePrefix struct { v netaddr.IPPrefix } -func mustIP(v *netaddr.IP, ip string) { - var err error - *v, err = netaddr.ParseIP(ip) - if err != nil { - panic(err) - } -} - -type onceIP struct { - sync.Once - v netaddr.IP -} - // NewContainsIPFunc returns a func that reports whether ip is in addrs. // // It's optimized for the cases of addrs being empty and addrs diff --git a/net/tsaddr/tsaddr_test.go b/net/tsaddr/tsaddr_test.go index eebd61445..2d27d0265 100644 --- a/net/tsaddr/tsaddr_test.go +++ b/net/tsaddr/tsaddr_test.go @@ -93,3 +93,11 @@ func TestNewContainsIPFunc(t *testing.T) { t.Fatal("bad") } } + +var sinkIP netaddr.IP + +func BenchmarkTailscaleServiceAddr(b *testing.B) { + for i := 0; i < b.N; i++ { + sinkIP = TailscaleServiceIP() + } +}