net/tsaddr: add func ContainsExitRoutes

Change-Id: I772441a406083e2fe0f9374b2b23d89aac18928f
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2022-03-04 08:00:53 -08:00
committed by Brad Fitzpatrick
parent 7ddf2e2fea
commit b493ef5b71
2 changed files with 27 additions and 12 deletions

View File

@@ -18,6 +18,7 @@ import (
"inet.af/netaddr"
"tailscale.com/atomicfile"
"tailscale.com/net/tsaddr"
"tailscale.com/tailcfg"
"tailscale.com/types/persist"
"tailscale.com/types/preftype"
@@ -442,18 +443,7 @@ func (p *Prefs) AdvertisesExitNode() bool {
if p == nil {
return false
}
var v4, v6 bool
for _, r := range p.AdvertiseRoutes {
if r.Bits() != 0 {
continue
}
if r.IP().Is4() {
v4 = true
} else if r.IP().Is6() {
v6 = true
}
}
return v4 && v6
return tsaddr.ContainsExitRoutes(p.AdvertiseRoutes)
}
// SetAdvertiseExitNode mutates p (if non-nil) to add or remove the two