Allow tests to select network encryption

Change-Id: I273eee44c095690d0c2e3994befa97edc42496ac
diff --git a/src/osmo_gsm_tester/osmo_msc.py b/src/osmo_gsm_tester/osmo_msc.py
index 2c9b1e3..92a9d61 100644
--- a/src/osmo_gsm_tester/osmo_msc.py
+++ b/src/osmo_gsm_tester/osmo_msc.py
@@ -31,6 +31,7 @@
     hlr = None
     config = None
     smsc = None
+    encryption = None
 
     def __init__(self, suite_run, hlr, mgcpgw, ip_address):
         super().__init__(log.C_RUN, 'osmo-msc_%s' % ip_address.get('addr'))
@@ -76,6 +77,11 @@
         config.overlay(values, self.mgcpgw.conf_for_msc())
         config.overlay(values, self.hlr.conf_for_msc())
         config.overlay(values, self.smsc.get_config())
+
+        # runtime parameters:
+        if self.encryption is not None:
+            config.overlay(values, dict(msc=dict(net=dict(encryption=self.encryption))))
+
         self.config = values
 
         self.dbg('MSC CONFIG:\n' + pprint.pformat(values))
@@ -88,6 +94,9 @@
     def addr(self):
         return self.ip_address.get('addr')
 
+    def set_encryption(self, val):
+        self.encryption = val
+
     def mcc(self):
         return self.config['msc']['net']['mcc']
 
diff --git a/src/osmo_gsm_tester/osmo_nitb.py b/src/osmo_gsm_tester/osmo_nitb.py
index 3ef5276..9c15fe6 100644
--- a/src/osmo_gsm_tester/osmo_nitb.py
+++ b/src/osmo_gsm_tester/osmo_nitb.py
@@ -31,6 +31,7 @@
     process = None
     bts = None
     smsc = None
+    encryption = None
 
     def __init__(self, suite_run, ip_address):
         super().__init__(log.C_RUN, 'osmo-nitb_%s' % ip_address.get('addr'))
@@ -78,6 +79,11 @@
             bts_list.append(bts.conf_for_bsc())
         config.overlay(values, dict(nitb=dict(net=dict(bts_list=bts_list))))
         config.overlay(values, self.smsc.get_config())
+
+        # runtime parameters:
+        if self.encryption is not None:
+            config.overlay(values, dict(nitb=dict(net=dict(encryption=self.encryption))))
+
         self.config = values
 
         self.dbg('NITB CONFIG:\n' + pprint.pformat(values))
@@ -94,6 +100,9 @@
         self.bts.append(bts)
         bts.set_bsc(self)
 
+    def set_encryption(self, val):
+        self.encryption = val
+
     def mcc(self):
         return self.config['nitb']['net']['mcc']