Add routing verbose option in code

This commit is contained in:
Quentin McGaw
2020-10-25 20:40:17 +00:00
parent 5ae7c15211
commit a062135148
3 changed files with 22 additions and 7 deletions

View File

@@ -10,7 +10,9 @@ import (
func (r *routing) addRouteVia(destination net.IPNet, gateway net.IP, iface string, table int) error {
destinationStr := destination.String()
r.logger.Info("adding route for %s", destinationStr)
if r.verbose {
r.logger.Info("adding route for %s", destinationStr)
}
if r.debug {
fmt.Printf("ip route replace %s via %s dev %s table %d\n", destinationStr, gateway, iface, table)
}
@@ -33,7 +35,9 @@ func (r *routing) addRouteVia(destination net.IPNet, gateway net.IP, iface strin
func (r *routing) deleteRouteVia(destination net.IPNet, gateway net.IP, iface string, table int) (err error) {
destinationStr := destination.String()
r.logger.Info("deleting route for %s", destinationStr)
if r.verbose {
r.logger.Info("deleting route for %s", destinationStr)
}
if r.debug {
fmt.Printf("ip route delete %s via %s dev %s table %d\n", destinationStr, gateway, iface, table)
}

View File

@@ -24,7 +24,9 @@ func (r *routing) DefaultRoute() (defaultInterface string, defaultGateway net.IP
}
attributes := link.Attrs()
defaultInterface = attributes.Name
r.logger.Info("default route found: interface %s, gateway %s", defaultInterface, defaultGateway.String())
if r.verbose {
r.logger.Info("default route found: interface %s, gateway %s", defaultInterface, defaultGateway.String())
}
return defaultInterface, defaultGateway, nil
}
}
@@ -77,7 +79,9 @@ func (r *routing) LocalSubnet() (defaultSubnet net.IPNet, err error) {
continue
}
defaultSubnet = *route.Dst
r.logger.Info("local subnet found: %s", defaultSubnet.String())
if r.verbose {
r.logger.Info("local subnet found: %s", defaultSubnet.String())
}
return defaultSubnet, nil
}

View File

@@ -13,21 +13,28 @@ type Routing interface {
LocalSubnet() (defaultSubnet net.IPNet, err error)
VPNDestinationIP() (ip net.IP, err error)
VPNLocalGatewayIP() (ip net.IP, err error)
SetVerbose(verbose bool)
SetDebug()
}
type routing struct {
logger logging.Logger
debug bool
logger logging.Logger
verbose bool
debug bool
}
// NewConfigurator creates a new Configurator instance.
func NewRouting(logger logging.Logger) Routing {
return &routing{
logger: logger.WithPrefix("routing: "),
logger: logger.WithPrefix("routing: "),
verbose: true,
}
}
func (c *routing) SetVerbose(verbose bool) {
c.verbose = verbose
}
func (c *routing) SetDebug() {
c.debug = true
}