Vadim Yanitskiy has submitted this change and it was merged. ( https://gerrit.osmocom.org/12549 )
Change subject: trx_toolkit/transceiver.py: add optional transceiver name ...................................................................... trx_toolkit/transceiver.py: add optional transceiver name Since fake_trx.py can handle multiple transceivers, it may be useful to name transceivers. If transceiver has some name, it will appear in logging messages, for example: [INFO] transceiver.py:104 Init transceiver 'BTS@127.0.0.1:5700' [INFO] transceiver.py:104 Init transceiver 'MS@127.0.0.1:6700' [INFO] transceiver.py:104 Init transceiver '127.0.0.1:5700/1' This change additionally assigns names to the both default transceivers, and extends the '--trx' option with ability to specify some name, for example: --trx foo@127.0.0.1:5700 or --trx bar@127.0.0.1:5700/1 --trx ipv6@[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:6700 Change-Id: I2f58f02e7819bb008b8aab1a8bf9e0adeb2e44ec --- M src/target/trx_toolkit/fake_trx.py M src/target/trx_toolkit/transceiver.py 2 files changed, 26 insertions(+), 13 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/target/trx_toolkit/fake_trx.py b/src/target/trx_toolkit/fake_trx.py index 294a819..928333f 100755 --- a/src/target/trx_toolkit/fake_trx.py +++ b/src/target/trx_toolkit/fake_trx.py @@ -288,31 +288,34 @@ self.fake_pm.trx_list = self.trx_list # Init TRX instance for BTS - self.append_trx(self.argv.bts_addr, self.argv.bts_base_port) + self.append_trx(self.argv.bts_addr, + self.argv.bts_base_port, name = "BTS") # Init TRX instance for BB - self.append_trx(self.argv.bb_addr, self.argv.bb_base_port) + self.append_trx(self.argv.bb_addr, + self.argv.bb_base_port, name = "MS") # Additional transceivers (optional) if self.argv.trx_list is not None: for trx_def in self.argv.trx_list: - (addr, port, idx) = trx_def - self.append_child_trx(addr, port, idx) + (name, addr, port, idx) = trx_def + self.append_child_trx(addr, port, idx, name) # Burst forwarding between transceivers self.burst_fwd = BurstForwarder(self.trx_list) log.info("Init complete") - def append_trx(self, remote_addr, base_port): + def append_trx(self, remote_addr, base_port, name = None): trx = FakeTRX(self.argv.trx_bind_addr, remote_addr, base_port, - clck_gen = self.clck_gen, pwr_meas = self.fake_pm) + clck_gen = self.clck_gen, pwr_meas = self.fake_pm, + name = name) self.trx_list.add_trx(trx) - def append_child_trx(self, remote_addr, base_port, child_idx): + def append_child_trx(self, remote_addr, base_port, child_idx, name = None): # Index 0 corresponds to the first transceiver if child_idx is 0: - self.append_trx(remote_addr, base_port) + self.append_trx(remote_addr, base_port, name) return # Find 'parent' transceiver for a new child @@ -323,7 +326,7 @@ # Allocate a new child trx_child = FakeTRX(self.argv.trx_bind_addr, remote_addr, base_port, - child_idx = child_idx, pwr_meas = self.fake_pm) + child_idx = child_idx, pwr_meas = self.fake_pm, name = name) self.trx_list.add_trx(trx_child) # Link a new 'child' with its 'parent' @@ -363,11 +366,12 @@ # format: REMOTE_ADDR:BIND_PORT[/TRX_NUM] # e.g. [2001:0db8:85a3:0000:0000:8a2e:0370:7334]:5700/5 # e.g. 127.0.0.1:5700 or 127.0.0.1:5700/1 + # e.g. foo@127.0.0.1:5700 or bar@127.0.0.1:5700/1 @staticmethod def trx_def(val): try: - result = re.match("(.+):([0-9]+)(\/[0-9]+)?", val) - (addr, port, idx) = result.groups() + result = re.match("(.+@)?(.+):([0-9]+)(\/[0-9]+)?", val) + (name, addr, port, idx) = result.groups() except: raise argparse.ArgumentTypeError("Invalid TRX definition: %s" % val) @@ -376,7 +380,11 @@ else: idx = 0 - return (addr, int(port), idx) + # Cut '@' from TRX name + if name is not None: + name = name[:-1] + + return (name, addr, int(port), idx) def parse_argv(self): parser = argparse.ArgumentParser(prog = "fake_trx", diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py index 6c72a26..9c234fd 100644 --- a/src/target/trx_toolkit/transceiver.py +++ b/src/target/trx_toolkit/transceiver.py @@ -90,7 +90,7 @@ """ - def __init__(self, bind_addr, remote_addr, base_port, + def __init__(self, bind_addr, remote_addr, base_port, name = None, child_idx = 0, clck_gen = None, pwr_meas = None): # Connection info self.remote_addr = remote_addr @@ -98,6 +98,9 @@ self.base_port = base_port self.child_idx = child_idx + # Meta info + self.name = name + log.info("Init transceiver '%s'" % self) # Child transceiver cannot have its own clock @@ -141,6 +144,8 @@ desc = "%s:%d" % (self.remote_addr, self.base_port) if self.child_idx > 0: desc += "/%d" % self.child_idx + if self.name is not None: + desc = "%s@%s" % (self.name, desc) return desc -- To view, visit https://gerrit.osmocom.org/12549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I2f58f02e7819bb008b8aab1a8bf9e0adeb2e44ec Gerrit-Change-Number: 12549 Gerrit-PatchSet: 4 Gerrit-Owner: Vadim Yanitskiy <axilira...@gmail.com> Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org> Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Vadim Yanitskiy <axilira...@gmail.com>