fixeria has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmocom-bb/+/33165 )
Change subject: fake_trx.py: remove SETSLOT based burst filtering
......................................................................
fake_trx.py: remove SETSLOT based burst filtering
For the sake of simplicity and due to some performance limitations,
fake_trx.py does not generate TRXD NOPE indications for osmo-bts-trx
on its own. It's actually trxcon sending NOPE.req (empty Tx PDUs)
when it has nothing to send, and fake_trx.py simply converting them.
In a follow-up change [1] we remove trxcon's internal clock module,
making the Uplink burst scheduling being driven by Downlink bursts
with the respective TDMA Fn/Tn values. Given that fake_trx.py is
currently dropping bursts received for inactive timeslots, we would
get NOPE.req only for a single timeslot, the one being currently
active. This would break several testcases in ttcn3-bts-test.
Remove SETSLOT based burst filtering, so that trxcon would still be
able to generate NOPE.req for all, active and inactive timeslots.
Downlink bursts for inactive timeslots are discarded anyway.
Change-Id: Ia42550d5c2d8b49efbdf8ef0ce46b26afd1c464e
Related: [1] Ic8a5b6277c6b16392026e0557376257d71c9d230
Related: OS#5500
---
M src/target/trx_toolkit/burst_fwd.py
M src/target/trx_toolkit/ctrl_if_trx.py
M src/target/trx_toolkit/transceiver.py
3 files changed, 27 insertions(+), 48 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/65/33165/1
diff --git a/src/target/trx_toolkit/burst_fwd.py b/src/target/trx_toolkit/burst_fwd.py
index f5a6d78..6924531 100644
--- a/src/target/trx_toolkit/burst_fwd.py
+++ b/src/target/trx_toolkit/burst_fwd.py
@@ -58,8 +58,6 @@
# Check transceiver state
if not trx.running:
continue
- if rx_msg.tn not in trx.ts_list:
- continue
# Match Tx/Rx frequencies of the both transceivers
if trx.get_rx_freq(rx_msg.fn) != tx_freq:
diff --git a/src/target/trx_toolkit/ctrl_if_trx.py
b/src/target/trx_toolkit/ctrl_if_trx.py
index 2871f37..e6fdaf1 100644
--- a/src/target/trx_toolkit/ctrl_if_trx.py
+++ b/src/target/trx_toolkit/ctrl_if_trx.py
@@ -134,32 +134,6 @@
self.trx._tx_freq = int(request[1]) * 1000
return 0
- elif self.verify_cmd(request, "SETSLOT", 2):
- log.debug("(%s) Recv SETSLOT cmd" % self.trx)
-
- # Obtain TS index
- ts = int(request[1])
- if ts not in range(0, 8):
- log.error("(%s) TS index should be in "
- "range: 0..7" % self.trx)
- return -1
-
- # Parse TS type
- ts_type = int(request[2])
-
- # TS activation / deactivation
- # We don't care about ts_type
- if ts_type == 0:
- # Deactivate TS (remove from the list of active timeslots)
- if ts in self.trx.ts_list:
- self.trx.ts_list.remove(ts)
- else:
- # Activate TS (add to the list of active timeslots)
- if ts not in self.trx.ts_list:
- self.trx.ts_list.append(ts)
-
- return 0
-
# Power measurement
if self.verify_cmd(request, "MEASURE", 1):
log.debug("(%s) Recv MEASURE cmd" % self.trx)
diff --git a/src/target/trx_toolkit/transceiver.py
b/src/target/trx_toolkit/transceiver.py
index 385c38d..ffd18ab 100644
--- a/src/target/trx_toolkit/transceiver.py
+++ b/src/target/trx_toolkit/transceiver.py
@@ -43,16 +43,6 @@
NOTE: CLCK is not required for some L1 implementations, so it is optional.
- == Timeslot configuration
-
- Transceiver has a list of active (i.e. configured) TDMA timeslots.
- The L1 should configure a timeslot before sending or expecting any
- data on it. This is done by SETSLOT control command, which also
- indicates an associated channel combination (see GSM TS 05.02).
-
- NOTE: we don't store the associated channel combinations,
- as they are only useful for burst detection and demodulation.
-
== Child transceivers
A BTS can (optionally) have more than one transceiver. In this case
@@ -168,9 +158,6 @@
# Frequency hopping parameters (set by CTRL)
self.fh = None
- # List of active (configured) timeslots
- self.ts_list = []
-
# List of child transceivers
self.child_trx_list = TRXList()
@@ -264,13 +251,6 @@
"is not running => dropping..." % (self, msg.desc_hdr()))
return None
- # Make sure that indicated timeslot is configured
- # Pass PDUs without burst bits, they will be sent as NOPE.ind
- if msg.tn not in self.ts_list and msg.burst:
- log.warning("(%s) RX TRXD message (%s), but timeslot is not "
- "configured => dropping..." % (self, msg.desc_hdr()))
- return None
-
return msg
def handle_data_msg(self, msg):
--
To view, visit
https://gerrit.osmocom.org/c/osmocom-bb/+/33165
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: Ia42550d5c2d8b49efbdf8ef0ce46b26afd1c464e
Gerrit-Change-Number: 33165
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange