<p>srs_andre <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582">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;">ms: add optional param to specify fixed APN IP address assigned to a MS<br><br>this allows to specify a fixed APN address for each subscriber in the<br>HLR. If the param is not provided in the resources config, the default<br>allocation type is used, which is to dynamically allocate an IP in the<br>supported range.<br><br>Change-Id: Ie6fcd7987dc7bc62a686bee3a10c67e3dd813419<br>---<br>M src/osmo_gsm_tester/modem.py<br>M src/osmo_gsm_tester/ms.py<br>M src/osmo_gsm_tester/resource.py<br>M src/osmo_gsm_tester/srs_epc.py<br>M src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl<br>5 files changed, 12 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py</span><br><span>index f8a9245..a1e5e97 100644</span><br><span>--- a/src/osmo_gsm_tester/modem.py</span><br><span>+++ b/src/osmo_gsm_tester/modem.py</span><br><span>@@ -367,6 +367,7 @@</span><br><span>         self.dbg('creating from syspath %s' % self.syspath)</span><br><span>         self._ki = None</span><br><span>         self._imsi = None</span><br><span style="color: hsl(120, 100%, 40%);">+        self._apn_ipaddr = None</span><br><span>         self.run_dir = util.Dir(suite_run.get_test_run_dir().new_dir(self.name().strip('/')))</span><br><span>         self.sms_received_list = []</span><br><span>         self.dbus = ModemDbusInteraction(self.dbuspath)</span><br><span>@@ -467,6 +468,11 @@</span><br><span>             return self._ki</span><br><span>         return super().ki()</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    def apn_ipaddr(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        if self._apn_ipaddr is not None:</span><br><span style="color: hsl(120, 100%, 40%);">+            return self._apn_ipaddr</span><br><span style="color: hsl(120, 100%, 40%);">+        return 'dynamic'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>     def features(self):</span><br><span>         return self._conf.get('features', [])</span><br><span> </span><br><span>diff --git a/src/osmo_gsm_tester/ms.py b/src/osmo_gsm_tester/ms.py</span><br><span>index 222a078..3276aff 100644</span><br><span>--- a/src/osmo_gsm_tester/ms.py</span><br><span>+++ b/src/osmo_gsm_tester/ms.py</span><br><span>@@ -34,6 +34,9 @@</span><br><span>     def ki(self):</span><br><span>         return self._conf.get('ki')</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    def apn_ipaddr(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        return self._conf.get('apn_ipaddr', 'dynamic')</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>     def auth_algo(self):</span><br><span>         return self._conf.get('auth_algo', None)</span><br><span> </span><br><span>diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py</span><br><span>index 757a9c5..5862aef 100644</span><br><span>--- a/src/osmo_gsm_tester/resource.py</span><br><span>+++ b/src/osmo_gsm_tester/resource.py</span><br><span>@@ -100,6 +100,7 @@</span><br><span>         'modem[].imsi': schema.IMSI,</span><br><span>         'modem[].ki': schema.KI,</span><br><span>         'modem[].auth_algo': schema.AUTH_ALGO,</span><br><span style="color: hsl(120, 100%, 40%);">+        'modem[].apn_ipaddr': schema.IPV4,</span><br><span>         'modem[].remote_user': schema.STR,</span><br><span>         'modem[].addr': schema.IPV4,</span><br><span>         'modem[].ciphers[]': schema.CIPHER,</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 0d020bc..947eb7b 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>@@ -199,7 +199,7 @@</span><br><span>             raise log.Error("Auth algo %r selected but no KI specified" % algo_str)</span><br><span> </span><br><span>         subscriber_id = len(self.subscriber_list) # list index</span><br><span style="color: hsl(0, 100%, 40%);">-        self.subscriber_list.append({'id': subscriber_id, 'imsi': modem.imsi(), 'msisdn': msisdn, 'auth_algo': algo_str, 'ki': modem.ki(), 'opc': None})</span><br><span style="color: hsl(120, 100%, 40%);">+        self.subscriber_list.append({'id': subscriber_id, 'imsi': modem.imsi(), 'msisdn': msisdn, 'auth_algo': algo_str, 'ki': modem.ki(), 'opc': None, 'apn_ipaddr': modem.apn_ipaddr()})</span><br><span> </span><br><span>         self.log('Add subscriber', msisdn=msisdn, imsi=modem.imsi(), subscriber_id=subscriber_id,</span><br><span>                  algo_str=algo_str)</span><br><span>diff --git a/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl b/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl</span><br><span>index c213e53..5b970bf 100644</span><br><span>--- a/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl</span><br><span>+++ b/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl</span><br><span>@@ -20,5 +20,5 @@</span><br><span> #ue2,mil,001010123456780,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,7,dynamic</span><br><span> #ue1,xor,001010123456789,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,9001,000000001255,7,dynamic</span><br><span> %for sub in epc.hss.subscribers:</span><br><span style="color: hsl(0, 100%, 40%);">-ogt${sub.id},${sub.auth_algo},${sub.imsi},${sub.ki},opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,${sub.qci},dynamic</span><br><span style="color: hsl(120, 100%, 40%);">+ogt${sub.id},${sub.auth_algo},${sub.imsi},${sub.ki},opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,${sub.qci},${sub.apn_ipaddr}</span><br><span> %endfor</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17582">change 17582</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/+/17582"/><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: Ie6fcd7987dc7bc62a686bee3a10c67e3dd813419 </div>
<div style="display:none"> Gerrit-Change-Number: 17582 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: srs_andre <andre@softwareradiosystems.com> </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-Reviewer: srs_andre <andre@softwareradiosystems.com> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>