From c8af6bc00915374707674d8e1ba8036cdaa861a9 Mon Sep 17 00:00:00 2001 From: Denton Gentry Date: Fri, 5 Mar 2021 15:37:01 -0800 Subject: [PATCH] Revert "freebsd: ignore IPv6 for now" This reverts commit 061422affcc4278d0400c248432f39ee60fcf16e. We have a way to support IPv6 on FreeBSD now. Signed-off-by: Denton Gentry --- wgengine/router/config_clone.go | 39 ------------------------- wgengine/router/dns/config.go | 2 -- wgengine/router/dns/config_clone.go | 33 --------------------- wgengine/router/router.go | 2 -- wgengine/router/router_userspace_bsd.go | 32 -------------------- 5 files changed, 108 deletions(-) delete mode 100644 wgengine/router/config_clone.go delete mode 100644 wgengine/router/dns/config_clone.go diff --git a/wgengine/router/config_clone.go b/wgengine/router/config_clone.go deleted file mode 100644 index e35c21043..000000000 --- a/wgengine/router/config_clone.go +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c) 2020 Tailscale Inc & AUTHORS All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Code generated by tailscale.com/cmd/cloner -type Config; DO NOT EDIT. - -package router - -import ( - "inet.af/netaddr" - "tailscale.com/types/preftype" - "tailscale.com/wgengine/router/dns" -) - -// Clone makes a deep copy of Config. -// The result aliases no memory with the original. -func (src *Config) Clone() *Config { - if src == nil { - return nil - } - dst := new(Config) - *dst = *src - dst.LocalAddrs = append(src.LocalAddrs[:0:0], src.LocalAddrs...) - dst.Routes = append(src.Routes[:0:0], src.Routes...) - dst.DNS = *src.DNS.Clone() - dst.SubnetRoutes = append(src.SubnetRoutes[:0:0], src.SubnetRoutes...) - return dst -} - -// A compilation failure here means this code must be regenerated, with command: -// tailscale.com/cmd/cloner -type Config -var _ConfigNeedsRegeneration = Config(struct { - LocalAddrs []netaddr.IPPrefix - Routes []netaddr.IPPrefix - DNS dns.Config - SubnetRoutes []netaddr.IPPrefix - SNATSubnetRoutes bool - NetfilterMode preftype.NetfilterMode -}{}) diff --git a/wgengine/router/dns/config.go b/wgengine/router/dns/config.go index e1adfefce..2b6ff615a 100644 --- a/wgengine/router/dns/config.go +++ b/wgengine/router/dns/config.go @@ -10,8 +10,6 @@ import ( "tailscale.com/types/logger" ) -//go:generate go run tailscale.com/cmd/cloner -type=Config -output=config_clone.go - // Config is the set of parameters that uniquely determine // the state to which a manager should bring system DNS settings. type Config struct { diff --git a/wgengine/router/dns/config_clone.go b/wgengine/router/dns/config_clone.go deleted file mode 100644 index 42e91a6e1..000000000 --- a/wgengine/router/dns/config_clone.go +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) 2020 Tailscale Inc & AUTHORS All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Code generated by tailscale.com/cmd/cloner -type Config; DO NOT EDIT. - -package dns - -import ( - "inet.af/netaddr" -) - -// Clone makes a deep copy of Config. -// The result aliases no memory with the original. -func (src *Config) Clone() *Config { - if src == nil { - return nil - } - dst := new(Config) - *dst = *src - dst.Nameservers = append(src.Nameservers[:0:0], src.Nameservers...) - dst.Domains = append(src.Domains[:0:0], src.Domains...) - return dst -} - -// A compilation failure here means this code must be regenerated, with command: -// tailscale.com/cmd/cloner -type Config -var _ConfigNeedsRegeneration = Config(struct { - Nameservers []netaddr.IP - Domains []string - PerDomain bool - Proxied bool -}{}) diff --git a/wgengine/router/router.go b/wgengine/router/router.go index b8f626e7b..9c3f1003f 100644 --- a/wgengine/router/router.go +++ b/wgengine/router/router.go @@ -54,8 +54,6 @@ func Cleanup(logf logger.Logf, interfaceName string) { cleanup(logf, interfaceName) } -//go:generate go run tailscale.com/cmd/cloner -type=Config -output=config_clone.go - // Config is the subset of Tailscale configuration that is relevant to // the OS's network stack. type Config struct { diff --git a/wgengine/router/router_userspace_bsd.go b/wgengine/router/router_userspace_bsd.go index b867f8a4e..fb81d62fb 100644 --- a/wgengine/router/router_userspace_bsd.go +++ b/wgengine/router/router_userspace_bsd.go @@ -10,7 +10,6 @@ import ( "fmt" "log" "os/exec" - "runtime" "github.com/tailscale/wireguard-go/device" "github.com/tailscale/wireguard-go/tun" @@ -102,40 +101,9 @@ func inet(p netaddr.IPPrefix) string { return "inet" } -// See https://github.com/tailscale/tailscale/issues/1307#issuecomment-786045280 -// Remove all IPv6 entries. -func (r *userspaceBSDRouter) modifiedConfigForFreeBSDBugWorkaround(cfg *Config) *Config { - n := cfg.Clone() - - n.LocalAddrs = n.LocalAddrs[:0] - for _, addr := range cfg.LocalAddrs { - if !addr.IP.Is6() { - n.LocalAddrs = append(n.LocalAddrs, addr) - } - } - - n.Routes = n.Routes[:0] - for _, addr := range cfg.Routes { - if !addr.IP.Is6() { - n.Routes = append(n.Routes, addr) - } - } - - n.SubnetRoutes = n.SubnetRoutes[:0] - for _, addr := range cfg.SubnetRoutes { - if !addr.IP.Is6() { - n.SubnetRoutes = append(n.SubnetRoutes, addr) - } - } - - return n -} - func (r *userspaceBSDRouter) Set(cfg *Config) (reterr error) { if cfg == nil { cfg = &shutdownConfig - } else if runtime.GOOS == "freebsd" { - cfg = r.modifiedConfigForFreeBSDBugWorkaround(cfg) } var errq error