<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/18134">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Expect ms object to exist before calling tbf_alloc_dl_tbf()<br><br>Same as previous commit, this time for the DL counterpart.<br><br>Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4<br>---<br>M src/tbf.cpp<br>M src/tbf.h<br>M src/tbf_dl.cpp<br>M tests/alloc/AllocTest.cpp<br>M tests/app_info/AppInfoTest.cpp<br>M tests/tbf/TbfTest.cpp<br>M tests/tbf/TbfTest.err<br>M tests/types/TypesTest.cpp<br>8 files changed, 221 insertions(+), 221 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/34/18134/1</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 e41ed9f..ec45015 100644</span><br><span>--- a/src/tbf.cpp</span><br><span>+++ b/src/tbf.cpp</span><br><span>@@ -1049,24 +1049,23 @@</span><br><span>        return 0;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class,</span><br><span style="color: hsl(0, 100%, 40%);">-                                            uint8_t egprs_ms_class, bool single_slot)</span><br><span style="color: hsl(120, 100%, 40%);">+struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot)</span><br><span> {</span><br><span>   struct gprs_rlcmac_dl_tbf *tbf;</span><br><span>      int rc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     if (egprs_ms_class == 0 && bts->egprs_enabled) {</span><br><span style="color: hsl(0, 100%, 40%);">-             if (ms_class > 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+        if (ms->egprs_ms_class() == 0 && bts->egprs_enabled) {</span><br><span style="color: hsl(120, 100%, 40%);">+          if (ms->ms_class() > 0) {</span><br><span>                      LOGP(DTBF, LOGL_NOTICE, "Not accepting non-EGPRS phone in EGPRS-only mode\n");</span><br><span>                     bts->bts->tbf_failed_egprs_only();</span><br><span>                     return NULL;</span><br><span>                 }</span><br><span style="color: hsl(0, 100%, 40%);">-               egprs_ms_class = 1;</span><br><span style="color: hsl(120, 100%, 40%);">+           ms->set_egprs_ms_class(1);</span><br><span>        }</span><br><span> </span><br><span>        LOGP(DTBF, LOGL_DEBUG, "********** DL-TBF starts here **********\n");</span><br><span>      LOGP(DTBF, LOGL_INFO, "Allocating DL TBF: MS_CLASS=%d/%d\n",</span><br><span style="color: hsl(0, 100%, 40%);">-       ms_class, egprs_ms_class);</span><br><span style="color: hsl(120, 100%, 40%);">+            ms->ms_class(), ms->egprs_ms_class());</span><br><span> </span><br><span>        tbf = talloc(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf);</span><br><span> </span><br><span>@@ -1075,17 +1074,13 @@</span><br><span> </span><br><span>     talloc_set_destructor(tbf, dl_tbf_dtor);</span><br><span>     new (tbf) gprs_rlcmac_dl_tbf(bts->bts);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-      if (!ms)</span><br><span style="color: hsl(0, 100%, 40%);">-                ms = bts->bts->ms_alloc(ms_class, egprs_ms_class);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        if (egprs_ms_class > 0 && bts->egprs_enabled) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ms->egprs_ms_class() > 0 && bts->egprs_enabled) {</span><br><span>               tbf->enable_egprs();</span><br><span>              setup_egprs_mode(bts, ms);</span><br><span>           LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", mode_name(ms->mode()));</span><br><span>     }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   rc = setup_tbf(tbf, ms, use_trx, ms_class, 0, single_slot);</span><br><span style="color: hsl(120, 100%, 40%);">+   rc = setup_tbf(tbf, ms, use_trx, ms->ms_class(), 0, single_slot);</span><br><span>         /* if no resource */</span><br><span>         if (rc < 0) {</span><br><span>             talloc_free(tbf);</span><br><span>@@ -1430,8 +1425,7 @@</span><br><span>    bts->tbf_reused();</span><br><span> </span><br><span>    new_tbf = tbf_alloc_dl_tbf(bts->bts_data(), ms(),</span><br><span style="color: hsl(0, 100%, 40%);">-            this->trx->trx_no, ms_class(),</span><br><span style="color: hsl(0, 100%, 40%);">-            ms() ?  ms()->egprs_ms_class() : 0, false);</span><br><span style="color: hsl(120, 100%, 40%);">+                this->trx->trx_no, false);</span><br><span> </span><br><span>         if (!new_tbf) {</span><br><span>              LOGP(DTBF, LOGL_NOTICE, "No PDCH resource\n");</span><br><span>diff --git a/src/tbf.h b/src/tbf.h</span><br><span>index 33d996f..5ebd2e8 100644</span><br><span>--- a/src/tbf.h</span><br><span>+++ b/src/tbf.h</span><br><span>@@ -351,8 +351,7 @@</span><br><span> </span><br><span> struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class,</span><br><span style="color: hsl(0, 100%, 40%);">-                                            uint8_t egprs_ms_class, bool single_slot);</span><br><span style="color: hsl(120, 100%, 40%);">+struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot);</span><br><span> </span><br><span> void tbf_free(struct gprs_rlcmac_tbf *tbf);</span><br><span> </span><br><span>diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp</span><br><span>index 4e8966e..591f460 100644</span><br><span>--- a/src/tbf_dl.cpp</span><br><span>+++ b/src/tbf_dl.cpp</span><br><span>@@ -146,10 +146,12 @@</span><br><span> </span><br><span>      /* check for uplink data, so we copy our informations */</span><br><span>     ms = bts->bts->ms_store().get_ms(tlli, tlli_old, imsi);</span><br><span style="color: hsl(0, 100%, 40%);">-   if (ms) {</span><br><span style="color: hsl(0, 100%, 40%);">-               ul_tbf = ms->ul_tbf();</span><br><span style="color: hsl(0, 100%, 40%);">-               ta = ms->ta();</span><br><span style="color: hsl(0, 100%, 40%);">-       }</span><br><span style="color: hsl(120, 100%, 40%);">+     if (!ms)</span><br><span style="color: hsl(120, 100%, 40%);">+              ms = bts->bts->ms_alloc(ms_class, egprs_ms_class); /* ms class updated later */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       ul_tbf = ms->ul_tbf();</span><br><span style="color: hsl(120, 100%, 40%);">+     ta = ms->ta();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  /* TODO: if (!ms) create MS before tbf_alloc is called? */</span><br><span> </span><br><span>       if (ul_tbf && ul_tbf->m_contention_resolution_done</span><br><span>@@ -166,7 +168,7 @@</span><br><span>  // Create new TBF (any TRX)</span><br><span> /* FIXME: Copy and paste with alloc_ul_tbf */</span><br><span>         /* set number of downlink slots according to multislot class */</span><br><span style="color: hsl(0, 100%, 40%);">- dl_tbf = tbf_alloc_dl_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, ss);</span><br><span style="color: hsl(120, 100%, 40%);">+    dl_tbf = tbf_alloc_dl_tbf(bts, ms, use_trx, ss);</span><br><span> </span><br><span>         if (!dl_tbf) {</span><br><span>               LOGP(DTBF, LOGL_NOTICE, "No PDCH resource\n");</span><br><span>diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp</span><br><span>index abd5d22..fec2c31 100644</span><br><span>--- a/tests/alloc/AllocTest.cpp</span><br><span>+++ b/tests/alloc/AllocTest.cpp</span><br><span>@@ -41,17 +41,14 @@</span><br><span> </span><br><span> static gprs_rlcmac_tbf *tbf_alloc(struct gprs_rlcmac_bts *bts,</span><br><span>                GprsMs *ms, gprs_rlcmac_tbf_direction dir,</span><br><span style="color: hsl(0, 100%, 40%);">-              uint8_t use_trx,</span><br><span style="color: hsl(0, 100%, 40%);">-                uint8_t ms_class, uint8_t egprs_ms_class, bool single_slot)</span><br><span style="color: hsl(120, 100%, 40%);">+           uint8_t use_trx, bool single_slot)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- if (dir == GPRS_RLCMAC_UL_TBF && !ms)</span><br><span style="color: hsl(0, 100%, 40%);">-           ms = bts->bts->ms_alloc(ms_class, egprs_ms_class);</span><br><span style="color: hsl(120, 100%, 40%);">+      OSMO_ASSERT(ms != NULL);</span><br><span> </span><br><span>         if (dir == GPRS_RLCMAC_UL_TBF)</span><br><span>               return tbf_alloc_ul_tbf(bts, ms, use_trx, single_slot);</span><br><span>      else</span><br><span style="color: hsl(0, 100%, 40%);">-            return tbf_alloc_dl_tbf(bts, ms, use_trx,</span><br><span style="color: hsl(0, 100%, 40%);">-                       ms_class, egprs_ms_class, single_slot);</span><br><span style="color: hsl(120, 100%, 40%);">+               return tbf_alloc_dl_tbf(bts, ms, use_trx, single_slot);</span><br><span> }</span><br><span> </span><br><span> static void check_tfi_usage(BTS *the_bts)</span><br><span>@@ -116,6 +113,7 @@</span><br><span>  int i;</span><br><span>       uint8_t used_trx, tmp_trx;</span><br><span>   BTS the_bts;</span><br><span style="color: hsl(120, 100%, 40%);">+  GprsMs *ms;</span><br><span>  struct gprs_rlcmac_bts *bts;</span><br><span>         struct gprs_rlcmac_tbf *tbfs[32*8+1] = { 0, };</span><br><span> </span><br><span>@@ -138,7 +136,8 @@</span><br><span>      * least this part is working okay.</span><br><span>   */</span><br><span>  for (i = 0; i < (int)ARRAY_SIZE(tbfs); ++i) {</span><br><span style="color: hsl(0, 100%, 40%);">-                tbfs[i] = tbf_alloc(bts, NULL, dir, -1, 0, 0, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+             ms = bts->bts->ms_alloc(0, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+          tbfs[i] = tbf_alloc(bts, ms, dir, -1, 0);</span><br><span>            if (tbfs[i] == NULL)</span><br><span>                         break;</span><br><span> </span><br><span>@@ -155,7 +154,8 @@</span><br><span>             if (tbfs[i])</span><br><span>                         tbf_free(tbfs[i]);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  tbfs[0] = tbf_alloc(bts, NULL, dir, -1, 0, 0, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+     ms = bts->bts->ms_alloc(0, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+  tbfs[0] = tbf_alloc(bts, ms, dir, -1, 0);</span><br><span>    OSMO_ASSERT(tbfs[0]);</span><br><span>        tbf_free(tbfs[0]);</span><br><span> }</span><br><span>@@ -229,8 +229,7 @@</span><br><span>        dump_assignment(ul_tbf, "UL", verbose);</span><br><span> </span><br><span>        /* assume final ack has not been sent */</span><br><span style="color: hsl(0, 100%, 40%);">-        dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), ul_tbf->ms()->current_trx()->trx_no, ms_class, 0,</span><br><span style="color: hsl(0, 100%, 40%);">-                                false);</span><br><span style="color: hsl(120, 100%, 40%);">+     dl_tbf = tbf_alloc_dl_tbf(bts, ms, ms->current_trx()->trx_no, false);</span><br><span>  if (!dl_tbf)</span><br><span>                 return false;</span><br><span> </span><br><span>@@ -262,15 +261,14 @@</span><br><span> </span><br><span>        enable_ts_on_bts(bts, ts0, ts1, ts2, ts3, ts4, ts5, ts6, ts7);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      dl_tbf = tbf_alloc_dl_tbf(bts, NULL, -1, ms_class, 0, true);</span><br><span style="color: hsl(120, 100%, 40%);">+  ms = the_bts.ms_alloc(ms_class, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+   dl_tbf = tbf_alloc_dl_tbf(bts, ms, -1, true);</span><br><span>        if (!dl_tbf)</span><br><span>                 return false;</span><br><span> </span><br><span>    dl_tbf->update_ms(0x23, GPRS_RLCMAC_DL_TBF);</span><br><span style="color: hsl(0, 100%, 40%);">- ms = dl_tbf->ms();</span><br><span style="color: hsl(0, 100%, 40%);">-   OSMO_ASSERT(dl_tbf->ms());</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(dl_tbf->ms() == ms);</span><br><span>  OSMO_ASSERT(dl_tbf->ms()->current_trx());</span><br><span style="color: hsl(0, 100%, 40%);">- ms->set_ms_class(ms_class);</span><br><span> </span><br><span>   dump_assignment(dl_tbf, "DL", verbose);</span><br><span> </span><br><span>@@ -320,14 +318,13 @@</span><br><span>        if (!ul_tbf)</span><br><span>                 return false;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       OSMO_ASSERT(ul_tbf->ms());</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(ul_tbf->ms() == ms);</span><br><span>  OSMO_ASSERT(ul_tbf->ms()->current_trx());</span><br><span style="color: hsl(0, 100%, 40%);">- trx_no = ul_tbf->ms()->current_trx()->trx_no;</span><br><span style="color: hsl(120, 100%, 40%);">+        trx_no = ms->current_trx()->trx_no;</span><br><span>    dump_assignment(ul_tbf, "UL", true);</span><br><span> </span><br><span>   /* assume final ack has not been sent */</span><br><span style="color: hsl(0, 100%, 40%);">-        dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), trx_no, ms_class, 0,</span><br><span style="color: hsl(0, 100%, 40%);">-                              false);</span><br><span style="color: hsl(120, 100%, 40%);">+     dl_tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, false);</span><br><span>   if (!dl_tbf)</span><br><span>                 return false;</span><br><span> </span><br><span>@@ -456,8 +453,7 @@</span><br><span>      }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static GprsMs *alloc_tbfs(BTS *the_bts, GprsMs *ms, unsigned ms_class,</span><br><span style="color: hsl(0, 100%, 40%);">-        enum test_mode mode)</span><br><span style="color: hsl(120, 100%, 40%);">+static GprsMs *alloc_tbfs(BTS *the_bts, GprsMs *ms, enum test_mode mode)</span><br><span> {</span><br><span>  struct gprs_rlcmac_bts *bts;</span><br><span>         uint8_t trx_no = -1;</span><br><span>@@ -478,9 +474,8 @@</span><br><span>   case TEST_MODE_UL_ONLY:</span><br><span>      case TEST_MODE_DL_AFTER_UL:</span><br><span>  case TEST_MODE_UL_AND_DL:</span><br><span style="color: hsl(0, 100%, 40%);">-               if (ms && ms->ul_tbf())</span><br><span style="color: hsl(120, 100%, 40%);">+            if (ms->ul_tbf())</span><br><span>                         tbf_free(ms->ul_tbf());</span><br><span style="color: hsl(0, 100%, 40%);">-              ms->set_ms_class(ms_class);</span><br><span>               tbf = tbf_alloc_ul_tbf(bts, ms, trx_no, false);</span><br><span>              if (tbf == NULL)</span><br><span>                     return NULL;</span><br><span>@@ -488,9 +483,9 @@</span><br><span>   case TEST_MODE_DL_ONLY:</span><br><span>      case TEST_MODE_UL_AFTER_DL:</span><br><span>  case TEST_MODE_DL_AND_UL:</span><br><span style="color: hsl(0, 100%, 40%);">-               if (ms && ms->dl_tbf())</span><br><span style="color: hsl(120, 100%, 40%);">+            if (ms->dl_tbf())</span><br><span>                         tbf_free(ms->dl_tbf());</span><br><span style="color: hsl(0, 100%, 40%);">-              tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, ms_class, 0, false);</span><br><span style="color: hsl(120, 100%, 40%);">+          tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, false);</span><br><span>              if (tbf == NULL)</span><br><span>                     return NULL;</span><br><span>         }</span><br><span>@@ -511,12 +506,12 @@</span><br><span> </span><br><span>        case TEST_MODE_DL_AFTER_UL:</span><br><span>  case TEST_MODE_UL_AND_DL:</span><br><span style="color: hsl(0, 100%, 40%);">-               ms = alloc_tbfs(the_bts, ms, ms_class, TEST_MODE_DL_ONLY);</span><br><span style="color: hsl(120, 100%, 40%);">+            ms = alloc_tbfs(the_bts, ms, TEST_MODE_DL_ONLY);</span><br><span>             break;</span><br><span> </span><br><span>   case TEST_MODE_UL_AFTER_DL:</span><br><span>  case TEST_MODE_DL_AND_UL:</span><br><span style="color: hsl(0, 100%, 40%);">-               ms = alloc_tbfs(the_bts, ms, ms_class, TEST_MODE_UL_ONLY);</span><br><span style="color: hsl(120, 100%, 40%);">+            ms = alloc_tbfs(the_bts, ms, TEST_MODE_UL_ONLY);</span><br><span>             break;</span><br><span>       }</span><br><span> </span><br><span>@@ -561,8 +556,8 @@</span><br><span>          ms = the_bts->ms_by_tlli(tlli);</span><br><span>           if (!ms)</span><br><span>                     ms = the_bts->ms_alloc(0, 0);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                ms = alloc_tbfs(the_bts, ms, ms_class, mode);</span><br><span style="color: hsl(120, 100%, 40%);">+         ms->set_ms_class(ms_class);</span><br><span style="color: hsl(120, 100%, 40%);">+                ms = alloc_tbfs(the_bts, ms, mode);</span><br><span>          if (!ms)</span><br><span>                     break;</span><br><span> </span><br><span>@@ -754,6 +749,7 @@</span><br><span> static void test_2_consecutive_dl_tbfs()</span><br><span> {</span><br><span>    BTS the_bts;</span><br><span style="color: hsl(120, 100%, 40%);">+  GprsMs *ms;</span><br><span>  struct gprs_rlcmac_bts *bts;</span><br><span>         struct gprs_rlcmac_trx *trx;</span><br><span>         uint8_t ms_class = 11;</span><br><span>@@ -772,8 +768,8 @@</span><br><span>         trx->pdch[6].enable();</span><br><span>    trx->pdch[7].enable();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   dl_tbf1 = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, egprs_ms_class,</span><br><span style="color: hsl(0, 100%, 40%);">-                                 false);</span><br><span style="color: hsl(120, 100%, 40%);">+    ms = the_bts.ms_alloc(ms_class, egprs_ms_class);</span><br><span style="color: hsl(120, 100%, 40%);">+      dl_tbf1 = tbf_alloc_dl_tbf(bts, ms, 0, false);</span><br><span>       OSMO_ASSERT(dl_tbf1);</span><br><span> </span><br><span>    for (int i = 0; i < 8; i++) {</span><br><span>@@ -783,8 +779,8 @@</span><br><span>       OSMO_ASSERT(numTs1 == 4);</span><br><span>    printf("TBF1: numTs(%d)\n", numTs1);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      dl_tbf2 = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, egprs_ms_class,</span><br><span style="color: hsl(0, 100%, 40%);">-                                 false);</span><br><span style="color: hsl(120, 100%, 40%);">+    ms = the_bts.ms_alloc(ms_class, egprs_ms_class);</span><br><span style="color: hsl(120, 100%, 40%);">+      dl_tbf2 = tbf_alloc_dl_tbf(bts, ms, 0, false);</span><br><span>       OSMO_ASSERT(dl_tbf2);</span><br><span> </span><br><span>    for (int i = 0; i < 8; i++) {</span><br><span>diff --git a/tests/app_info/AppInfoTest.cpp b/tests/app_info/AppInfoTest.cpp</span><br><span>index ca2c59e..cd4454d 100644</span><br><span>--- a/tests/app_info/AppInfoTest.cpp</span><br><span>+++ b/tests/app_info/AppInfoTest.cpp</span><br><span>@@ -93,9 +93,9 @@</span><br><span>    trx->pdch[7].enable();</span><br><span> </span><br><span>        ms1 = bts->ms_alloc(10, 11);</span><br><span style="color: hsl(0, 100%, 40%);">- tbf1 = tbf_alloc_dl_tbf(bts_data, ms1, 0, 10, 11, false);</span><br><span style="color: hsl(120, 100%, 40%);">+     tbf1 = tbf_alloc_dl_tbf(bts_data, ms1, 0, false);</span><br><span>    ms2 = bts->ms_alloc(12, 13);</span><br><span style="color: hsl(0, 100%, 40%);">- tbf2 = tbf_alloc_dl_tbf(bts_data, ms2, 0, 12, 13, false);</span><br><span style="color: hsl(120, 100%, 40%);">+     tbf2 = tbf_alloc_dl_tbf(bts_data, ms2, 0, false);</span><br><span> </span><br><span>        fprintf(stderr, "\n");</span><br><span> }</span><br><span>diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp</span><br><span>index 0a979e5..36f9ced 100644</span><br><span>--- a/tests/tbf/TbfTest.cpp</span><br><span>+++ b/tests/tbf/TbfTest.cpp</span><br><span>@@ -87,23 +87,23 @@</span><br><span>         /*</span><br><span>    * Make a uplink and downlink allocation</span><br><span>      */</span><br><span style="color: hsl(120, 100%, 40%);">+   ms = the_bts.ms_alloc(0, 0);</span><br><span>         gprs_rlcmac_tbf *dl_tbf = tbf_alloc_dl_tbf(the_bts.bts_data(),</span><br><span style="color: hsl(0, 100%, 40%);">-                                          NULL,</span><br><span style="color: hsl(0, 100%, 40%);">-                                           0, 0, 0, false);</span><br><span style="color: hsl(120, 100%, 40%);">+                                              ms, 0, false);</span><br><span>       OSMO_ASSERT(dl_tbf != NULL);</span><br><span>         dl_tbf->update_ms(0x2342, GPRS_RLCMAC_DL_TBF);</span><br><span>    dl_tbf->set_ta(4);</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(ms->dl_tbf() == dl_tbf);</span><br><span style="color: hsl(120, 100%, 40%);">+       OSMO_ASSERT(dl_tbf->ms() == ms);</span><br><span> </span><br><span>      gprs_rlcmac_tbf *ul_tbf = tbf_alloc_ul_tbf(the_bts.bts_data(),</span><br><span style="color: hsl(0, 100%, 40%);">-                                          dl_tbf->ms(), 0, false);</span><br><span style="color: hsl(120, 100%, 40%);">+                                              ms, 0, false);</span><br><span>    OSMO_ASSERT(ul_tbf != NULL);</span><br><span>         ul_tbf->update_ms(0x2342, GPRS_RLCMAC_UL_TBF);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-       ms = the_bts.ms_by_tlli(0x2342);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        OSMO_ASSERT(ms != NULL);</span><br><span style="color: hsl(0, 100%, 40%);">-        OSMO_ASSERT(ms->dl_tbf() == dl_tbf);</span><br><span>      OSMO_ASSERT(ms->ul_tbf() == ul_tbf);</span><br><span style="color: hsl(120, 100%, 40%);">+       OSMO_ASSERT(ul_tbf->ms() == ms);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(the_bts.ms_by_tlli(0x2342) == ms);</span><br><span> </span><br><span>   /*</span><br><span>    * Now check.. that DL changes and that the timing advance</span><br><span>@@ -172,15 +172,15 @@</span><br><span>   gprs_rlcmac_bts *bts;</span><br><span>        int tfi;</span><br><span>     uint8_t trx_no;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(120, 100%, 40%);">+       GprsMs *ms;</span><br><span>  gprs_rlcmac_dl_tbf *dl_tbf;</span><br><span> </span><br><span>      bts = the_bts->bts_data();</span><br><span style="color: hsl(120, 100%, 40%);">+ ms = the_bts->ms_alloc(ms_class, egprs_ms_class);</span><br><span> </span><br><span>     tfi = the_bts->tfi_find_free(GPRS_RLCMAC_DL_TBF, &trx_no, -1);</span><br><span>        OSMO_ASSERT(tfi >= 0);</span><br><span style="color: hsl(0, 100%, 40%);">-       dl_tbf = tbf_alloc_dl_tbf(bts, NULL, trx_no, ms_class, egprs_ms_class,</span><br><span style="color: hsl(0, 100%, 40%);">-                            true);</span><br><span style="color: hsl(120, 100%, 40%);">+      dl_tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, true);</span><br><span>    dl_tbf->set_ta(0);</span><br><span>        check_tbf(dl_tbf);</span><br><span> </span><br><span>@@ -2232,6 +2232,7 @@</span><br><span> {</span><br><span>  BTS the_bts;</span><br><span>         gprs_rlcmac_bts *bts;</span><br><span style="color: hsl(120, 100%, 40%);">+ GprsMs *ms;</span><br><span>  uint8_t ts_no = 4;</span><br><span>   uint8_t ms_class = 12;</span><br><span>       gprs_rlcmac_dl_tbf *dl_tbf;</span><br><span>@@ -2258,7 +2259,8 @@</span><br><span>  gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 4234, 4234, 4234, 1, 1, false, 0, 0, 0);</span><br><span> </span><br><span>     /* Does no support EGPRS */</span><br><span style="color: hsl(0, 100%, 40%);">-     dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, 0, false);</span><br><span style="color: hsl(120, 100%, 40%);">+  ms = the_bts.ms_alloc(ms_class, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+   dl_tbf = tbf_alloc_dl_tbf(bts, ms, 0, false);</span><br><span> </span><br><span>    ws_check(dl_tbf, __func__, 4, 64, true, false);</span><br><span> </span><br><span>@@ -2266,7 +2268,8 @@</span><br><span>  bts->egprs_enabled = 1;</span><br><span> </span><br><span>       /* Does support EGPRS */</span><br><span style="color: hsl(0, 100%, 40%);">-        dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, ms_class, false);</span><br><span style="color: hsl(120, 100%, 40%);">+   ms = the_bts.ms_alloc(ms_class, ms_class);</span><br><span style="color: hsl(120, 100%, 40%);">+    dl_tbf = tbf_alloc_dl_tbf(bts, ms, 0, false);</span><br><span> </span><br><span>    ws_check(dl_tbf, __func__, 4, 128 + 4 * 64, true, true);</span><br><span> }</span><br><span>@@ -2275,6 +2278,7 @@</span><br><span> {</span><br><span>   BTS the_bts;</span><br><span>         gprs_rlcmac_bts *bts;</span><br><span style="color: hsl(120, 100%, 40%);">+ GprsMs *ms;</span><br><span>  uint8_t ts_no = 4;</span><br><span>   uint8_t ms_class = 11;</span><br><span>       gprs_rlcmac_dl_tbf *dl_tbf;</span><br><span>@@ -2304,7 +2308,8 @@</span><br><span>  bts->egprs_enabled = 1;</span><br><span> </span><br><span>       /* Does support EGPRS */</span><br><span style="color: hsl(0, 100%, 40%);">-        dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, ms_class, true);</span><br><span style="color: hsl(120, 100%, 40%);">+    ms = the_bts.ms_alloc(ms_class, ms_class);</span><br><span style="color: hsl(120, 100%, 40%);">+    dl_tbf = tbf_alloc_dl_tbf(bts, ms, 0, true);</span><br><span> </span><br><span>     ws_check(dl_tbf, __func__, 1, 128 + 1 * 64, false, false);</span><br><span> </span><br><span>diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err</span><br><span>index 3f72266..6019def 100644</span><br><span>--- a/tests/tbf/TbfTest.err</span><br><span>+++ b/tests/tbf/TbfTest.err</span><br><span>@@ -1,9 +1,9 @@</span><br><span> === start test_tbf_base ===</span><br><span> === end test_tbf_base ===</span><br><span> === start test_tbf_tlli_update ===</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=0/0</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -40,12 +40,12 @@</span><br><span> Modifying MS object, TLLI = 0x00004232, TA 4 -> 6</span><br><span> === end test_tbf_tlli_update ===</span><br><span> === start test_tbf_final_ack ===</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=45/0</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -130,12 +130,12 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> === end test_tbf_final_ack ===</span><br><span> === start test_tbf_final_ack ===</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=45/0</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -220,12 +220,12 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> === end test_tbf_final_ack ===</span><br><span> === start test_tbf_delayed_release ===</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=45/0</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -475,12 +475,12 @@</span><br><span> ********** DL-TBF ends here **********</span><br><span> === end test_tbf_delayed_release ===</span><br><span> === start test_tbf_imsi ===</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=45/0</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -497,12 +497,12 @@</span><br><span> Modifying MS object, TLLI = 0x00000000, TA 220 -> 0</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=1.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=45/0</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -542,10 +542,10 @@</span><br><span> ********** DL-TBF ends here **********</span><br><span> === end test_tbf_imsi ===</span><br><span> === start test_tbf_exhaustion ===</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -567,10 +567,10 @@</span><br><span> TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -592,10 +592,10 @@</span><br><span> TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -617,10 +617,10 @@</span><br><span> TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -642,10 +642,10 @@</span><br><span> TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -667,10 +667,10 @@</span><br><span> TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -692,10 +692,10 @@</span><br><span> TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -717,10 +717,10 @@</span><br><span> TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -742,10 +742,10 @@</span><br><span> TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -767,10 +767,10 @@</span><br><span> TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -792,10 +792,10 @@</span><br><span> TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -817,10 +817,10 @@</span><br><span> TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -842,10 +842,10 @@</span><br><span> TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -867,10 +867,10 @@</span><br><span> TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -892,10 +892,10 @@</span><br><span> TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -917,10 +917,10 @@</span><br><span> TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -942,10 +942,10 @@</span><br><span> TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -967,10 +967,10 @@</span><br><span> TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -992,10 +992,10 @@</span><br><span> TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1017,10 +1017,10 @@</span><br><span> TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1042,10 +1042,10 @@</span><br><span> TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1067,10 +1067,10 @@</span><br><span> TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1092,10 +1092,10 @@</span><br><span> TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1117,10 +1117,10 @@</span><br><span> TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1142,10 +1142,10 @@</span><br><span> TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1167,10 +1167,10 @@</span><br><span> TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1192,10 +1192,10 @@</span><br><span> TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1217,10 +1217,10 @@</span><br><span> TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1242,10 +1242,10 @@</span><br><span> TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1267,10 +1267,10 @@</span><br><span> TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1292,10 +1292,10 @@</span><br><span> TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1317,10 +1317,10 @@</span><br><span> TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -1342,20 +1342,20 @@</span><br><span> TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)</span><br><span>  - TRX=0 (0) TS=4 TA=220 pollFN=-1</span><br><span> TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=ASSIGN) appending 256 bytes</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> [DL] algo A <single> (suggested TRX: -1): failed to find a usable TRX (TFI exhausted)</span><br><span> No PDCH resource</span><br><span> === end test_tbf_exhaustion ===</span><br><span> Destroying MS object, TLLI = 0x00000000</span><br><span> === start test_tbf_dl_llc_loss ===</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=45/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=45/0</span><br><span> [DL] Slot Allocation (Algorithm A) for class 45</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>@@ -3053,14 +3053,17 @@</span><br><span> TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 10, CS-1): 0f 03 14 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 </span><br><span> === end test_tbf_dl_reuse ===</span><br><span> === start test_tbf_gprs_egprs ===</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45</span><br><span> Not accepting non-EGPRS phone in EGPRS-only mode</span><br><span> No PDCH resource</span><br><span> === end test_tbf_gprs_egprs ===</span><br><span style="color: hsl(120, 100%, 40%);">+Destroying MS object, TLLI = 0x00000000</span><br><span> === start test_tbf_ws ===</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=12/0</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 12</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=12/0</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> Slot Allocation (Algorithm B) for class 12</span><br><span>@@ -3094,11 +3097,11 @@</span><br><span> Detaching TBF from MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING)</span><br><span> Destroying MS object, TLLI = 0x00000000</span><br><span> ********** DL-TBF ends here **********</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=12/12</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 12</span><br><span> Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 12</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=12/12</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span>@@ -3452,13 +3455,13 @@</span><br><span> === end test_tbf_egprs_two_phase_spb ===</span><br><span> === start test_tbf_egprs_dl ===</span><br><span> Testing MCS-1</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -3759,13 +3762,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing MCS-2</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -4016,13 +4019,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing MCS-3</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -4235,13 +4238,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing MCS-4</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -4422,13 +4425,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing MCS-5</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -4589,13 +4592,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing MCS-6</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -4738,13 +4741,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing MCS-7</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -4882,13 +4885,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing MCS-8</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5015,13 +5018,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing MCS-9</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5150,13 +5153,13 @@</span><br><span> === end test_tbf_egprs_dl ===</span><br><span> === start test_tbf_egprs_retx_dl ===</span><br><span> Testing retx for MCS 6 - 6</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5206,13 +5209,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing retx for MCS 1 - 9</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5262,13 +5265,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing retx for MCS 2 - 8</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5318,13 +5321,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing retx for MCS 5 - 7</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5390,13 +5393,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing retx for MCS 6 - 9</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5462,13 +5465,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing retx for MCS 7 - 5</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5534,13 +5537,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing retx for MCS 9 - 6</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5608,13 +5611,13 @@</span><br><span> === end test_tbf_egprs_retx_dl ===</span><br><span> === start test_tbf_egprs_spb_dl ===</span><br><span> Testing retx for MCS 6 to reseg_mcs 3</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5671,13 +5674,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing retx for MCS 5 to reseg_mcs 2</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5734,13 +5737,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing retx for MCS 4 to reseg_mcs 1</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5797,13 +5800,13 @@</span><br><span> Destroying MS object, TLLI = 0xffeeddcc</span><br><span> ********** DL-TBF ends here **********</span><br><span> Testing retx for MCS 6 to reseg_mcs 3</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -5979,11 +5982,11 @@</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes</span><br><span> === end test_tbf_puan_urbb_len ===</span><br><span> === start test_tbf_update_ws ===</span><br><span style="color: hsl(0, 100%, 40%);">-********** DL-TBF starts here **********</span><br><span style="color: hsl(0, 100%, 40%);">-Allocating DL TBF: MS_CLASS=11/11</span><br><span> Creating MS object, TLLI = 0x00000000</span><br><span> Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span> Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+********** DL-TBF starts here **********</span><br><span style="color: hsl(120, 100%, 40%);">+Allocating DL TBF: MS_CLASS=11/11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span>@@ -6138,13 +6141,13 @@</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes</span><br><span> === end test_tbf_li_decoding ===</span><br><span> === start test_tbf_epdan_out_of_rx_window ===</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS</span><br><span> [DL] Slot Allocation (Algorithm A) for class 0</span><br><span> - Skipping TS 0, because not enabled</span><br><span>@@ -7781,13 +7784,13 @@</span><br><span> TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes</span><br><span> === end test_tbf_egprs_two_phase_puan ===</span><br><span> === start test_packet_access_rej_epdan ===</span><br><span style="color: hsl(120, 100%, 40%);">+Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(120, 100%, 40%);">+Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> Searching for first unallocated TFI: TRX=0</span><br><span>  Found TFI=0.</span><br><span> ********** DL-TBF starts here **********</span><br><span> Allocating DL TBF: MS_CLASS=11/11</span><br><span style="color: hsl(0, 100%, 40%);">-Creating MS object, TLLI = 0x00000000</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11</span><br><span style="color: hsl(0, 100%, 40%);">-Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11</span><br><span> [DL] Slot Allocation (Algorithm A) for class 11</span><br><span> - Skipping TS 0, because not enabled</span><br><span> - Skipping TS 1, because not enabled</span><br><span>diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp</span><br><span>index 8469d60..e3c0991 100644</span><br><span>--- a/tests/types/TypesTest.cpp</span><br><span>+++ b/tests/types/TypesTest.cpp</span><br><span>@@ -756,8 +756,9 @@</span><br><span>  the_bts.bts_data()->alloc_algorithm = alloc_algorithm_a;</span><br><span>  the_bts.bts_data()->trx[0].pdch[2].enable();</span><br><span>      the_bts.bts_data()->trx[0].pdch[3].enable();</span><br><span style="color: hsl(120, 100%, 40%);">+       GprsMs *ms = the_bts.ms_alloc(1, 1);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        struct gprs_rlcmac_tbf *tbf = tbf_alloc_dl_tbf(the_bts.bts_data(), NULL, 0, 1, 1, false);</span><br><span style="color: hsl(120, 100%, 40%);">+     struct gprs_rlcmac_tbf *tbf = tbf_alloc_dl_tbf(the_bts.bts_data(), ms, 0, false);</span><br><span>    static uint8_t res[] = { 0x06,</span><br><span>                                0x3f, /* Immediate Assignment Message Type */</span><br><span>                                0x30, /* §10.5.2.26 Page Mode and §10.5.2.25b Dedicated mode/TBF */</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/18134">change 18134</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/+/18134"/><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: I87f6cdf8288a688466020bda0874e68b57aa71c4 </div>
<div style="display:none"> Gerrit-Change-Number: 18134 </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-MessageType: newchange </div>