Files
gluetun/internal/routing/routing.go
2020-10-22 18:55:28 -04:00

34 lines
731 B
Go

package routing
import (
"net"
"github.com/qdm12/golibs/logging"
)
type Routing interface {
AddRouteVia(destination net.IPNet, gateway net.IP, iface string) error
DeleteRouteVia(destination net.IPNet) (err error)
DefaultRoute() (defaultInterface string, defaultGateway net.IP, err error)
LocalSubnet() (defaultSubnet net.IPNet, err error)
VPNDestinationIP() (ip net.IP, err error)
VPNLocalGatewayIP() (ip net.IP, err error)
SetDebug()
}
type routing struct {
logger logging.Logger
debug bool
}
// NewConfigurator creates a new Configurator instance.
func NewRouting(logger logging.Logger) Routing {
return &routing{
logger: logger.WithPrefix("routing: "),
}
}
func (c *routing) SetDebug() {
c.debug = true
}