Change in osmo-gsm-tester[master]: Introduce LTE Transmission Mode and RLC DRB mode params

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

pespin gerrit-no-reply at lists.osmocom.org
Thu Feb 27 17:18:52 UTC 2020


pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17293 )


Change subject: Introduce LTE Transmission Mode and RLC DRB mode params
......................................................................

Introduce LTE Transmission Mode and RLC DRB mode params

Change-Id: I38f247f266ba736cdbb6f36ba5673b8fd46a8d67
---
M example/defaults.conf
A example/scenarios/cfg-epc-rlcmode at .conf
A example/scenarios/mod-enb-txmode at .conf
M src/osmo_gsm_tester/resource.py
M src/osmo_gsm_tester/schema.py
M src/osmo_gsm_tester/srs_epc.py
M src/osmo_gsm_tester/templates/srsenb.conf.tmpl
M src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl
8 files changed, 42 insertions(+), 4 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/93/17293/1

diff --git a/example/defaults.conf b/example/defaults.conf
index 0bff86a..9b92ad0 100644
--- a/example/defaults.conf
+++ b/example/defaults.conf
@@ -96,8 +96,10 @@
 srsepc:
   mcc: 901
   mnc: 70
+  rlc_drb_mode: UM
 
 srsenb:
   mcc: 901
   mnc: 70
   num_prb: 100
+  transmission_mode: 1
diff --git a/example/scenarios/cfg-epc-rlcmode at .conf b/example/scenarios/cfg-epc-rlcmode at .conf
new file mode 100644
index 0000000..2ddb044
--- /dev/null
+++ b/example/scenarios/cfg-epc-rlcmode at .conf
@@ -0,0 +1,3 @@
+config:
+  epc:
+    rlc_drb_mode: ${param1}
diff --git a/example/scenarios/mod-enb-txmode at .conf b/example/scenarios/mod-enb-txmode at .conf
new file mode 100644
index 0000000..e0c8d01
--- /dev/null
+++ b/example/scenarios/mod-enb-txmode at .conf
@@ -0,0 +1,3 @@
+modifiers:
+  enb:
+  - transmission_mode: ${param1}
diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py
index 31e8463..07d32e2 100644
--- a/src/osmo_gsm_tester/resource.py
+++ b/src/osmo_gsm_tester/resource.py
@@ -90,6 +90,7 @@
         'enb[].remote_user': schema.STR,
         'enb[].addr': schema.IPV4,
         'enb[].num_prb': schema.UINT,
+        'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE,
         'enb[].rf_dev_type': schema.STR,
         'enb[].rf_dev_args': schema.STR,
         'arfcn[].arfcn': schema.INT,
@@ -115,7 +116,8 @@
 
 CONF_SCHEMA = util.dict_add(
     { 'defaults.timeout': schema.STR,
-      'config.bsc.net.codec_list[]': schema.CODEC },
+      'config.bsc.net.codec_list[]': schema.CODEC,
+      'config.epc.rlc_drb_mode': schema.LTE_RLC_DRB_MODE, },
     dict([('resources.%s' % key, val) for key, val in WANT_SCHEMA.items()]),
     dict([('modifiers.%s' % key, val) for key, val in WANT_SCHEMA.items()]))
 
diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/schema.py
index 14fe640..7fe6689 100644
--- a/src/osmo_gsm_tester/schema.py
+++ b/src/osmo_gsm_tester/schema.py
@@ -125,6 +125,17 @@
         return
     raise ValueError('Unknown OsmoTRX clock reference value: %r' % val)
 
+def lte_transmission_mode(val):
+    n = int(val)
+    if n <= 4:
+        return
+    raise ValueError('LTE Transmission Mode %d not in expected range' % n)
+
+def lte_rlc_drb_mode(val):
+    if val.upper() in ('UM', 'AM'):
+        return
+    raise ValueError('Unknown LTE RLC DRB Mode value: %r' % val)
+
 INT = 'int'
 STR = 'str'
 UINT = 'uint'
@@ -144,6 +155,8 @@
 GPRS_MODE = 'gprs_mode'
 CODEC = 'codec'
 OSMO_TRX_CLOCK_REF = 'osmo_trx_clock_ref'
+LTE_TRANSMISSION_MODE = 'lte_transmission_mode'
+LTE_RLC_DRB_MODE = 'lte_rlc_drb_mode'
 
 SCHEMA_TYPES = {
         INT: int,
@@ -165,6 +178,8 @@
         GPRS_MODE: gprs_mode,
         CODEC: codec,
         OSMO_TRX_CLOCK_REF: osmo_trx_clock_ref,
+        LTE_TRANSMISSION_MODE: lte_transmission_mode,
+        LTE_RLC_DRB_MODE: lte_rlc_drb_mode,
     }
 
 def validate(config, schema):
diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py
index 0a0036e..a33a163 100644
--- a/src/osmo_gsm_tester/srs_epc.py
+++ b/src/osmo_gsm_tester/srs_epc.py
@@ -22,6 +22,13 @@
 
 from . import log, util, config, template, process, remote
 
+def rlc_drb_mode2qci(rlc_drb_mode):
+    if rlc_drb_mode.upper() == "UM":
+        return 7;
+    elif rlc_drb_mode.upper() == "AM":
+        return 9;
+    raise log.Error('Unexpected rlc_drb_mode', rlc_drb_mode=rlc_drb_mode)
+
 class srsEPC(log.Origin):
 
     REMOTE_DIR = '/osmo-gsm-tester-srsepc'
@@ -155,10 +162,16 @@
         self.dbg(config_file=self.config_file, db_file=self.db_file)
 
         values = dict(epc=config.get_defaults('srsepc'))
-        config.overlay(values, dict(epc=dict(hss=dict(subscribers=self.subscriber_list))))
         config.overlay(values, self.suite_run.config())
         config.overlay(values, dict(epc={'run_addr': self.addr()}))
 
+        # Set qci for each subscriber:
+        rlc_drb_mode = values['epc'].get('rlc_drb_mode', None)
+        assert rlc_drb_mode is not None
+        for i in range(len(self.subscriber_list)):
+            self.subscriber_list[i]['qci'] = rlc_drb_mode2qci(rlc_drb_mode)
+        config.overlay(values, dict(epc=dict(hss=dict(subscribers=self.subscriber_list))))
+
         self.dbg('SRSEPC CONFIG:\n' + pprint.pformat(values))
 
         with open(self.config_file, 'w') as f:
diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl
index f040156..12b3e18 100644
--- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl
+++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl
@@ -29,7 +29,7 @@
 gtp_bind_addr = ${enb.addr}
 s1c_bind_addr = ${enb.addr}
 n_prb = ${enb.num_prb}
-#tm = 4
+tm = ${enb.transmission_mode}
 #nof_ports = 2
 
 #####################################################################
diff --git a/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl b/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl
index 32df58d..c213e53 100644
--- a/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl
+++ b/src/osmo_gsm_tester/templates/srsepc_user_db.csv.tmpl
@@ -20,5 +20,5 @@
 #ue2,mil,001010123456780,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,7,dynamic
 #ue1,xor,001010123456789,00112233445566778899aabbccddeeff,opc,63bfa50ee6523365ff14c1f45f88737d,9001,000000001255,7,dynamic
 %for sub in epc.hss.subscribers:
-ogt${sub.id},${sub.auth_algo},${sub.imsi},${sub.ki},opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,7,dynamic
+ogt${sub.id},${sub.auth_algo},${sub.imsi},${sub.ki},opc,63bfa50ee6523365ff14c1f45f88737d,8000,000000001234,${sub.qci},dynamic
 %endfor

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17293
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Change-Id: I38f247f266ba736cdbb6f36ba5673b8fd46a8d67
Gerrit-Change-Number: 17293
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200227/927d6ec1/attachment.htm>


More information about the gerrit-log mailing list