<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/26157">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  fixeria: Looks good to me, but someone else must approve
  neels: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">tbf: Set tfi to initial special value<br><br>This allows distinguishing when a TBF didn't set the TFI. Useful to<br>identify dummy reject TBFs, etc, and make sure a non-dummy TBF set its<br>TFI properly.<br><br>Change-Id: Iecf54a24041bd14f4ef5b86e57c3732e1b69d463<br>---<br>M src/tbf.cpp<br>M src/tbf.h<br>M tests/alloc/AllocTest.err<br>M tests/ms/MsTest.err<br>M tests/tbf/TbfTest.err<br>M tests/ulc/PdchUlcTest.err<br>6 files changed, 99 insertions(+), 97 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/tbf.cpp b/src/tbf.cpp</span><br><span>index bdba2e7..4b78595 100644</span><br><span>--- a/src/tbf.cpp</span><br><span>+++ b/src/tbf.cpp</span><br><span>@@ -101,7 +101,7 @@</span><br><span>       num_fT_exp(0),</span><br><span>       upgrade_to_multislot(false),</span><br><span>         bts(bts_),</span><br><span style="color: hsl(0, 100%, 40%);">-      m_tfi(0),</span><br><span style="color: hsl(120, 100%, 40%);">+     m_tfi(TBF_TFI_UNSET),</span><br><span>        m_created_ts(0),</span><br><span>     m_ctrs(NULL),</span><br><span>        m_ms(ms),</span><br><span>@@ -719,9 +719,10 @@</span><br><span> </span><br><span> const char *gprs_rlcmac_tbf::name() const</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+        int8_t tfi = m_tfi == TBF_TS_UNSET ? -1 : m_tfi;</span><br><span>     snprintf(m_name_buf, sizeof(m_name_buf) - 1,</span><br><span>                 "TBF(TFI=%d TLLI=0x%08x DIR=%s STATE=%s%s)",</span><br><span style="color: hsl(0, 100%, 40%);">-          m_tfi, tlli(),</span><br><span style="color: hsl(120, 100%, 40%);">+                tfi, tlli(),</span><br><span>                 direction == GPRS_RLCMAC_UL_TBF ? "UL" : "DL",</span><br><span>           state_name(),</span><br><span>                is_egprs_enabled() ? " EGPRS" : ""</span><br><span>diff --git a/src/tbf.h b/src/tbf.h</span><br><span>index 4652d95..9ce1813 100644</span><br><span>--- a/src/tbf.h</span><br><span>+++ b/src/tbf.h</span><br><span>@@ -117,6 +117,7 @@</span><br><span> #define GPRS_RLCMAC_FLAG_TO_MASK       0xf0 /* timeout bits */</span><br><span> </span><br><span> #define TBF_TS_UNSET 0xff</span><br><span style="color: hsl(120, 100%, 40%);">+#define TBF_TFI_UNSET 0xff</span><br><span> </span><br><span> #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__)</span><br><span> </span><br><span>diff --git a/tests/alloc/AllocTest.err b/tests/alloc/AllocTest.err</span><br><span>index 1ca4b3b..cb98332 100644</span><br><span>--- a/tests/alloc/AllocTest.err</span><br><span>+++ b/tests/alloc/AllocTest.err</span><br><span>@@ -389,7 +389,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [DL] algo A <multi> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -748,7 +748,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: -1): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -1595,7 +1595,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [DL] algo A <multi> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -2294,7 +2294,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: -1): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -474805,7 +474805,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: -1): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -474994,7 +474994,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -475183,7 +475183,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -475468,7 +475468,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -475681,7 +475681,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -475895,7 +475895,7 @@</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No USF available</span><br><span> [UL] algo A <multi> (suggested TRX: -1): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -476330,7 +476330,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: 0): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -476529,7 +476529,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -476729,7 +476729,7 @@</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No USF available</span><br><span> [UL] algo A <multi> (suggested TRX: 0): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -479307,7 +479307,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -479836,7 +479836,7 @@</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No TFI available (suggested TRX: 0).</span><br><span> [DL] algo B <multi> (suggested TRX: 0): failed to allocate a TFI</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -481537,7 +481537,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -482112,7 +482112,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: 0): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -482371,7 +482371,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -482631,7 +482631,7 @@</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No USF available</span><br><span> [UL] algo A <multi> (suggested TRX: 0): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -482854,7 +482854,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: -1): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -482953,7 +482953,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -483095,7 +483095,7 @@</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No USF available</span><br><span> [UL] algo A <multi> (suggested TRX: -1): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -484069,7 +484069,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [DL] algo A <multi> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -484272,7 +484272,7 @@</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No TFI available (suggested TRX: -1).</span><br><span> [DL] algo B <multi> (suggested TRX: -1): failed to allocate a TFI</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -484959,7 +484959,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [DL] algo A <multi> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -487533,7 +487533,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -487753,7 +487753,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: 0): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xc0000023 DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xc0000023 DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -491263,7 +491263,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -493033,7 +493033,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [DL] algo A <multi> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -493563,7 +493563,7 @@</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No TFI available (suggested TRX: 0).</span><br><span> [DL] algo B <multi> (suggested TRX: 0): failed to allocate a TFI</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -493679,7 +493679,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xc0000011 DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xc0000011 DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -494436,7 +494436,7 @@</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No TFI available (suggested TRX: 0).</span><br><span> [DL] algo B <multi> (suggested TRX: 0): failed to allocate a TFI</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -494803,7 +494803,7 @@</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> No TFI available (suggested TRX: -1).</span><br><span> [DL] algo B <multi> (suggested TRX: -1): failed to allocate a TFI</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -496297,7 +496297,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -496409,7 +496409,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: 0): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xc0000011 DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xc0000011 DIR=UL STATE=NEW) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -499422,7 +499422,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [UL] algo A <multi> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -501192,7 +501192,7 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [DL] algo A <multi> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 0</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>diff --git a/tests/ms/MsTest.err b/tests/ms/MsTest.err</span><br><span>index 6adbfc4..d4895b9 100644</span><br><span>--- a/tests/ms/MsTest.err</span><br><span>+++ b/tests/ms/MsTest.err</span><br><span>@@ -1,22 +1,22 @@</span><br><span> Creating MS object, TLLI = 0xffeeddbb</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, UL) Attaching DL TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span> MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Destroying MS object</span><br><span> Creating MS object, TLLI = 0xffeeddbb</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, UL) Attaching DL TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span> MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Destroying MS object</span><br><span> Creating MS object, TLLI = 0xffeeddbb</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Attaching DL TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Attaching UL TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span> MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Destroying MS object</span><br><span> Creating MS object, TLLI = 0xaa000000</span><br><span> Modifying MS object, UL TLLI: 0xaa000000 -> 0xff001111, not yet confirmed</span><br><span>@@ -41,21 +41,21 @@</span><br><span> Creating MS object, TLLI = 0xffffffff</span><br><span> Modifying MS object, UL TLLI: 0xffffffff -> 0xffeeddbc, not yet confirmed</span><br><span> Modifying MS object, TLLI = 0xffeeddbc, IMSI '' -> '001001987654322'</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=001001987654321, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=001001987654321, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=001001987654321, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=001001987654321, TA=220, 0/0,) Detaching TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span> MS(TLLI=0xffeeddbb, IMSI=001001987654321, TA=220, 0/0,) Destroying MS object</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbc, IMSI=001001987654322, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbc, IMSI=001001987654322, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbc, IMSI=001001987654322, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbc, IMSI=001001987654322, TA=220, 0/0,) Detaching TBF: TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW)</span><br><span> MS(TLLI=0xffeeddbc, IMSI=001001987654322, TA=220, 0/0,) Destroying MS object</span><br><span> Creating MS object, TLLI = 0xffeeddbb</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, UL) Attaching DL TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span> MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Release timer expired</span><br><span> MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Destroying MS object</span><br><span> Creating MS object, TLLI = 0xffeeddbb</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=-1 TLLI=0xffeeddbb DIR=DL STATE=NEW)</span><br><span> Creating MS object, TLLI = 0xdeadbeef</span><br><span> Creating MS object, TLLI = 0xdeadbef0</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xdeadbef0, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xdeadbef0 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xdeadbef0, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=-1 TLLI=0xdeadbef0 DIR=DL STATE=NEW)</span><br><span>diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err</span><br><span>index 0374f57..7d2d534 100644</span><br><span>--- a/tests/tbf/TbfTest.err</span><br><span>+++ b/tests/tbf/TbfTest.err</span><br><span>@@ -1601,7 +1601,7 @@</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> [DL] algo A <single> (suggested TRX: -1): Alloc start</span><br><span> [DL] algo A <single> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xc0000020 DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 1</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xc0000020 DIR=DL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 1</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span> DL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -7320,7 +7320,7 @@</span><br><span> - Skipping TS 6, because not enabled</span><br><span> - Skipping TS 7, because no USF available</span><br><span> [UL] algo A <single> (suggested TRX: -1): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 1</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffffffff DIR=UL STATE=NEW) Timeslot Allocation failed: trx = -1, single_slot = 1</span><br><span> UL_ACK_TBF{NONE}: Deallocated</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -9066,7 +9066,7 @@</span><br><span> - Skipping TS 6, because not enabled</span><br><span> - Skipping TS 7, because no USF available</span><br><span> [UL] algo A <multi> (suggested TRX: 0): failed to allocate a TS, no USF available</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=NEW EGPRS) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffeeddd3 DIR=UL STATE=NEW EGPRS) Timeslot Allocation failed: trx = 0, single_slot = 0</span><br><span> UL_ACK_TBF{NONE}: Deallocated</span><br><span> TBF{NEW}: Deallocated</span><br><span> UL_ASS_TBF{NONE}: Deallocated</span><br><span>@@ -9076,12 +9076,12 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> UL_ACK_TBF{NONE}: Allocated</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=NEW) Setting Control TS 7</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddd3, IMSI=, TA=7, 11/11,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffeeddd3 DIR=UL STATE=NEW) Setting Control TS 7</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddd3, IMSI=, TA=7, 11/11,) Attaching UL TBF: TBF(TFI=-1 TLLI=0xffeeddd3 DIR=UL STATE=NEW)</span><br><span> TBF{NEW}: Received Event ASSIGN_ADD_PACCH</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=NEW) set ass. type PACCH [prev CCCH:0, PACCH:0]</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffeeddd3 DIR=UL STATE=NEW) set ass. type PACCH [prev CCCH:0, PACCH:0]</span><br><span> TBF{NEW}: state_chg to ASSIGN</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffeeddd3 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec</span><br><span> UL_ASS_TBF{NONE}: Received Event SCHED_ASS_REJ</span><br><span> UL_ASS_TBF{NONE}: state_chg to SEND_ASS_REJ</span><br><span> PDCH(bts=0,trx=0,ts=7) Expiring FN=82 but previous FN=2654231 is still reserved!</span><br><span>@@ -9107,21 +9107,21 @@</span><br><span> UL_ASS_TBF{NONE}: Allocated</span><br><span> DL_ASS_TBF{NONE}: Allocated</span><br><span> UL_ACK_TBF{NONE}: Allocated</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NEW) Setting Control TS 7</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffeeddcc DIR=UL STATE=NEW) Setting Control TS 7</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=-1 TLLI=0xffeeddcc DIR=UL STATE=NEW)</span><br><span> TBF{NEW}: Received Event ASSIGN_ADD_PACCH</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NEW) set ass. type PACCH [prev CCCH:0, PACCH:0]</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffeeddcc DIR=UL STATE=NEW) set ass. type PACCH [prev CCCH:0, PACCH:0]</span><br><span> TBF{NEW}: state_chg to ASSIGN</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec</span><br><span> UL_ASS_TBF{NONE}: Received Event SCHED_ASS_REJ</span><br><span> UL_ASS_TBF{NONE}: state_chg to SEND_ASS_REJ</span><br><span> UL_ASS_TBF{SEND_ASS_REJ}: Received Event CREATE_RLCMAC_MSG</span><br><span> UL_ASS_TBF{SEND_ASS_REJ}: state_chg to NONE</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer X2000 [reject (PACCH)] with 0 sec. 0 microsec</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=7) FN=2654218 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN)</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer X2000 [reject (PACCH)] with 0 sec. 0 microsec</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=7) FN=2654218 Scheduling control message at RTS for TBF(TFI=-1 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN)</span><br><span> UL_ASS_TBF{NONE}: Timeout of X2000</span><br><span style="color: hsl(0, 100%, 40%);">-TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) free</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN)</span><br><span style="color: hsl(120, 100%, 40%);">+TBF(TFI=-1 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) free</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=-1 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN)</span><br><span> MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Destroying MS object</span><br><span> ********** UL-TBF ends here **********</span><br><span> UL_ACK_TBF{NONE}: Deallocated</span><br><span>diff --git a/tests/ulc/PdchUlcTest.err b/tests/ulc/PdchUlcTest.err</span><br><span>index d122f31..411c3f3 100644</span><br><span>--- a/tests/ulc/PdchUlcTest.err</span><br><span>+++ b/tests/ulc/PdchUlcTest.err</span><br><span>@@ -5,42 +5,42 @@</span><br><span> PDCH(bts=0,trx=0,ts=0) Trying to release unregistered SBA (FN=78, TA=0)</span><br><span> PDCH(bts=0,trx=0,ts=0) Timeout for registered SBA (FN=72, TA=0)</span><br><span> Creating MS object, TLLI = 0x12345678</span><br><span style="color: hsl(0, 100%, 40%);">-MS(TLLI=0x12345678, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+MS(TLLI=0x12345678, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=2715608 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715608, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715613, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715608, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715613, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715617 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715617, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715617, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715622 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715622, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715622, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715626 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715626, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715626, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715630 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715630, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715630, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715635 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715635, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715635, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715639 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715639, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715639, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715643 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715643, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715643, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=4 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=8 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=13 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=17 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=21 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=26 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=30 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=34 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=39 is still reserved!</span><br><span style="color: hsl(0, 100%, 40%);">-PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span style="color: hsl(120, 100%, 40%);">+PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39, reason=UL_ASS): TBF(TFI=-1 TLLI=0x12345678 DIR=DL STATE=NEW)</span><br><span> PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 26 + 13 = 39</span><br><span> PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104</span><br><span> PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 91 + 17 = 108</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/26157">change 26157</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-pcu/+/26157"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Iecf54a24041bd14f4ef5b86e57c3732e1b69d463 </div>
<div style="display:none"> Gerrit-Change-Number: 26157 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>