pcu: Enable 'egprs only' vty option if egprs requested
Change-Id: Idd0b5bf8769d693480268c0a0b89dbfd63779e48
diff --git a/src/osmo_gsm_tester/bts.py b/src/osmo_gsm_tester/bts.py
index 6b0331e..2ca44d2 100644
--- a/src/osmo_gsm_tester/bts.py
+++ b/src/osmo_gsm_tester/bts.py
@@ -131,6 +131,9 @@
def remote_addr(self):
return self.conf.get('addr')
+ def egprs_enabled(self):
+ return self.conf_for_bsc()['gprs_mode'] == 'egprs'
+
def cleanup(self):
'Nothing to do by default. Subclass can override if required.'
pass
diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py
index 1322a74..22ff4b6 100644
--- a/src/osmo_gsm_tester/bts_osmotrx.py
+++ b/src/osmo_gsm_tester/bts_osmotrx.py
@@ -78,7 +78,7 @@
'osmo_trx': {
'bts_ip': self.remote_addr(),
'trx_ip': self.trx_remote_ip(),
- 'egprs': 'enable' if self.conf_for_bsc()['gprs_mode'] == 'egprs' else 'disable',
+ 'egprs': 'enable' if self.egprs_enabled() else 'disable',
'channels': [{} for trx_i in range(self.num_trx())]
}
}
diff --git a/src/osmo_gsm_tester/pcu.py b/src/osmo_gsm_tester/pcu.py
index 9ec8f35..cc338cf 100644
--- a/src/osmo_gsm_tester/pcu.py
+++ b/src/osmo_gsm_tester/pcu.py
@@ -34,6 +34,13 @@
self.bts = bts
self.conf = conf
+########################
+# PUBLIC - INTERNAL API
+########################
+
+ def egprs_enabled(self):
+ return self.bts.egprs_enabled()
+
###################
# PUBLIC (test API included)
###################
diff --git a/src/osmo_gsm_tester/pcu_oc2g.py b/src/osmo_gsm_tester/pcu_oc2g.py
index df96fe2..36aef60 100644
--- a/src/osmo_gsm_tester/pcu_oc2g.py
+++ b/src/osmo_gsm_tester/pcu_oc2g.py
@@ -111,7 +111,8 @@
config.overlay(values, {
'osmo_pcu_oc2g': {
'bts_addr': self.btsoc2g.remote_addr(),
- 'pcu_socket_path': self.btsoc2g.pcu_socket_path()
+ 'pcu_socket_path': self.btsoc2g.pcu_socket_path(),
+ 'egprs_enabled': self.egprs_enabled(),
}
})
config.overlay(values, { 'osmo_pcu_oc2g': self.conf })
diff --git a/src/osmo_gsm_tester/pcu_osmo.py b/src/osmo_gsm_tester/pcu_osmo.py
index c5f45d1..aac6901 100644
--- a/src/osmo_gsm_tester/pcu_osmo.py
+++ b/src/osmo_gsm_tester/pcu_osmo.py
@@ -70,6 +70,7 @@
'osmo_pcu': {
'bts_addr': self.bts.remote_addr(),
'pcu_socket_path': self.bts.pcu_socket_path(),
+ 'egprs_enabled': self.egprs_enabled(),
}
})
config.overlay(values, { 'osmo_pcu': self.conf })
diff --git a/src/osmo_gsm_tester/pcu_sysmo.py b/src/osmo_gsm_tester/pcu_sysmo.py
index 3f6149d..8998622 100644
--- a/src/osmo_gsm_tester/pcu_sysmo.py
+++ b/src/osmo_gsm_tester/pcu_sysmo.py
@@ -111,7 +111,8 @@
config.overlay(values, {
'osmo_pcu_sysmo': {
'bts_addr': self.sysmobts.remote_addr(),
- 'pcu_socket_path': self.sysmobts.pcu_socket_path()
+ 'pcu_socket_path': self.sysmobts.pcu_socket_path(),
+ 'egprs_enabled': self.egprs_enabled(),
}
})
config.overlay(values, { 'osmo_pcu_sysmo': self.conf })
diff --git a/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl
index 0b1cd2d..f5eb03e 100644
--- a/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/osmo-pcu-oc2g.cfg.tmpl
@@ -15,6 +15,9 @@
alloc-algorithm dynamic
alpha 0
gamma 0
+%if osmo_pcu_oc2g.egprs_enabled:
+ egprs only
+%endif
gsmtap-category dl-unknown
!gsmtap-category dl-dummy
gsmtap-category dl-ctrl
diff --git a/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl
index ea1a69a..c0e6cd2 100644
--- a/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/osmo-pcu-sysmo.cfg.tmpl
@@ -15,6 +15,9 @@
alloc-algorithm dynamic
alpha 0
gamma 0
+%if osmo_pcu_sysmo.egprs_enabled:
+ egprs only
+%endif
gsmtap-category dl-unknown
!gsmtap-category dl-dummy
gsmtap-category dl-ctrl
diff --git a/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl
index 1d050c1..7445609 100644
--- a/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/osmo-pcu.cfg.tmpl
@@ -15,6 +15,9 @@
alloc-algorithm dynamic
alpha 0
gamma 0
+%if osmo_pcu.egprs_enabled:
+ egprs only
+%endif
gsmtap-category dl-unknown
!gsmtap-category dl-dummy
gsmtap-category dl-ctrl