Files
gluetun/internal/wireguard/netlinker.go
Quentin McGaw cfa3bb3b64 feat(internal/wireguard): opportunistic kernelspace
- Auto detect if kernelspace implementation is available
- Fallback to Go userspace implementation if kernel is not available
2021-12-14 11:03:36 +00:00

21 lines
725 B
Go

package wireguard
import "github.com/qdm12/gluetun/internal/netlink"
//go:generate mockgen -destination=netlinker_mock_test.go -package wireguard . NetLinker
type NetLinker interface {
AddrAdd(link netlink.Link, addr *netlink.Addr) error
RouteList(link netlink.Link, family int) (routes []netlink.Route, err error)
RouteAdd(route *netlink.Route) error
RuleAdd(rule *netlink.Rule) error
RuleDel(rule *netlink.Rule) error
LinkAdd(link netlink.Link) (err error)
LinkList() (links []netlink.Link, err error)
LinkByName(name string) (link netlink.Link, err error)
LinkSetUp(link netlink.Link) error
LinkSetDown(link netlink.Link) error
LinkDel(link netlink.Link) error
IsWireguardSupported() (ok bool, err error)
}