osmo-bts-trx: Add multiTRX support
Support is limited to 1 osmo-trx with 1 phy and multiple instances.
Change-Id: If2bda5ec7ac9fa3fe6bc5d71f323c3ccc2a70158
diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py
index 1c7349f..a4bc082 100644
--- a/src/osmo_gsm_tester/bts_osmotrx.py
+++ b/src/osmo_gsm_tester/bts_osmotrx.py
@@ -77,7 +77,7 @@
'osmo_trx': {
'bts_ip': self.remote_addr(),
'trx_ip': self.trx_remote_ip(),
- 'channels': [{}] # TODO: implement channels for multiTRX
+ 'channels': [{} for trx_i in range(self.num_trx())]
}
}
})
@@ -134,7 +134,8 @@
self.proc_bts = self.launch_process(keepalive, OsmoBtsTrx.BIN_BTS_TRX, '-r', '1',
'-c', os.path.abspath(self.config_file),
- '-i', self.bsc.addr())
+ '-i', self.bsc.addr(),
+ '-t', str(self.num_trx()))
self.suite_run.poll()
class OsmoTrx(log.Origin, metaclass=ABCMeta):
diff --git a/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl
index 5dba323..677b047 100644
--- a/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/osmo-bts-trx.cfg.tmpl
@@ -23,9 +23,11 @@
phy 0
osmotrx ip local ${osmo_bts_trx.osmo_trx.bts_ip}
osmotrx ip remote ${osmo_bts_trx.osmo_trx.trx_ip}
- instance 0
+%for chan in osmo_bts_trx.osmo_trx.channels:
+ instance ${loop.index}
osmotrx rx-gain 25
osmotrx tx-attenuation oml
+%endfor
bts 0
band ${osmo_bts_trx.band}
ipa unit-id ${osmo_bts_trx.ipa_unit_id} 0
@@ -44,5 +46,7 @@
gsmtap-sapi ptcch
gsmtap-sapi cbch
gsmtap-sapi sacch
- trx 0
- phy 0 instance 0
+%for chan in osmo_bts_trx.osmo_trx.channels:
+ trx ${loop.index}
+ phy 0 instance ${loop.index}
+%endfor