From caabaf918e5c1353771e1bcf71c45ba6788b57fc Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Mon, 29 May 2023 07:16:50 +0000 Subject: [PATCH] feat(dev): support development on darwin (OSX) - Netlink linux tagged files - Netlink linux || darwin tagged files - Create non-implemented files for NOT linux - Create non-implemented files for NOT linux and NOT darwin - Specify wireguard netlink integration test as for linux only --- internal/netlink/address.go | 2 ++ internal/netlink/address_unspecified.go | 12 +++++++ internal/netlink/link.go | 2 ++ internal/netlink/link_unspecified.go | 31 +++++++++++++++++++ internal/netlink/route.go | 2 ++ internal/netlink/route_unspecified.go | 20 ++++++++++++ internal/netlink/rule.go | 2 ++ internal/netlink/rule_unspecified.go | 19 ++++++++++++ internal/netlink/wireguard.go | 2 ++ internal/netlink/wireguard_test.go | 2 ++ internal/netlink/wireguard_unspecified.go | 7 +++++ .../wireguard/netlink_integration_test.go | 3 +- 12 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 internal/netlink/address_unspecified.go create mode 100644 internal/netlink/link_unspecified.go create mode 100644 internal/netlink/route_unspecified.go create mode 100644 internal/netlink/rule_unspecified.go create mode 100644 internal/netlink/wireguard_unspecified.go diff --git a/internal/netlink/address.go b/internal/netlink/address.go index d56a3151..5d036e6e 100644 --- a/internal/netlink/address.go +++ b/internal/netlink/address.go @@ -1,3 +1,5 @@ +//go:build linux || darwin + package netlink import ( diff --git a/internal/netlink/address_unspecified.go b/internal/netlink/address_unspecified.go new file mode 100644 index 00000000..f4df3c35 --- /dev/null +++ b/internal/netlink/address_unspecified.go @@ -0,0 +1,12 @@ +//go:build !linux && !darwin + +package netlink + +func (n *NetLink) AddrList(link Link, family int) ( + addresses []Addr, err error) { + panic("not implemented") +} + +func (n *NetLink) AddrReplace(Link, Addr) error { + panic("not implemented") +} diff --git a/internal/netlink/link.go b/internal/netlink/link.go index f80f8ae7..c697fbf4 100644 --- a/internal/netlink/link.go +++ b/internal/netlink/link.go @@ -1,3 +1,5 @@ +//go:build linux || darwin + package netlink import "github.com/vishvananda/netlink" diff --git a/internal/netlink/link_unspecified.go b/internal/netlink/link_unspecified.go new file mode 100644 index 00000000..d21e34bd --- /dev/null +++ b/internal/netlink/link_unspecified.go @@ -0,0 +1,31 @@ +//go:build !linux && !darwin + +package netlink + +func (n *NetLink) LinkList() (links []Link, err error) { + panic("not implemented") +} + +func (n *NetLink) LinkByName(name string) (link Link, err error) { + panic("not implemented") +} + +func (n *NetLink) LinkByIndex(index int) (link Link, err error) { + panic("not implemented") +} + +func (n *NetLink) LinkAdd(link Link) (linkIndex int, err error) { + panic("not implemented") +} + +func (n *NetLink) LinkDel(link Link) (err error) { + panic("not implemented") +} + +func (n *NetLink) LinkSetUp(link Link) (linkIndex int, err error) { + panic("not implemented") +} + +func (n *NetLink) LinkSetDown(link Link) (err error) { + panic("not implemented") +} diff --git a/internal/netlink/route.go b/internal/netlink/route.go index 6c3aaf67..e7153412 100644 --- a/internal/netlink/route.go +++ b/internal/netlink/route.go @@ -1,3 +1,5 @@ +//go:build linux || darwin + package netlink import ( diff --git a/internal/netlink/route_unspecified.go b/internal/netlink/route_unspecified.go new file mode 100644 index 00000000..8696dcb2 --- /dev/null +++ b/internal/netlink/route_unspecified.go @@ -0,0 +1,20 @@ +//go:build !linux && !darwin + +package netlink + +func (n *NetLink) RouteList(link *Link, family int) ( + routes []Route, err error) { + panic("not implemented") +} + +func (n *NetLink) RouteAdd(route Route) error { + panic("not implemented") +} + +func (n *NetLink) RouteDel(route Route) error { + panic("not implemented") +} + +func (n *NetLink) RouteReplace(route Route) error { + panic("not implemented") +} diff --git a/internal/netlink/rule.go b/internal/netlink/rule.go index 532677d5..df0d2928 100644 --- a/internal/netlink/rule.go +++ b/internal/netlink/rule.go @@ -1,3 +1,5 @@ +//go:build linux + package netlink import ( diff --git a/internal/netlink/rule_unspecified.go b/internal/netlink/rule_unspecified.go new file mode 100644 index 00000000..b13d281f --- /dev/null +++ b/internal/netlink/rule_unspecified.go @@ -0,0 +1,19 @@ +//go:build !linux + +package netlink + +func NewRule() Rule { + return Rule{} +} + +func (n *NetLink) RuleList(family int) (rules []Rule, err error) { + panic("not implemented") +} + +func (n *NetLink) RuleAdd(rule Rule) error { + panic("not implemented") +} + +func (n *NetLink) RuleDel(rule Rule) error { + panic("not implemented") +} diff --git a/internal/netlink/wireguard.go b/internal/netlink/wireguard.go index 947d424a..9c52bf1f 100644 --- a/internal/netlink/wireguard.go +++ b/internal/netlink/wireguard.go @@ -1,3 +1,5 @@ +//go:build linux + package netlink import ( diff --git a/internal/netlink/wireguard_test.go b/internal/netlink/wireguard_test.go index 5a9fb34e..643f2c93 100644 --- a/internal/netlink/wireguard_test.go +++ b/internal/netlink/wireguard_test.go @@ -1,3 +1,5 @@ +//go:build linux || darwin + package netlink import ( diff --git a/internal/netlink/wireguard_unspecified.go b/internal/netlink/wireguard_unspecified.go new file mode 100644 index 00000000..97e2923f --- /dev/null +++ b/internal/netlink/wireguard_unspecified.go @@ -0,0 +1,7 @@ +//go:build !linux + +package netlink + +func (n *NetLink) IsWireguardSupported() (ok bool, err error) { + panic("not implemented") +} diff --git a/internal/wireguard/netlink_integration_test.go b/internal/wireguard/netlink_integration_test.go index 92e18f63..573131d8 100644 --- a/internal/wireguard/netlink_integration_test.go +++ b/internal/wireguard/netlink_integration_test.go @@ -1,5 +1,4 @@ -//go:build netlink -// +build netlink +//go:build netlink && linux package wireguard