srs: Convert additional_args attr to list to allow combining different params

Change-Id: I4b371332cd6fbe11b98c85c79a6f8fdcc776a57b
diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py
index b221cb9..4a151d7 100644
--- a/src/osmo_gsm_tester/obj/enb.py
+++ b/src/osmo_gsm_tester/obj/enb.py
@@ -34,7 +34,7 @@
         'rx_gain': schema.UINT,
         'rf_dev_type': schema.STR,
         'rf_dev_args': schema.STR,
-        'additional_args': schema.STR,
+        'additional_args[]': schema.STR,
         'enable_measurements': schema.BOOL_STR,
         'a1_report_type': schema.STR,
         'a1_report_value': schema.INT,
diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py
index 9dc8113..1b23172 100644
--- a/src/osmo_gsm_tester/obj/enb_srs.py
+++ b/src/osmo_gsm_tester/obj/enb_srs.py
@@ -176,7 +176,9 @@
         self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false'))
         config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap}))
 
-        self._additional_args = values['enb'].get('additional_args', '').split()
+        self._additional_args = []
+        for add_args in values['enb'].get('additional_args', []):
+            self._additional_args += add_args.split()
 
         # We need to set some specific variables programatically here to match IP addresses:
         if self._conf.get('rf_dev_type') == 'zmq':
diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py
index 3aa6b0a..6241685 100644
--- a/src/osmo_gsm_tester/obj/ms_srs.py
+++ b/src/osmo_gsm_tester/obj/ms_srs.py
@@ -35,7 +35,7 @@
         'rf_dev_type': schema.STR,
         'rf_dev_args': schema.STR,
         'num_carriers': schema.UINT,
-        'additional_args': schema.STR,
+        'additional_args[]': schema.STR,
         'airplane_t_on_ms': schema.INT,
         'airplane_t_off_ms': schema.INT,
         'tx_gain': schema.UINT,
@@ -231,6 +231,9 @@
         config.overlay(values, dict(ue={'enable_pcap': self.enable_pcap}))
 
         self._additional_args = values['ue'].get('additional_args', '').split()
+        for add_args in values['ue'].get('additional_args', []):
+            self._additional_args += add_args.split()
+
 
         self.num_carriers = int(values['ue'].get('num_carriers', 1))
 
diff --git a/sysmocom/scenarios/mod-enb-args@.conf b/sysmocom/scenarios/mod-enb-args@.conf
index a758d01..3e09a99 100644
--- a/sysmocom/scenarios/mod-enb-args@.conf
+++ b/sysmocom/scenarios/mod-enb-args@.conf
@@ -1,3 +1,4 @@
 modifiers:
   enb:
-  - additional_args: ${param1}
+  - additional_args:
+    - ${param1}
diff --git a/sysmocom/scenarios/mod-modem-args@.conf b/sysmocom/scenarios/mod-modem-args@.conf
index dde7796..2ec0834 100644
--- a/sysmocom/scenarios/mod-modem-args@.conf
+++ b/sysmocom/scenarios/mod-modem-args@.conf
@@ -1,3 +1,4 @@
 modifiers:
   modem:
-  - additional_args: ${param1}
+  - additional_args:
+    - ${param1}