New changes in gnb deployments

1. Support for singleInterface or multiInterface deployment
2. Routes are added only in case of singleInterface=false.
   Routes are taken through networkTopo config.
3. ability to change defaultAs IP address.

Change-Id: I7581a6555d7c90e479f18d84b477d13864cd211a
diff --git a/5g-ran-sim/templates/bin/_gnbsim-run.sh.tpl b/5g-ran-sim/templates/bin/_gnbsim-run.sh.tpl
index 130d18a..bc5db92 100644
--- a/5g-ran-sim/templates/bin/_gnbsim-run.sh.tpl
+++ b/5g-ran-sim/templates/bin/_gnbsim-run.sh.tpl
@@ -13,7 +13,13 @@
 cd /gnbsim
 cat ./config/gnb.conf
 cat /etc/hosts
-ip route add 192.168.252.0/24 via 192.168.251.1
+
+{{- if not .Values.config.gnbsim.singleInterface }}
+{{- range .Values.config.gnbsim.networkTopo }}
+ip route add {{ .upfAddr }} via {{ .upfGw }}
+{{- end }}
+
 # Disabling checksum offloading to hardware
 ethtool -K enb tx off
+{{- end }}
 sleep infinity
diff --git a/5g-ran-sim/templates/configmap-gnbsim.yaml b/5g-ran-sim/templates/configmap-gnbsim.yaml
index 8d6b841..32daa76 100644
--- a/5g-ran-sim/templates/configmap-gnbsim.yaml
+++ b/5g-ran-sim/templates/configmap-gnbsim.yaml
@@ -5,6 +5,18 @@
 */}}
 
 {{- if .Values.config.gnbsim.deploy }}
+{{- if not .Values.config.useExistingConfigMap }}
+{{- $config := index .Values.config "gnbsim" }}
+{{- $gnbconf := index .Values.config.gnbsim.yamlCfgFiles "gnb.conf" }}
+{{- $configuration := index $gnbconf "configuration" }}
+
+{{- if not (hasKey $configuration "singleInterface") -}}
+{{- $_ := .Values.config.gnbsim.singleInterface | set $configuration "singleInterface" -}}
+{{- end }}
+{{- $_ := .Values.config.gnbsim.networkTopo | set $configuration "networkTopo" -}}
+{{- end }}
+
+
 ---
 apiVersion: v1
 kind: ConfigMap
diff --git a/5g-ran-sim/templates/statefulset-gnbsim.yaml b/5g-ran-sim/templates/statefulset-gnbsim.yaml
index 7c2827d..88a0146 100644
--- a/5g-ran-sim/templates/statefulset-gnbsim.yaml
+++ b/5g-ran-sim/templates/statefulset-gnbsim.yaml
@@ -23,6 +23,7 @@
     metadata:
       labels:
 {{ tuple "gnbsim" . | include "5g-ransim-plane.metadata_labels" | indent 8 }}
+{{- if not .Values.config.gnbsim.singleInterface }}
       annotations:
         k8s.v1.cni.cncf.io/networks: '[
            { 
@@ -35,6 +36,7 @@
 {{- end }}
            }
          ]'
+{{- end }}
     spec:
     {{- if .Values.nodeSelectors.enabled }}
       nodeSelector: