Files
gluetun/internal/routing/routing.go

41 lines
776 B
Go
Raw Normal View History

package routing
import (
"net"
"github.com/qdm12/golibs/logging"
)
type Routing interface {
Setup() (err error)
TearDown() 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)
2020-10-25 20:40:17 +00:00
SetVerbose(verbose bool)
SetDebug()
}
type routing struct {
2020-10-25 20:40:17 +00:00
logger logging.Logger
verbose bool
debug bool
}
2020-10-20 02:45:28 +00:00
// NewConfigurator creates a new Configurator instance.
func NewRouting(logger logging.Logger) Routing {
return &routing{
2020-10-25 20:40:17 +00:00
logger: logger.WithPrefix("routing: "),
verbose: true,
}
}
2020-10-25 20:40:17 +00:00
func (c *routing) SetVerbose(verbose bool) {
c.verbose = verbose
}
func (c *routing) SetDebug() {
c.debug = true
}