From 0a4126d0587119286f9699a4b219df653e025768 Mon Sep 17 00:00:00 2001
From: Neil-Jocelyn Schark <neil.schark@h-da.de>
Date: Fri, 7 Jun 2024 10:05:46 +0000
Subject: [PATCH] Rework passthrough flag

See merge request danet/gosdn!904
---
 cli/cmd/root.go          | 10 +++++-----
 controller/cmd/root.go   |  4 ++--
 controller/controller.go |  8 ++++----
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/cli/cmd/root.go b/cli/cmd/root.go
index 01e89117c..0f5744bff 100644
--- a/cli/cmd/root.go
+++ b/cli/cmd/root.go
@@ -46,7 +46,7 @@ import (
 
 var cfgFile string
 var verbose bool
-var gRPCPassthrough bool
+var noGRPCPassthrough bool
 var loglevel string
 var grpcPort string
 var cliPnd string
@@ -87,7 +87,7 @@ func init() {
 	rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (./.gosdnc.toml)")
 	rootCmd.PersistentFlags().StringVarP(&loglevel, "log-level", "l", "", "log level 'debug' or 'trace'")
 	rootCmd.PersistentFlags().BoolVar(&verbose, "verbose", false, "show mne and sbi info")
-	rootCmd.PersistentFlags().BoolVar(&gRPCPassthrough, "grpcPassthrough", true, "set the default resolve scheme for grpc to passthrough, default is true")
+	rootCmd.PersistentFlags().BoolVar(&noGRPCPassthrough, "noGRPCPassthrough", true, "set the default resolve scheme for grpc to not use passthrough, default is false")
 
 	rootCmd.Flags().StringVar(&grpcPort, "grpc-port", "55055", "port for gRPC NBI")
 }
@@ -150,11 +150,11 @@ func initConfig() {
 		cliPnd = uuid.New().String()
 	}
 
-	if gRPCPassthrough {
+	if noGRPCPassthrough {
+		log.Info("gRPC default resolver scheme is not set to passthrough. This might cause issues with the gRPC connection when no real DNS server is available as each gRPC requests requires a DNS request.")
+	} else {
 		log.Info("Setting gRPC default resolver scheme to passthrough. No DNS queries are being made when doing a gRPC request.")
 		resolver.SetDefaultScheme("passthrough")
-	} else {
-		log.Info("gRPC default resolver scheme is not set to passthrough. This might cause issues with the gRPC connection when no real DNS server is available as each gRPC requests requires a DNS request.")
 	}
 
 	adapter, err := adapter.NewPndAdapter(cliPnd, viper.GetString("controllerAPIEndpoint"))
diff --git a/controller/cmd/root.go b/controller/cmd/root.go
index cc00b4903..c2dd7fb6c 100644
--- a/controller/cmd/root.go
+++ b/controller/cmd/root.go
@@ -52,7 +52,7 @@ var csbiOrchestrator string
 var pluginRegistry string
 var pluginFolder string
 var security string
-var gRPCPassthrough bool
+var noGRPCPassthrough bool
 
 // rootCmd represents the base command when called without any subcommands.
 var rootCmd = &cobra.Command{
@@ -87,7 +87,7 @@ func init() {
 	rootCmd.Flags().StringVar(&pluginRegistry, "plugin-registry", "", "plugin registry address")
 	rootCmd.Flags().StringVar(&pluginFolder, "plugin-folder", "", "folder holding all goSDN specific plugins")
 	rootCmd.Flags().StringVarP(&security, "security", "s", "", "security level 'secure' or 'insecure'")
-	rootCmd.Flags().BoolVar(&gRPCPassthrough, "grpcPassthrough", true, "set the default resolve scheme for grpc to passthrough, default is true")
+	rootCmd.Flags().BoolVar(&noGRPCPassthrough, "noGRPCPassthrough", false, "set the default resolve scheme for grpc to not use passthrough, default is false")
 }
 
 const (
diff --git a/controller/controller.go b/controller/controller.go
index f79d5ff45..7eca04715 100644
--- a/controller/controller.go
+++ b/controller/controller.go
@@ -202,12 +202,12 @@ func setupPluginRegistryClient() rpb.PluginRegistryServiceClient {
 }
 
 func startGrpc() error {
-	passthrough := viper.GetBool("passthrough")
-	if passthrough {
+	noPassthrough := viper.GetBool("noGRPCPassthrough")
+	if noPassthrough {
+		log.Info("gRPC default resolver scheme is not set to passthrough. This might cause issues with the gRPC connection when no real DNS server is available as each gRPC requests requires a DNS request.")
+	} else {
 		log.Info("Setting gRPC default resolver scheme to passthrough. No DNS queries are being made when doing a gRPC request.")
 		resolver.SetDefaultScheme("passthrough")
-	} else {
-		log.Info("gRPC default resolver scheme is not set to passthrough. This might cause issues with the gRPC connection when no real DNS server is available as each gRPC requests requires a DNS request.")
 	}
 
 	socket := viper.GetString("socket")
-- 
GitLab