mirror of
https://github.com/tailscale/tailscale.git
synced 2025-04-19 21:23:58 +00:00
{ipn,net,tsnet}: use tsaddr helpers
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
This commit is contained in:
parent
f03e82a97c
commit
7d1160ddaa
@ -4593,11 +4593,6 @@ func magicDNSRootDomains(nm *netmap.NetworkMap) []dnsname.FQDN {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
|
||||||
ipv4Default = netip.MustParsePrefix("0.0.0.0/0")
|
|
||||||
ipv6Default = netip.MustParsePrefix("::/0")
|
|
||||||
)
|
|
||||||
|
|
||||||
// peerRoutes returns the routerConfig.Routes to access peers.
|
// peerRoutes returns the routerConfig.Routes to access peers.
|
||||||
// If there are over cgnatThreshold CGNAT routes, one big CGNAT route
|
// If there are over cgnatThreshold CGNAT routes, one big CGNAT route
|
||||||
// is used instead.
|
// is used instead.
|
||||||
@ -4698,9 +4693,9 @@ func (b *LocalBackend) routerConfig(cfg *wgcfg.Config, prefs ipn.PrefsView, oneC
|
|||||||
var default4, default6 bool
|
var default4, default6 bool
|
||||||
for _, route := range rs.Routes {
|
for _, route := range rs.Routes {
|
||||||
switch route {
|
switch route {
|
||||||
case ipv4Default:
|
case tsaddr.AllIPv4():
|
||||||
default4 = true
|
default4 = true
|
||||||
case ipv6Default:
|
case tsaddr.AllIPv6():
|
||||||
default6 = true
|
default6 = true
|
||||||
}
|
}
|
||||||
if default4 && default6 {
|
if default4 && default6 {
|
||||||
@ -4708,10 +4703,10 @@ func (b *LocalBackend) routerConfig(cfg *wgcfg.Config, prefs ipn.PrefsView, oneC
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !default4 {
|
if !default4 {
|
||||||
rs.Routes = append(rs.Routes, ipv4Default)
|
rs.Routes = append(rs.Routes, tsaddr.AllIPv4())
|
||||||
}
|
}
|
||||||
if !default6 {
|
if !default6 {
|
||||||
rs.Routes = append(rs.Routes, ipv6Default)
|
rs.Routes = append(rs.Routes, tsaddr.AllIPv6())
|
||||||
}
|
}
|
||||||
internalIPs, externalIPs, err := internalAndExternalInterfaces()
|
internalIPs, externalIPs, err := internalAndExternalInterfaces()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -4768,14 +4763,7 @@ func (b *LocalBackend) applyPrefsToHostinfoLocked(hi *tailcfg.Hostinfo, prefs ip
|
|||||||
hi.ShieldsUp = prefs.ShieldsUp()
|
hi.ShieldsUp = prefs.ShieldsUp()
|
||||||
hi.AllowsUpdate = envknob.AllowsRemoteUpdate() || prefs.AutoUpdate().Apply.EqualBool(true)
|
hi.AllowsUpdate = envknob.AllowsRemoteUpdate() || prefs.AutoUpdate().Apply.EqualBool(true)
|
||||||
|
|
||||||
// count routes without exit node routes
|
b.metrics.advertisedRoutes.Set(float64(tsaddr.WithoutExitRoute(prefs.AdvertiseRoutes()).Len()))
|
||||||
var routes int64
|
|
||||||
for _, route := range hi.RoutableIPs {
|
|
||||||
if route.Bits() != 0 {
|
|
||||||
routes++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
b.metrics.advertisedRoutes.Set(float64(routes))
|
|
||||||
|
|
||||||
var sshHostKeys []string
|
var sshHostKeys []string
|
||||||
if prefs.RunSSH() && envknob.CanSSHD() {
|
if prefs.RunSSH() && envknob.CanSSHD() {
|
||||||
|
@ -13,11 +13,6 @@ import (
|
|||||||
"tailscale.com/net/tsaddr"
|
"tailscale.com/net/tsaddr"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
|
||||||
ipv4default = netip.MustParsePrefix("0.0.0.0/0")
|
|
||||||
ipv6default = netip.MustParsePrefix("::/0")
|
|
||||||
)
|
|
||||||
|
|
||||||
func validateViaPrefix(ipp netip.Prefix) error {
|
func validateViaPrefix(ipp netip.Prefix) error {
|
||||||
if !tsaddr.IsViaPrefix(ipp) {
|
if !tsaddr.IsViaPrefix(ipp) {
|
||||||
return fmt.Errorf("%v is not a 4-in-6 prefix", ipp)
|
return fmt.Errorf("%v is not a 4-in-6 prefix", ipp)
|
||||||
@ -60,22 +55,22 @@ func CalcAdvertiseRoutes(advertiseRoutes string, advertiseDefaultRoute bool) ([]
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ipp == ipv4default {
|
if ipp == tsaddr.AllIPv4() {
|
||||||
default4 = true
|
default4 = true
|
||||||
} else if ipp == ipv6default {
|
} else if ipp == tsaddr.AllIPv6() {
|
||||||
default6 = true
|
default6 = true
|
||||||
}
|
}
|
||||||
routeMap[ipp] = true
|
routeMap[ipp] = true
|
||||||
}
|
}
|
||||||
if default4 && !default6 {
|
if default4 && !default6 {
|
||||||
return nil, fmt.Errorf("%s advertised without its IPv6 counterpart, please also advertise %s", ipv4default, ipv6default)
|
return nil, fmt.Errorf("%s advertised without its IPv6 counterpart, please also advertise %s", tsaddr.AllIPv4(), tsaddr.AllIPv6())
|
||||||
} else if default6 && !default4 {
|
} else if default6 && !default4 {
|
||||||
return nil, fmt.Errorf("%s advertised without its IPv4 counterpart, please also advertise %s", ipv6default, ipv4default)
|
return nil, fmt.Errorf("%s advertised without its IPv4 counterpart, please also advertise %s", tsaddr.AllIPv6(), tsaddr.AllIPv4())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if advertiseDefaultRoute {
|
if advertiseDefaultRoute {
|
||||||
routeMap[netip.MustParsePrefix("0.0.0.0/0")] = true
|
routeMap[tsaddr.AllIPv4()] = true
|
||||||
routeMap[netip.MustParsePrefix("::/0")] = true
|
routeMap[tsaddr.AllIPv6()] = true
|
||||||
}
|
}
|
||||||
if len(routeMap) == 0 {
|
if len(routeMap) == 0 {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
|
Loading…
x
Reference in New Issue
Block a user