net/tsaddr: remove IsULA, replace with netaddr.IP.IsPrivate

Signed-off-by: Matt Layher <mdlayher@gmail.com>
pull/2567/head
Matt Layher 3 years ago committed by Denton Gentry
parent d37451bac6
commit 3ff8a55fa7

@ -134,7 +134,7 @@ func LocalAddresses() (regular, loopback []netaddr.IP, err error) {
// but their OS supports IPv6 so they have an fe80:: // but their OS supports IPv6 so they have an fe80::
// address. We don't want to report all of those // address. We don't want to report all of those
// IPv6 LL to Control. // IPv6 LL to Control.
} else if ip.Is6() && tsaddr.IsULA(ip) { } else if ip.Is6() && ip.IsPrivate() {
// Google Cloud Run uses NAT with IPv6 Unique // Google Cloud Run uses NAT with IPv6 Unique
// Local Addresses to provide IPv6 connectivity. // Local Addresses to provide IPv6 connectivity.
ula6 = append(ula6, ip) ula6 = append(ula6, ip)
@ -548,7 +548,7 @@ func isUsableV4(ip netaddr.IP) bool {
// (fc00::/7) are in some environments used with address translation. // (fc00::/7) are in some environments used with address translation.
func isUsableV6(ip netaddr.IP) bool { func isUsableV6(ip netaddr.IP) bool {
return v6Global1.Contains(ip) || return v6Global1.Contains(ip) ||
(tsaddr.IsULA(ip) && !tsaddr.TailscaleULARange().Contains(ip)) (ip.IsPrivate() && !tsaddr.TailscaleULARange().Contains(ip))
} }
var ( var (

@ -105,11 +105,6 @@ func Tailscale4To6(ipv4 netaddr.IP) netaddr.IP {
return netaddr.IPFrom16(ret) return netaddr.IPFrom16(ret)
} }
func IsULA(ip netaddr.IP) bool {
ulaRange.Do(func() { mustPrefix(&ulaRange.v, "fc00::/7") })
return ulaRange.v.Contains(ip)
}
func mustPrefix(v *netaddr.IPPrefix, prefix string) { func mustPrefix(v *netaddr.IPPrefix, prefix string) {
var err error var err error
*v, err = netaddr.ParseIPPrefix(prefix) *v, err = netaddr.ParseIPPrefix(prefix)

@ -43,28 +43,6 @@ func TestCGNATRange(t *testing.T) {
} }
} }
func TestIsUla(t *testing.T) {
tests := []struct {
name string
ip string
want bool
}{
{"first ULA", "fc00::1", true},
{"not ULA", "fb00::1", false},
{"Tailscale", "fd7a:115c:a1e0::1", true},
{"Cloud Run", "fddf:3978:feb1:d745::1", true},
{"zeros", "0000:0000:0000:0000:0000:0000:0000:0000", false},
{"Link Local", "fe80::1", false},
{"Global", "2602::1", false},
}
for _, test := range tests {
if got := IsULA(netaddr.MustParseIP(test.ip)); got != test.want {
t.Errorf("IsULA(%s) = %v, want %v", test.name, got, test.want)
}
}
}
func TestNewContainsIPFunc(t *testing.T) { func TestNewContainsIPFunc(t *testing.T) {
f := NewContainsIPFunc([]netaddr.IPPrefix{netaddr.MustParseIPPrefix("10.0.0.0/8")}) f := NewContainsIPFunc([]netaddr.IPPrefix{netaddr.MustParseIPPrefix("10.0.0.0/8")})
if f(netaddr.MustParseIP("8.8.8.8")) { if f(netaddr.MustParseIP("8.8.8.8")) {

Loading…
Cancel
Save