Files
gluetun/internal/routing/routing.go
Quentin McGaw ed4fcc17b3 Routing improvements (#268)
- Fixes #82 
- Remove `EXTRA_SUBNETS`
- Remove no longer needed iptables rules
- Reduce routing interface arity
- Routing setup is done in main.go instead of in the firewall
- Routing setup gets reverted at shutdown
2020-10-24 18:05:11 -04:00

34 lines
647 B
Go

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)
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
}