mirror of
https://github.com/qdm12/gluetun.git
synced 2026-05-07 04:20:12 +02:00
chore(all): make code compilable for other platforms than Linux
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
//go:build linux || darwin
|
||||
|
||||
package netlink
|
||||
|
||||
import (
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
//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")
|
||||
}
|
||||
@@ -4,12 +4,6 @@ import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
const (
|
||||
FamilyAll = 0
|
||||
FamilyV4 = 2
|
||||
FamilyV6 = 10
|
||||
)
|
||||
|
||||
func FamilyToString(family int) string {
|
||||
switch family {
|
||||
case FamilyAll:
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package netlink
|
||||
|
||||
import "golang.org/x/sys/unix"
|
||||
|
||||
const (
|
||||
FamilyAll = unix.AF_UNSPEC
|
||||
FamilyV4 = unix.AF_INET
|
||||
FamilyV6 = unix.AF_INET6
|
||||
)
|
||||
@@ -1,5 +1,3 @@
|
||||
//go:build linux || darwin
|
||||
|
||||
package netlink
|
||||
|
||||
import "github.com/vishvananda/netlink"
|
||||
@@ -62,8 +60,8 @@ func (n *NetLink) LinkSetDown(link Link) (err error) {
|
||||
return netlink.LinkSetDown(linkToNetlinkLink(&link))
|
||||
}
|
||||
|
||||
func (n *NetLink) LinkSetMTU(link Link, mtu int) error {
|
||||
return netlink.LinkSetMTU(linkToNetlinkLink(&link), mtu)
|
||||
func (n *NetLink) LinkSetMTU(link Link, mtu uint32) error {
|
||||
return netlink.LinkSetMTU(linkToNetlinkLink(&link), int(mtu))
|
||||
}
|
||||
|
||||
type netlinkLinkImpl struct {
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
//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")
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
//go:build !linux
|
||||
|
||||
package netlink
|
||||
|
||||
const (
|
||||
// FamilyAll is a placeholder only and should not
|
||||
// be used.
|
||||
FamilyAll = iota
|
||||
// FamilyV4 is a placeholder only and should not
|
||||
// be used.
|
||||
FamilyV4
|
||||
// FamilyV6 is a placeholder only and should not
|
||||
// be used.
|
||||
FamilyV6
|
||||
)
|
||||
|
||||
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")
|
||||
}
|
||||
|
||||
func (n *NetLink) IsWireguardSupported() bool {
|
||||
panic("not implemented")
|
||||
}
|
||||
@@ -1,5 +1,3 @@
|
||||
//go:build linux || darwin
|
||||
|
||||
package netlink
|
||||
|
||||
import (
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
//go:build !linux && !darwin
|
||||
|
||||
package netlink
|
||||
|
||||
func (n *NetLink) RouteList(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")
|
||||
}
|
||||
@@ -1,5 +1,3 @@
|
||||
//go:build linux
|
||||
|
||||
package netlink
|
||||
|
||||
import (
|
||||
@@ -18,40 +16,6 @@ func NewRule() Rule {
|
||||
}
|
||||
}
|
||||
|
||||
func (n *NetLink) RuleList(family int) (rules []Rule, err error) {
|
||||
switch family {
|
||||
case FamilyAll:
|
||||
n.debugLogger.Debug("ip -4 rule list")
|
||||
n.debugLogger.Debug("ip -6 rule list")
|
||||
case FamilyV4:
|
||||
n.debugLogger.Debug("ip -4 rule list")
|
||||
case FamilyV6:
|
||||
n.debugLogger.Debug("ip -6 rule list")
|
||||
}
|
||||
netlinkRules, err := netlink.RuleList(family)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
rules = make([]Rule, len(netlinkRules))
|
||||
for i := range netlinkRules {
|
||||
rules[i] = netlinkRuleToRule(netlinkRules[i])
|
||||
}
|
||||
return rules, nil
|
||||
}
|
||||
|
||||
func (n *NetLink) RuleAdd(rule Rule) error {
|
||||
n.debugLogger.Debug(ruleDbgMsg(true, rule))
|
||||
netlinkRule := ruleToNetlinkRule(rule)
|
||||
return netlink.RuleAdd(&netlinkRule)
|
||||
}
|
||||
|
||||
func (n *NetLink) RuleDel(rule Rule) error {
|
||||
n.debugLogger.Debug(ruleDbgMsg(false, rule))
|
||||
netlinkRule := ruleToNetlinkRule(rule)
|
||||
return netlink.RuleDel(&netlinkRule)
|
||||
}
|
||||
|
||||
func ruleToNetlinkRule(rule Rule) (netlinkRule netlink.Rule) {
|
||||
netlinkRule = *netlink.NewRule()
|
||||
netlinkRule.Priority = rule.Priority
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package netlink
|
||||
|
||||
import "github.com/vishvananda/netlink"
|
||||
|
||||
func (n *NetLink) RuleList(family int) (rules []Rule, err error) {
|
||||
switch family {
|
||||
case FamilyAll:
|
||||
n.debugLogger.Debug("ip -4 rule list")
|
||||
n.debugLogger.Debug("ip -6 rule list")
|
||||
case FamilyV4:
|
||||
n.debugLogger.Debug("ip -4 rule list")
|
||||
case FamilyV6:
|
||||
n.debugLogger.Debug("ip -6 rule list")
|
||||
}
|
||||
netlinkRules, err := netlink.RuleList(family)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
rules = make([]Rule, len(netlinkRules))
|
||||
for i := range netlinkRules {
|
||||
rules[i] = netlinkRuleToRule(netlinkRules[i])
|
||||
}
|
||||
return rules, nil
|
||||
}
|
||||
|
||||
func (n *NetLink) RuleAdd(rule Rule) error {
|
||||
n.debugLogger.Debug(ruleDbgMsg(true, rule))
|
||||
netlinkRule := ruleToNetlinkRule(rule)
|
||||
return netlink.RuleAdd(&netlinkRule)
|
||||
}
|
||||
|
||||
func (n *NetLink) RuleDel(rule Rule) error {
|
||||
n.debugLogger.Debug(ruleDbgMsg(false, rule))
|
||||
netlinkRule := ruleToNetlinkRule(rule)
|
||||
return netlink.RuleDel(&netlinkRule)
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
//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")
|
||||
}
|
||||
@@ -1,5 +1,3 @@
|
||||
//go:build linux
|
||||
|
||||
package netlink
|
||||
|
||||
import (
|
||||
@@ -1,7 +0,0 @@
|
||||
//go:build !linux
|
||||
|
||||
package netlink
|
||||
|
||||
func (n *NetLink) IsWireguardSupported() (ok bool, err error) {
|
||||
panic("not implemented")
|
||||
}
|
||||
Reference in New Issue
Block a user