<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17486">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">srs{ue,enb,epc}: Disable pcap by default, allow enabling by param<br><br>Take the change to fix several small things and support recording pcap<br>in srsENB.<br><br>pcap generation can be enabled with scenario cfg-srs-enable-pcap.<br><br>Change-Id: Ia096a9be7efb2123f95115c751e2402fb4fec935<br>---<br>M example/defaults.conf<br>A example/scenarios/cfg-srs-enable-pcap.conf<br>M src/osmo_gsm_tester/resource.py<br>M src/osmo_gsm_tester/srs_enb.py<br>M src/osmo_gsm_tester/srs_epc.py<br>M src/osmo_gsm_tester/srs_ue.py<br>M src/osmo_gsm_tester/templates/srsenb.conf.tmpl<br>M src/osmo_gsm_tester/templates/srsepc.conf.tmpl<br>M src/osmo_gsm_tester/templates/srsue.conf.tmpl<br>9 files changed, 77 insertions(+), 33 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/example/defaults.conf b/example/defaults.conf</span><br><span>index 9b92ad0..60539c8 100644</span><br><span>--- a/example/defaults.conf</span><br><span>+++ b/example/defaults.conf</span><br><span>@@ -97,9 +97,14 @@</span><br><span>   mcc: 901</span><br><span>   mnc: 70</span><br><span>   rlc_drb_mode: UM</span><br><span style="color: hsl(120, 100%, 40%);">+  enable_pcap: false</span><br><span> </span><br><span> srsenb:</span><br><span>   mcc: 901</span><br><span>   mnc: 70</span><br><span>   num_prb: 100</span><br><span>   transmission_mode: 1</span><br><span style="color: hsl(120, 100%, 40%);">+  enable_pcap: false</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+srsue:</span><br><span style="color: hsl(120, 100%, 40%);">+  enable_pcap: false</span><br><span>diff --git a/example/scenarios/cfg-srs-enable-pcap.conf b/example/scenarios/cfg-srs-enable-pcap.conf</span><br><span>new file mode 100644</span><br><span>index 0000000..6927b80</span><br><span>--- /dev/null</span><br><span>+++ b/example/scenarios/cfg-srs-enable-pcap.conf</span><br><span>@@ -0,0 +1,7 @@</span><br><span style="color: hsl(120, 100%, 40%);">+config:</span><br><span style="color: hsl(120, 100%, 40%);">+  epc:</span><br><span style="color: hsl(120, 100%, 40%);">+    enable_pcap: true</span><br><span style="color: hsl(120, 100%, 40%);">+  enb:</span><br><span style="color: hsl(120, 100%, 40%);">+    enable_pcap: true</span><br><span style="color: hsl(120, 100%, 40%);">+  modem:</span><br><span style="color: hsl(120, 100%, 40%);">+    enable_pcap: true</span><br><span>diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py</span><br><span>index cdf0596..8a93ea4 100644</span><br><span>--- a/src/osmo_gsm_tester/resource.py</span><br><span>+++ b/src/osmo_gsm_tester/resource.py</span><br><span>@@ -116,7 +116,11 @@</span><br><span> CONF_SCHEMA = util.dict_add(</span><br><span>     { 'defaults.timeout': schema.STR,</span><br><span>       'config.bsc.net.codec_list[]': schema.CODEC,</span><br><span style="color: hsl(0, 100%, 40%);">-      'config.epc.rlc_drb_mode': schema.LTE_RLC_DRB_MODE, },</span><br><span style="color: hsl(120, 100%, 40%);">+      'config.enb.enable_pcap': schema.BOOL_STR,</span><br><span style="color: hsl(120, 100%, 40%);">+      'config.epc.rlc_drb_mode': schema.LTE_RLC_DRB_MODE,</span><br><span style="color: hsl(120, 100%, 40%);">+      'config.epc.enable_pcap': schema.BOOL_STR,</span><br><span style="color: hsl(120, 100%, 40%);">+      'config.modem.enable_pcap': schema.BOOL_STR,</span><br><span style="color: hsl(120, 100%, 40%);">+    },</span><br><span>     dict([('resources.%s' % key, val) for key, val in WANT_SCHEMA.items()]),</span><br><span>     dict([('modifiers.%s' % key, val) for key, val in WANT_SCHEMA.items()]))</span><br><span> </span><br><span>diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py</span><br><span>index 716217e..14e2db4 100644</span><br><span>--- a/src/osmo_gsm_tester/srs_enb.py</span><br><span>+++ b/src/osmo_gsm_tester/srs_enb.py</span><br><span>@@ -53,6 +53,7 @@</span><br><span>     CFGFILE_RR = 'srsenb_rr.conf'</span><br><span>     CFGFILE_DRB = 'srsenb_drb.conf'</span><br><span>     LOGFILE = 'srsenb.log'</span><br><span style="color: hsl(120, 100%, 40%);">+    PCAPFILE = 'srsenb.pcap'</span><br><span> </span><br><span>     def __init__(self, suite_run, conf):</span><br><span>         super().__init__(log.C_RUN, 'srsenb')</span><br><span>@@ -68,6 +69,8 @@</span><br><span>         self.config_sib_file = None</span><br><span>         self.config_rr_file = None</span><br><span>         self.config_drb_file = None</span><br><span style="color: hsl(120, 100%, 40%);">+        self.log_file = None</span><br><span style="color: hsl(120, 100%, 40%);">+        self.pcap_file = None</span><br><span>         self.process = None</span><br><span>         self.rem_host = None</span><br><span>         self.remote_config_file =  None</span><br><span>@@ -75,8 +78,10 @@</span><br><span>         self.remote_config_rr_file = None</span><br><span>         self.remote_config_drb_file = None</span><br><span>         self.remote_log_file = None</span><br><span style="color: hsl(120, 100%, 40%);">+        self.remote_pcap_file = None</span><br><span>         self._num_prb = 0</span><br><span>         self._txmode = 0</span><br><span style="color: hsl(120, 100%, 40%);">+        self.enable_pcap = False</span><br><span>         self.suite_run = suite_run</span><br><span>         self.remote_user = conf.get('remote_user', None)</span><br><span>         if not rf_type_valid(conf.get('rf_dev_type', None)):</span><br><span>@@ -92,6 +97,11 @@</span><br><span>             self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file)</span><br><span>         except Exception as e:</span><br><span>             self.log(repr(e))</span><br><span style="color: hsl(120, 100%, 40%);">+        if self.enable_pcap:</span><br><span style="color: hsl(120, 100%, 40%);">+            try:</span><br><span style="color: hsl(120, 100%, 40%);">+                self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file)</span><br><span style="color: hsl(120, 100%, 40%);">+            except Exception as e:</span><br><span style="color: hsl(120, 100%, 40%);">+                self.log(repr(e))</span><br><span> </span><br><span>     def setup_runs_locally(self):</span><br><span>         return self.remote_user is None</span><br><span>@@ -124,10 +134,11 @@</span><br><span>         self.remote_config_rr_file = remote_run_dir.child(srsENB.CFGFILE_RR)</span><br><span>         self.remote_config_drb_file = remote_run_dir.child(srsENB.CFGFILE_DRB)</span><br><span>         self.remote_log_file = remote_run_dir.child(srsENB.LOGFILE)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.remote_pcap_file = remote_run_dir.child(srsENB.PCAPFILE)</span><br><span> </span><br><span>         self.rem_host.recreate_remote_dir(self.remote_inst)</span><br><span>         self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir)</span><br><span style="color: hsl(0, 100%, 40%);">-        self.rem_host.create_remote_dir(remote_run_dir)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.rem_host.recreate_remote_dir(remote_run_dir)</span><br><span>         self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file)</span><br><span>         self.rem_host.scp('scp-cfg-sib-to-remote', self.config_sib_file, self.remote_config_sib_file)</span><br><span>         self.rem_host.scp('scp-cfg-rr-to-remote', self.config_rr_file, self.remote_config_rr_file)</span><br><span>@@ -141,7 +152,8 @@</span><br><span>                 '--enb_files.drb_config=' + self.remote_config_drb_file,</span><br><span>                 '--expert.nof_phy_threads=1',</span><br><span>                 '--expert.rrc_inactivity_timer=1500',</span><br><span style="color: hsl(0, 100%, 40%);">-                '--log.filename=' + self.remote_log_file)</span><br><span style="color: hsl(120, 100%, 40%);">+                '--log.filename=' + self.remote_log_file,</span><br><span style="color: hsl(120, 100%, 40%);">+                '--pcap.filename=' + self.remote_pcap_file)</span><br><span> </span><br><span>         self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsENB.BINFILE, util.Dir(srsENB.REMOTE_DIR), args, remote_env=remote_env)</span><br><span>         self.suite_run.remember_to_stop(self.process)</span><br><span>@@ -166,7 +178,8 @@</span><br><span>                 '--enb_files.drb_config=' + os.path.abspath(self.config_drb_file),</span><br><span>                 '--expert.nof_phy_threads=1',</span><br><span>                 '--expert.rrc_inactivity_timer=1500',</span><br><span style="color: hsl(0, 100%, 40%);">-                '--log.filename=' + self.log_file)</span><br><span style="color: hsl(120, 100%, 40%);">+                '--log.filename=' + self.log_file,</span><br><span style="color: hsl(120, 100%, 40%);">+                '--pcap.filename=' + self.pcap_file)</span><br><span> </span><br><span>         self.process = process.Process(self.name(), self.run_dir, args, env=env)</span><br><span>         self.suite_run.remember_to_stop(self.process)</span><br><span>@@ -176,10 +189,14 @@</span><br><span>         self.dbg(config_file=path)</span><br><span> </span><br><span>         values = dict(enb=config.get_defaults('srsenb'))</span><br><span style="color: hsl(0, 100%, 40%);">-        config.overlay(values, self.suite_run.config())</span><br><span style="color: hsl(120, 100%, 40%);">+        config.overlay(values, dict(enb=self.suite_run.config().get('enb', {})))</span><br><span>         config.overlay(values, dict(enb=self._conf))</span><br><span>         config.overlay(values, dict(enb={ 'mme_addr': self.epc.addr() }))</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        # Convert parsed boolean string to Python boolean:</span><br><span style="color: hsl(120, 100%, 40%);">+        self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false'))</span><br><span style="color: hsl(120, 100%, 40%);">+        config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap}))</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         self._num_prb = int(values['enb'].get('num_prb', None))</span><br><span>         assert self._num_prb</span><br><span>         self._txmode = int(values['enb'].get('transmission_mode', None))</span><br><span>@@ -205,11 +222,12 @@</span><br><span>             f.write(r)</span><br><span> </span><br><span>     def configure(self):</span><br><span style="color: hsl(0, 100%, 40%);">-        self.config_file = self.run_dir.new_file(srsENB.CFGFILE)</span><br><span style="color: hsl(0, 100%, 40%);">-        self.config_sib_file = self.run_dir.new_file(srsENB.CFGFILE_SIB)</span><br><span style="color: hsl(0, 100%, 40%);">-        self.config_rr_file = self.run_dir.new_file(srsENB.CFGFILE_RR)</span><br><span style="color: hsl(0, 100%, 40%);">-        self.config_drb_file = self.run_dir.new_file(srsENB.CFGFILE_DRB)</span><br><span style="color: hsl(0, 100%, 40%);">-        self.log_file = self.run_dir.new_file(srsENB.LOGFILE)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.config_file = self.run_dir.child(srsENB.CFGFILE)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.config_sib_file = self.run_dir.child(srsENB.CFGFILE_SIB)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.config_rr_file = self.run_dir.child(srsENB.CFGFILE_RR)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.config_drb_file = self.run_dir.child(srsENB.CFGFILE_DRB)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.log_file = self.run_dir.child(srsENB.LOGFILE)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.pcap_file = self.run_dir.child(srsENB.PCAPFILE)</span><br><span> </span><br><span>         self.gen_conf_file(self.config_file, srsENB.CFGFILE)</span><br><span>         self.gen_conf_file(self.config_sib_file, srsENB.CFGFILE_SIB)</span><br><span>diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py</span><br><span>index 705c7c7..0d020bc 100644</span><br><span>--- a/src/osmo_gsm_tester/srs_epc.py</span><br><span>+++ b/src/osmo_gsm_tester/srs_epc.py</span><br><span>@@ -53,6 +53,7 @@</span><br><span>         self.remote_db_file = None</span><br><span>         self.remote_log_file = None</span><br><span>         self.remote_pcap_file = None</span><br><span style="color: hsl(120, 100%, 40%);">+        self.enable_pcap = False</span><br><span>         self.subscriber_list = []</span><br><span>         self.suite_run = suite_run</span><br><span>         self._run_node = run_node</span><br><span>@@ -67,10 +68,11 @@</span><br><span>             self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file)</span><br><span>         except Exception as e:</span><br><span>             self.log(repr(e))</span><br><span style="color: hsl(0, 100%, 40%);">-        try:</span><br><span style="color: hsl(0, 100%, 40%);">-            self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file)</span><br><span style="color: hsl(0, 100%, 40%);">-        except Exception as e:</span><br><span style="color: hsl(0, 100%, 40%);">-            self.log(repr(e))</span><br><span style="color: hsl(120, 100%, 40%);">+        if self.enable_pcap:</span><br><span style="color: hsl(120, 100%, 40%);">+            try:</span><br><span style="color: hsl(120, 100%, 40%);">+                self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file)</span><br><span style="color: hsl(120, 100%, 40%);">+            except Exception as e:</span><br><span style="color: hsl(120, 100%, 40%);">+                self.log(repr(e))</span><br><span> </span><br><span>     def start(self):</span><br><span>         self.log('Starting srsepc')</span><br><span>@@ -100,7 +102,7 @@</span><br><span> </span><br><span>         self.rem_host.recreate_remote_dir(remote_inst)</span><br><span>         self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir)</span><br><span style="color: hsl(0, 100%, 40%);">-        self.rem_host.create_remote_dir(remote_run_dir)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.rem_host.recreate_remote_dir(remote_run_dir)</span><br><span>         self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file)</span><br><span>         self.rem_host.scp('scp-db-to-remote', self.db_file, self.remote_db_file)</span><br><span> </span><br><span>@@ -116,7 +118,6 @@</span><br><span>         args = (remote_binary, self.remote_config_file,</span><br><span>                 '--hss.db_file=' + self.remote_db_file,</span><br><span>                 '--log.filename=' + self.remote_log_file,</span><br><span style="color: hsl(0, 100%, 40%);">-                '--pcap.enable=true',</span><br><span>                 '--pcap.filename=' + self.remote_pcap_file)</span><br><span> </span><br><span>         self.process = self.rem_host.RemoteProcess(srsEPC.BINFILE, args)</span><br><span>@@ -147,7 +148,6 @@</span><br><span>         args = (binary, os.path.abspath(self.config_file),</span><br><span>                 '--hss.db_file=' + self.db_file,</span><br><span>                 '--log.filename=' + self.log_file,</span><br><span style="color: hsl(0, 100%, 40%);">-                '--pcap.enable=true',</span><br><span>                 '--pcap.filename=' + self.pcap_file)</span><br><span> </span><br><span>         self.process = process.Process(self.name(), self.run_dir, args, env=env)</span><br><span>@@ -155,16 +155,20 @@</span><br><span>         self.process.launch()</span><br><span> </span><br><span>     def configure(self):</span><br><span style="color: hsl(0, 100%, 40%);">-        self.config_file = self.run_dir.new_file(srsEPC.CFGFILE)</span><br><span style="color: hsl(0, 100%, 40%);">-        self.db_file = self.run_dir.new_file(srsEPC.DBFILE)</span><br><span style="color: hsl(0, 100%, 40%);">-        self.log_file = self.run_dir.new_file(srsEPC.LOGFILE)</span><br><span style="color: hsl(0, 100%, 40%);">-        self.pcap_file = self.run_dir.new_file(srsEPC.PCAPFILE)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.config_file = self.run_dir.child(srsEPC.CFGFILE)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.db_file = self.run_dir.child(srsEPC.DBFILE)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.log_file = self.run_dir.child(srsEPC.LOGFILE)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.pcap_file = self.run_dir.child(srsEPC.PCAPFILE)</span><br><span>         self.dbg(config_file=self.config_file, db_file=self.db_file)</span><br><span> </span><br><span>         values = dict(epc=config.get_defaults('srsepc'))</span><br><span style="color: hsl(0, 100%, 40%);">-        config.overlay(values, self.suite_run.config())</span><br><span style="color: hsl(120, 100%, 40%);">+        config.overlay(values, dict(epc=self.suite_run.config().get('epc', {})))</span><br><span>         config.overlay(values, dict(epc={'run_addr': self.addr()}))</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        # Convert parsed boolean string to Python boolean:</span><br><span style="color: hsl(120, 100%, 40%);">+        self.enable_pcap = util.str2bool(values['epc'].get('enable_pcap', 'false'))</span><br><span style="color: hsl(120, 100%, 40%);">+        config.overlay(values, dict(epc={'enable_pcap': self.enable_pcap}))</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         # Set qci for each subscriber:</span><br><span>         rlc_drb_mode = values['epc'].get('rlc_drb_mode', None)</span><br><span>         assert rlc_drb_mode is not None</span><br><span>diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py</span><br><span>index 9743848..f725587 100644</span><br><span>--- a/src/osmo_gsm_tester/srs_ue.py</span><br><span>+++ b/src/osmo_gsm_tester/srs_ue.py</span><br><span>@@ -73,6 +73,7 @@</span><br><span>         self.remote_log_file = None</span><br><span>         self.remote_pcap_file = None</span><br><span>         self.remote_metrics_file = None</span><br><span style="color: hsl(120, 100%, 40%);">+        self.enable_pcap = False</span><br><span>         self.suite_run = suite_run</span><br><span>         self.remote_user = conf.get('remote_user', None)</span><br><span>         if not rf_type_valid(conf.get('rf_dev_type', None)):</span><br><span>@@ -94,10 +95,11 @@</span><br><span>             self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file)</span><br><span>         except Exception as e:</span><br><span>             self.log(repr(e))</span><br><span style="color: hsl(0, 100%, 40%);">-        try:</span><br><span style="color: hsl(0, 100%, 40%);">-            self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file)</span><br><span style="color: hsl(0, 100%, 40%);">-        except Exception as e:</span><br><span style="color: hsl(0, 100%, 40%);">-            self.log(repr(e))</span><br><span style="color: hsl(120, 100%, 40%);">+        if self.enable_pcap:</span><br><span style="color: hsl(120, 100%, 40%);">+            try:</span><br><span style="color: hsl(120, 100%, 40%);">+                self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file)</span><br><span style="color: hsl(120, 100%, 40%);">+            except Exception as e:</span><br><span style="color: hsl(120, 100%, 40%);">+                self.log(repr(e))</span><br><span> </span><br><span>     def setup_runs_locally(self):</span><br><span>         return self.remote_user is None</span><br><span>@@ -137,7 +139,7 @@</span><br><span> </span><br><span>         self.rem_host.recreate_remote_dir(remote_inst)</span><br><span>         self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir)</span><br><span style="color: hsl(0, 100%, 40%);">-        self.rem_host.create_remote_dir(remote_run_dir)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.rem_host.recreate_remote_dir(remote_run_dir)</span><br><span>         self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file)</span><br><span> </span><br><span>         remote_lib = remote_inst.child('lib')</span><br><span>@@ -206,17 +208,21 @@</span><br><span>         self.process.launch()</span><br><span> </span><br><span>     def configure(self):</span><br><span style="color: hsl(0, 100%, 40%);">-        self.config_file = self.run_dir.new_file(srsUE.CFGFILE)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.config_file = self.run_dir.child(srsUE.CFGFILE)</span><br><span>         self.log_file = self.run_dir.child(srsUE.LOGFILE)</span><br><span style="color: hsl(0, 100%, 40%);">-        self.pcap_file = self.run_dir.new_file(srsUE.PCAPFILE)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.pcap_file = self.run_dir.child(srsUE.PCAPFILE)</span><br><span>         self.metrics_file = self.run_dir.child(srsUE.METRICSFILE)</span><br><span>         self.dbg(config_file=self.config_file)</span><br><span> </span><br><span>         values = dict(ue=config.get_defaults('srsue'))</span><br><span style="color: hsl(0, 100%, 40%);">-        config.overlay(values, self.suite_run.config())</span><br><span style="color: hsl(120, 100%, 40%);">+        config.overlay(values, dict(ue=self.suite_run.config().get('modem', {})))</span><br><span>         config.overlay(values, dict(ue=self._conf))</span><br><span>         config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports())))</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        # Convert parsed boolean string to Python boolean:</span><br><span style="color: hsl(120, 100%, 40%);">+        self.enable_pcap = util.str2bool(values['ue'].get('enable_pcap', 'false'))</span><br><span style="color: hsl(120, 100%, 40%);">+        config.overlay(values, dict(ue={'enable_pcap': self.enable_pcap}))</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         # We need to set some specific variables programatically here to match IP addresses:</span><br><span>         if self._conf.get('rf_dev_type') == 'zmq':</span><br><span>             base_srate = num_prb2base_srate(self.enb.num_prb())</span><br><span>diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl</span><br><span>index dccade5..d28d255 100644</span><br><span>--- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl</span><br><span>+++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl</span><br><span>@@ -98,7 +98,7 @@</span><br><span> # filename: File path to use for packet captures</span><br><span> #####################################################################</span><br><span> [pcap]</span><br><span style="color: hsl(0, 100%, 40%);">-enable = false</span><br><span style="color: hsl(120, 100%, 40%);">+enable = ${'true' if enb.enable_pcap else 'false'}</span><br><span> filename = /tmp/enb.pcap</span><br><span> </span><br><span> #####################################################################</span><br><span>diff --git a/src/osmo_gsm_tester/templates/srsepc.conf.tmpl b/src/osmo_gsm_tester/templates/srsepc.conf.tmpl</span><br><span>index 8acd22f..cb03967 100644</span><br><span>--- a/src/osmo_gsm_tester/templates/srsepc.conf.tmpl</span><br><span>+++ b/src/osmo_gsm_tester/templates/srsepc.conf.tmpl</span><br><span>@@ -71,7 +71,7 @@</span><br><span> #</span><br><span> ####################################################################</span><br><span> [pcap]</span><br><span style="color: hsl(0, 100%, 40%);">-enable   = false</span><br><span style="color: hsl(120, 100%, 40%);">+enable   = ${'true' if epc.enable_pcap else 'false'}</span><br><span> filename = /tmp/epc.pcap</span><br><span> </span><br><span> ####################################################################</span><br><span>diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl</span><br><span>index f7dee03..4a4828e 100644</span><br><span>--- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl</span><br><span>+++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl</span><br><span>@@ -71,7 +71,7 @@</span><br><span> # nas_filename: File path to use for NAS packet captures</span><br><span> #####################################################################</span><br><span> [pcap]</span><br><span style="color: hsl(0, 100%, 40%);">-enable = true</span><br><span style="color: hsl(120, 100%, 40%);">+enable = ${'true' if ue.enable_pcap else 'false'}</span><br><span> filename = /tmp/ue.pcap</span><br><span> nas_enable = false</span><br><span> nas_filename = /tmp/nas.pcap</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17486">change 17486</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17486"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gsm-tester </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ia096a9be7efb2123f95115c751e2402fb4fec935 </div>
<div style="display:none"> Gerrit-Change-Number: 17486 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>