From a062135148090737fbf0b597385c750e901b2590 Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Sun, 25 Oct 2020 20:40:17 +0000 Subject: [PATCH] Add routing verbose option in code --- internal/routing/mutate.go | 8 ++++++-- internal/routing/reader.go | 8 ++++++-- internal/routing/routing.go | 13 ++++++++++--- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/internal/routing/mutate.go b/internal/routing/mutate.go index 16afac1a..67fa1c48 100644 --- a/internal/routing/mutate.go +++ b/internal/routing/mutate.go @@ -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) } diff --git a/internal/routing/reader.go b/internal/routing/reader.go index 588af438..c5018156 100644 --- a/internal/routing/reader.go +++ b/internal/routing/reader.go @@ -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 } diff --git a/internal/routing/routing.go b/internal/routing/routing.go index 2a10d761..12672238 100644 --- a/internal/routing/routing.go +++ b/internal/routing/routing.go @@ -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 }