2021-08-22 14:58:39 -07:00
|
|
|
package wireguard
|
|
|
|
|
|
2021-08-23 21:12:28 +00:00
|
|
|
import "github.com/qdm12/gluetun/internal/netlink"
|
2021-08-22 14:58:39 -07:00
|
|
|
|
|
|
|
|
//go:generate mockgen -destination=netlinker_mock_test.go -package wireguard . NetLinker
|
|
|
|
|
|
|
|
|
|
type NetLinker interface {
|
2023-05-29 06:44:58 +00:00
|
|
|
AddrReplace(link netlink.Link, addr netlink.Addr) error
|
2022-08-24 19:41:26 +00:00
|
|
|
Router
|
|
|
|
|
Ruler
|
|
|
|
|
Linker
|
|
|
|
|
IsWireguardSupported() (ok bool, err error)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Router interface {
|
2023-06-08 09:12:46 +00:00
|
|
|
RouteList(family int) (routes []netlink.Route, err error)
|
2023-05-29 06:44:58 +00:00
|
|
|
RouteAdd(route netlink.Route) error
|
2022-08-24 19:41:26 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Ruler interface {
|
2023-05-29 06:44:58 +00:00
|
|
|
RuleAdd(rule netlink.Rule) error
|
|
|
|
|
RuleDel(rule netlink.Rule) error
|
2022-08-24 19:41:26 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Linker interface {
|
2023-05-29 06:44:58 +00:00
|
|
|
LinkAdd(link netlink.Link) (linkIndex int, err error)
|
2021-09-21 15:12:48 +00:00
|
|
|
LinkList() (links []netlink.Link, err error)
|
2021-08-23 21:12:28 +00:00
|
|
|
LinkByName(name string) (link netlink.Link, err error)
|
2023-05-29 06:44:58 +00:00
|
|
|
LinkSetUp(link netlink.Link) (linkIndex int, err error)
|
2021-09-04 22:29:04 +00:00
|
|
|
LinkSetDown(link netlink.Link) error
|
|
|
|
|
LinkDel(link netlink.Link) error
|
2021-08-22 14:58:39 -07:00
|
|
|
}
|