diff --git a/wgengine/router_openbsd.go b/wgengine/router_bsd.go similarity index 92% rename from wgengine/router_openbsd.go rename to wgengine/router_bsd.go index efb19a179..74dc1138a 100644 --- a/wgengine/router_openbsd.go +++ b/wgengine/router_bsd.go @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +// +build openbsd freebsd + package wgengine import ( @@ -25,7 +27,7 @@ import ( // `ifstated(8)`/`devd(8)`, or become possible with the OpenBSD kernel // implementation. This merits further investigation. -type openbsdRouter struct { +type bsdRouter struct { logf logger.Logf tunname string local wgcfg.CIDR @@ -33,7 +35,7 @@ type openbsdRouter struct { } func NewUserspaceRouter(logf logger.Logf, tunname string, _ *device.Device, tuntap tun.Device, _ func()) Router { - r := openbsdRouter{ + r := bsdRouter{ logf: logf, tunname: tunname, } @@ -48,7 +50,7 @@ func cmd(args ...string) *exec.Cmd { return exec.Command(args[0], args[1:]...) } -func (r *openbsdRouter) Up() error { +func (r *bsdRouter) Up() error { ifup := []string{"ifconfig", r.tunname, "up"} if out, err := cmd(ifup...).CombinedOutput(); err != nil { r.logf("running ifconfig failed: %v\n%s", err, out) @@ -57,7 +59,7 @@ func (r *openbsdRouter) Up() error { return nil } -func (r *openbsdRouter) SetRoutes(rs RouteSettings) error { +func (r *bsdRouter) SetRoutes(rs RouteSettings) error { var errq error if rs.LocalAddr != r.local { @@ -155,7 +157,7 @@ func (r *openbsdRouter) SetRoutes(rs RouteSettings) error { return errq } -func (r *openbsdRouter) Close() error { +func (r *bsdRouter) Close() error { out, err := cmd("ifconfig", r.tunname, "down").CombinedOutput() if err != nil { r.logf("running ifconfig failed: %v\n%s", err, out) @@ -172,5 +174,5 @@ func (r *openbsdRouter) Close() error { // TODO(mbaillie): these are no-ops for now. They could re-use the Linux funcs // (sans systemd parts), but I note Linux DNS is disabled(?) so leaving for now. -func (r *openbsdRouter) replaceResolvConf(_ []net.IP, _ []string) error { return nil } -func (r *openbsdRouter) restoreResolvConf() error { return nil } +func (r *bsdRouter) replaceResolvConf(_ []net.IP, _ []string) error { return nil } +func (r *bsdRouter) restoreResolvConf() error { return nil } diff --git a/wgengine/router_default.go b/wgengine/router_default.go index 06618460d..34eacfc12 100644 --- a/wgengine/router_default.go +++ b/wgengine/router_default.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build !windows,!linux,!darwin,!openbsd +// +build !windows,!linux,!darwin,!openbsd,!freebsd package wgengine