aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gprs_rlcmac_ts_alloc.cpp115
-rw-r--r--tests/alloc/AllocTest.cpp49
-rw-r--r--tests/alloc/AllocTest.err22
-rw-r--r--tests/alloc/AllocTest.ok480
-rw-r--r--tests/tbf/TbfTest.err184
5 files changed, 549 insertions, 301 deletions
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index 3381436..55c3ea6 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -131,6 +131,25 @@ static inline int8_t find_free_usf(struct gprs_rlcmac_pdch *pdch)
return -1;
}
+static inline int8_t find_free_tfi(struct gprs_rlcmac_pdch *pdch,
+ enum gprs_rlcmac_tbf_direction dir)
+{
+ uint32_t tfi_map = 0;
+ int8_t tfi;
+
+ tfi_map = pdch->assigned_tfi(dir);
+ if (tfi_map == 0xffffffffUL)
+ return -1;
+
+ /* look for USF, don't use USF=7 */
+ for (tfi = 0; tfi < 32; tfi++) {
+ if (!(tfi_map & (1 << tfi)))
+ return tfi;
+ }
+
+ return -1;
+}
+
static int find_possible_pdchs(struct gprs_rlcmac_trx *trx,
size_t max_slots,
uint8_t mask, const char *mask_reason = NULL)
@@ -196,17 +215,19 @@ static int find_least_busy_pdch(struct gprs_rlcmac_trx *trx,
enum gprs_rlcmac_tbf_direction dir,
uint8_t mask,
int (*fn)(struct gprs_rlcmac_pdch *, enum gprs_rlcmac_tbf_direction dir),
- int *free_usf = 0)
+ int *free_tfi = 0, int *free_usf = 0)
{
unsigned ts;
int min_used = INT_MAX;
int min_ts = -1;
+ int min_tfi = -1;
int min_usf = -1;
for (ts = 0; ts < ARRAY_SIZE(trx->pdch); ts++) {
struct gprs_rlcmac_pdch *pdch = &trx->pdch[ts];
int num_tbfs;
int usf = -1; /* must be signed */
+ int tfi = -1;
if (((1 << ts) & mask) == 0)
continue;
@@ -215,6 +236,16 @@ static int find_least_busy_pdch(struct gprs_rlcmac_trx *trx,
if (num_tbfs < min_used) {
/* We have found a candidate */
+ /* Make sure that a TFI is available */
+ if (free_tfi) {
+ tfi = find_free_tfi(pdch, dir);
+ if (tfi < 0) {
+ LOGP(DRLCMAC, LOGL_DEBUG,
+ "- Skipping TS %d, because "
+ "no TFI available\n", ts);
+ continue;
+ }
+ }
/* Make sure that an USF is available */
if (dir == GPRS_RLCMAC_UL_TBF) {
usf = find_free_usf(pdch);
@@ -232,6 +263,7 @@ static int find_least_busy_pdch(struct gprs_rlcmac_trx *trx,
min_ts, min_used, num_tbfs);
min_used = num_tbfs;
min_ts = ts;
+ min_tfi = tfi;
min_usf = usf;
} else {
LOGP(DRLCMAC, LOGL_DEBUG,
@@ -244,6 +276,8 @@ static int find_least_busy_pdch(struct gprs_rlcmac_trx *trx,
if (min_ts < 0)
return -1;
+ if (free_tfi)
+ *free_tfi = min_tfi;
if (free_usf)
*free_usf = min_usf;
@@ -262,8 +296,10 @@ static void attach_tbf_to_pdch(struct gprs_rlcmac_pdch *pdch,
static void assign_uplink_tbf_usf(
struct gprs_rlcmac_pdch *pdch,
- struct gprs_rlcmac_ul_tbf *tbf, int8_t usf)
+ struct gprs_rlcmac_ul_tbf *tbf,
+ int tfi, int8_t usf)
{
+ tbf->m_tfi = tfi;
tbf->trx->ul_tbf[tbf->tfi()] = tbf;
tbf->m_usf[pdch->ts_no] = usf;
attach_tbf_to_pdch(pdch, tbf);
@@ -271,12 +307,48 @@ static void assign_uplink_tbf_usf(
static void assign_dlink_tbf(
struct gprs_rlcmac_pdch *pdch,
- struct gprs_rlcmac_dl_tbf *tbf)
+ struct gprs_rlcmac_dl_tbf *tbf,
+ int tfi)
{
+ tbf->m_tfi = tfi;
tbf->trx->dl_tbf[tbf->tfi()] = tbf;
attach_tbf_to_pdch(pdch, tbf);
}
+static int find_trx(BTS *bts, GprsMs *ms, int use_trx)
+{
+ unsigned trx_no;
+ unsigned ts;
+ struct gprs_rlcmac_bts *bts_data = bts->bts_data();
+
+ /* We must use the TRX currently actively used by an MS */
+ if (ms && ms->current_trx())
+ return ms->current_trx()->trx_no;
+
+ if (use_trx >= 0 && use_trx < 8)
+ return use_trx;
+
+ /* Find the first TRX that has a PDCH with a free UL and DL TFI */
+ for (trx_no = 0; trx_no < ARRAY_SIZE(bts_data->trx); trx_no += 1) {
+ struct gprs_rlcmac_trx *trx = &bts_data->trx[trx_no];
+ for (ts = 0; ts < ARRAY_SIZE(trx->pdch); ts++) {
+ struct gprs_rlcmac_pdch *pdch = &trx->pdch[ts];
+ if (!pdch->is_enabled())
+ continue;
+
+ if (pdch->assigned_tfi(GPRS_RLCMAC_UL_TBF) == 0xffffffff)
+ continue;
+
+ if (pdch->assigned_tfi(GPRS_RLCMAC_DL_TBF) == 0xffffffff)
+ continue;
+
+ return trx_no;
+ }
+ }
+
+ return -EBUSY;
+}
+
static int tfi_find_free(BTS *bts, GprsMs *ms, enum gprs_rlcmac_tbf_direction dir,
int use_trx, int *trx_no_)
{
@@ -309,7 +381,7 @@ int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
int ts = -1;
uint8_t ul_slots, dl_slots;
int trx_no;
- int rc;
+ int tfi = -1;
int usf = -1;
int mask = 0xff;
const char *mask_reason = NULL;
@@ -317,12 +389,12 @@ int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
LOGP(DRLCMAC, LOGL_DEBUG, "Slot Allocation (Algorithm A) for class "
"%d\n", tbf->ms_class());
- rc = tfi_find_free(bts->bts, ms, tbf->direction, use_trx, &trx_no);
- if (rc < 0) {
- LOGP(DRLCMAC, LOGL_NOTICE, "- Failed to allocate a TFI\n");
- return rc;
+ trx_no = find_trx(bts->bts, ms, use_trx);
+ if (trx_no < 0) {
+ LOGP(DRLCMAC, LOGL_NOTICE,
+ "- Failed to find a usable TRX (TFI exhausted)\n");
+ return trx_no;
}
- tbf->m_tfi = rc;
tbf->trx = &bts->trx[trx_no];
dl_slots = ms->reserved_dl_slots();
@@ -343,11 +415,12 @@ int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
return -EINVAL;
ts = find_least_busy_pdch(tbf->trx, tbf->direction, mask,
- compute_usage_by_reservation, &usf);
+ compute_usage_by_reservation,
+ &tfi, &usf);
if (ts < 0) {
LOGP(DRLCMAC, LOGL_NOTICE, "- Failed "
- "to allocate a TS, no USF available\n");
+ "to allocate a TS, no TFI or USF available\n");
return -EBUSY;
}
@@ -364,13 +437,14 @@ int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
return -EBUSY;
}
- LOGP(DRLCMAC, LOGL_DEBUG, "- Assign uplink TS=%d USF=%d\n",
- ts, usf);
- assign_uplink_tbf_usf(pdch, ul_tbf, usf);
+ LOGP(DRLCMAC, LOGL_DEBUG, "- Assign uplink TS=%d TFI=%d USF=%d\n",
+ ts, tfi, usf);
+ assign_uplink_tbf_usf(pdch, ul_tbf, tfi, usf);
} else {
struct gprs_rlcmac_dl_tbf *dl_tbf = static_cast<gprs_rlcmac_dl_tbf *>(tbf);
- LOGP(DRLCMAC, LOGL_DEBUG, "- Assign downlink TS=%d\n", ts);
- assign_dlink_tbf(pdch, dl_tbf);
+ LOGP(DRLCMAC, LOGL_DEBUG, "- Assign downlink TS=%d TFI=%d\n",
+ ts, tfi);
+ assign_dlink_tbf(pdch, dl_tbf, tfi);
}
/* the only one TS is the common TS */
tbf->first_ts = tbf->first_common_ts = ts;
@@ -751,7 +825,7 @@ int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
if (ts < 0)
ts = find_least_busy_pdch(tbf->trx, tbf->direction,
dl_slots & ul_slots, compute_usage_by_num_tbfs,
- NULL);
+ NULL, NULL);
if (ts < 0)
ul_slots = dl_slots = lsb(dl_slots & ul_slots);
else
@@ -807,7 +881,7 @@ int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
LOGP(DRLCMAC, LOGL_DEBUG, "- Assigning DL TS "
"%d\n", ts);
- assign_dlink_tbf(&tbf->trx->pdch[ts], dl_tbf);
+ assign_dlink_tbf(&tbf->trx->pdch[ts], dl_tbf, tbf->tfi());
slotcount++;
if (slotcount == 1)
dl_tbf->first_ts = ts;
@@ -825,7 +899,7 @@ int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
ts = find_least_busy_pdch(tbf->trx, GPRS_RLCMAC_UL_TBF,
ul_slots, compute_usage_by_num_tbfs,
- &free_usf);
+ NULL, &free_usf);
if (free_usf < 0) {
LOGP(DRLCMAC, LOGL_NOTICE, "No USF available\n");
@@ -840,7 +914,8 @@ int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
ul_slots, 'U'),
single ? ", single" : "");
- assign_uplink_tbf_usf(&tbf->trx->pdch[ts], ul_tbf, free_usf);
+ assign_uplink_tbf_usf(&tbf->trx->pdch[ts], ul_tbf,
+ tbf->tfi(), free_usf);
slotcount++;
ul_tbf->first_ts = ts;
diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp
index b6f263f..e419cd2 100644
--- a/tests/alloc/AllocTest.cpp
+++ b/tests/alloc/AllocTest.cpp
@@ -84,17 +84,21 @@ static void check_tfi_usage(BTS *the_bts)
tbf->tfi()) == tbf);
/* This assertion cannot hold with the
* current API and shared TFI */
+#if 0
OSMO_ASSERT(the_bts->dl_tbf_by_tfi(
tbf->tfi(),
tbf->trx->trx_no) == tbf);
+#endif
} else {
OSMO_ASSERT(pdch->ul_tbf_by_tfi(
tbf->tfi()) == tbf);
/* This assertion cannot hold with the
* current API and shared TFI */
+#if 0
OSMO_ASSERT(the_bts->ul_tbf_by_tfi(
tbf->tfi(),
tbf->trx->trx_no) == tbf);
+#endif
}
*tbf_var = tbf;
OSMO_ASSERT(pdch->assigned_tfi(tbf->direction) &
@@ -112,7 +116,7 @@ static void test_alloc_a(gprs_rlcmac_tbf_direction dir,
uint8_t used_trx, tmp_trx;
BTS the_bts;
struct gprs_rlcmac_bts *bts;
- struct gprs_rlcmac_tbf *tbfs[33] = { 0, };
+ struct gprs_rlcmac_tbf *tbfs[32*8+1] = { 0, };
printf("Testing alloc_a direction(%d)\n", dir);
@@ -132,26 +136,21 @@ static void test_alloc_a(gprs_rlcmac_tbf_direction dir,
* we are out of tfi's. Observe this and make sure that at
* least this part is working okay.
*/
- for (int i = 0; i < count; ++i) {
+ for (i = 0; i < (int)ARRAY_SIZE(tbfs); ++i) {
tbfs[i] = tbf_alloc(bts, NULL, dir, -1, 0, 0);
- OSMO_ASSERT(tbfs[i] != NULL);
+ if (tbfs[i] == NULL)
+ break;
+
+ used_trx = tbfs[i]->trx->trx_no;
tfi = the_bts.tfi_find_free(dir, &tmp_trx, used_trx);
OSMO_ASSERT(tbfs[i]->tfi() != tfi);
}
- /* Now check that there are still some TFIs */
- tfi = the_bts.tfi_find_free(dir, &used_trx, 0);
- switch (dir) {
- case GPRS_RLCMAC_UL_TBF:
- OSMO_ASSERT(tfi >= 0);
- break;
- case GPRS_RLCMAC_DL_TBF:
- OSMO_ASSERT(tfi < 0);
- break;
- }
- OSMO_ASSERT(!tbf_alloc(bts, NULL, dir, -1, 0, 0));
+ check_tfi_usage(&the_bts);
+
+ OSMO_ASSERT(i == count);
- for (size_t i = 0; i < ARRAY_SIZE(tbfs); ++i)
+ for (i = 0; i < count; ++i)
if (tbfs[i])
tbf_free(tbfs[i]);
@@ -163,11 +162,11 @@ static void test_alloc_a(gprs_rlcmac_tbf_direction dir,
static void test_alloc_a()
{
/* slots 2 - 3 */
- test_alloc_a(GPRS_RLCMAC_DL_TBF, 0x0c, 32);
+ test_alloc_a(GPRS_RLCMAC_DL_TBF, 0x0c, 32*2);
test_alloc_a(GPRS_RLCMAC_UL_TBF, 0x0c, 14);
/* slots 1 - 5 */
- test_alloc_a(GPRS_RLCMAC_DL_TBF, 0x1e, 32);
+ test_alloc_a(GPRS_RLCMAC_DL_TBF, 0x1e, 32*4);
test_alloc_a(GPRS_RLCMAC_UL_TBF, 0x1e, 28);
}
@@ -626,16 +625,16 @@ static void test_successive_allocation(algo_t algo, unsigned min_class,
ms_class = min_class;
}
- check_tfi_usage(&the_bts);
-
printf(" Successfully allocated %d UL TBFs\n", counter);
OSMO_ASSERT(counter == expect_num);
+
+ check_tfi_usage(&the_bts);
}
static void test_successive_allocation()
{
test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_UL_AND_DL,
- 32, "algorithm A (UL and DL)");
+ 35, "algorithm A (UL and DL)");
test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_UL_AND_DL,
32, "algorithm B class 10 (UL and DL)");
test_successive_allocation(alloc_algorithm_b, 12, 12, TEST_MODE_UL_AND_DL,
@@ -646,27 +645,27 @@ static void test_successive_allocation()
32, "algorithm B class 1-29 (UL and DL)");
test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_DL_AND_UL,
- 32, "algorithm A (DL and UL)");
+ 35, "algorithm A (DL and UL)");
test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_DL_AND_UL,
32, "algorithm B class 10 (DL and UL)");
test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_DL_AFTER_UL,
- 32, "algorithm A (DL after UL)");
+ 160, "algorithm A (DL after UL)");
test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_DL_AFTER_UL,
32, "algorithm B class 10 (DL after UL)");
test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_UL_AFTER_DL,
- 32, "algorithm A (UL after DL)");
+ 35, "algorithm A (UL after DL)");
test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_UL_AFTER_DL,
32, "algorithm B class 10 (UL after DL)");
test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_UL_ONLY,
- 32, "algorithm A (UL only)");
+ 35, "algorithm A (UL only)");
test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_UL_ONLY,
32, "algorithm B class 10 (UL only)");
test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_DL_ONLY,
- 32, "algorithm A (DL ONLY)");
+ 160, "algorithm A (DL ONLY)");
test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_DL_ONLY,
32, "algorithm B class 10 (DL ONLY)");
}
diff --git a/tests/alloc/AllocTest.err b/tests/alloc/AllocTest.err
index d848aff..33925dc 100644
--- a/tests/alloc/AllocTest.err
+++ b/tests/alloc/AllocTest.err
@@ -1,13 +1,14 @@
No TFI available.
No TFI available.
+- Failed to find a usable TRX (TFI exhausted)
+- Failed to allocate a TS, no TFI or USF available
No TFI available.
-- Failed to allocate a TFI
-- Failed to allocate a TS, no USF available
No TFI available.
No TFI available.
No TFI available.
-- Failed to allocate a TFI
-- Failed to allocate a TS, no USF available
+- Failed to find a usable TRX (TFI exhausted)
+- Failed to allocate a TS, no TFI or USF available
+- Failed to allocate a TS, no TFI or USF available
No TFI available.
No TFI available.
- Failed to allocate a TFI
@@ -20,36 +21,33 @@ No TFI available.
No TFI available.
No TFI available.
- Failed to allocate a TFI
+- Failed to allocate a TS, no TFI or USF available
No TFI available.
No TFI available.
- Failed to allocate a TFI
No TFI available.
No TFI available.
-- Failed to allocate a TFI
No TFI available.
No TFI available.
-- Failed to allocate a TFI
-No TFI available.
No TFI available.
-- Failed to allocate a TFI
+- Failed to find a usable TRX (TFI exhausted)
No TFI available.
No TFI available.
- Failed to allocate a TFI
+- Failed to allocate a TS, no TFI or USF available
No TFI available.
No TFI available.
- Failed to allocate a TFI
+- Failed to allocate a TS, no TFI or USF available
No TFI available.
No TFI available.
- Failed to allocate a TFI
No TFI available.
No TFI available.
-- Failed to allocate a TFI
No TFI available.
No TFI available.
-- Failed to allocate a TFI
No TFI available.
-No TFI available.
-- Failed to allocate a TFI
+- Failed to find a usable TRX (TFI exhausted)
No TFI available.
No TFI available.
- Failed to allocate a TFI
diff --git a/tests/alloc/AllocTest.ok b/tests/alloc/AllocTest.ok
index 823595a..fc96cb9 100644
--- a/tests/alloc/AllocTest.ok
+++ b/tests/alloc/AllocTest.ok
@@ -8590,38 +8590,41 @@ Mass test: TS0(OOOOOOOO)TS7 MS_Class=28
Mass test: TS0(OOOOOOOO)TS7 MS_Class=29
Going to test assignment with many TBF, algorithm A (UL and DL)
TBF[0] class 1 reserves ...C....
+ TBF[0] class 1 reserves ....C...
+ TBF[0] class 1 reserves .....C..
+ TBF[0] class 1 reserves ......C.
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 1 reserves ...C....
TBF[1] class 1 reserves ....C...
+ TBF[1] class 1 reserves .....C..
+ TBF[1] class 1 reserves ......C.
+ TBF[1] class 1 reserves .......C
+ TBF[2] class 1 reserves ...C....
+ TBF[2] class 1 reserves ....C...
TBF[2] class 1 reserves .....C..
+ TBF[2] class 1 reserves ......C.
+ TBF[2] class 1 reserves .......C
+ TBF[3] class 1 reserves ...C....
+ TBF[3] class 1 reserves ....C...
+ TBF[3] class 1 reserves .....C..
TBF[3] class 1 reserves ......C.
+ TBF[3] class 1 reserves .......C
+ TBF[4] class 1 reserves ...C....
+ TBF[4] class 1 reserves ....C...
+ TBF[4] class 1 reserves .....C..
+ TBF[4] class 1 reserves ......C.
TBF[4] class 1 reserves .......C
TBF[5] class 1 reserves ...C....
+ TBF[5] class 1 reserves ....C...
+ TBF[5] class 1 reserves .....C..
+ TBF[5] class 1 reserves ......C.
+ TBF[5] class 1 reserves .......C
+ TBF[6] class 1 reserves ...C....
TBF[6] class 1 reserves ....C...
- TBF[7] class 1 reserves .....C..
- TBF[8] class 1 reserves ......C.
- TBF[9] class 1 reserves .......C
- TBF[10] class 1 reserves ...C....
- TBF[11] class 1 reserves ....C...
- TBF[12] class 1 reserves .....C..
- TBF[13] class 1 reserves ......C.
- TBF[14] class 1 reserves .......C
- TBF[15] class 1 reserves ...C....
- TBF[16] class 1 reserves ....C...
- TBF[17] class 1 reserves .....C..
- TBF[18] class 1 reserves ......C.
- TBF[19] class 1 reserves .......C
- TBF[20] class 1 reserves ...C....
- TBF[21] class 1 reserves ....C...
- TBF[22] class 1 reserves .....C..
- TBF[23] class 1 reserves ......C.
- TBF[24] class 1 reserves .......C
- TBF[25] class 1 reserves ...C....
- TBF[26] class 1 reserves ....C...
- TBF[27] class 1 reserves .....C..
- TBF[28] class 1 reserves ......C.
- TBF[29] class 1 reserves .......C
- TBF[30] class 1 reserves ...C....
- TBF[31] class 1 reserves ....C...
- Successfully allocated 32 UL TBFs
+ TBF[6] class 1 reserves .....C..
+ TBF[6] class 1 reserves ......C.
+ TBF[6] class 1 reserves .......C
+ Successfully allocated 35 UL TBFs
Going to test assignment with many TBF, algorithm B class 10 (UL and DL)
TBF[0] class 10 reserves ...DDCD.
TBF[1] class 10 reserves .....DCD
@@ -8760,38 +8763,41 @@ Going to test assignment with many TBF, algorithm B class 1-29 (UL and DL)
Successfully allocated 32 UL TBFs
Going to test assignment with many TBF, algorithm A (DL and UL)
TBF[0] class 1 reserves ...C....
+ TBF[0] class 1 reserves ....C...
+ TBF[0] class 1 reserves .....C..
+ TBF[0] class 1 reserves ......C.
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 1 reserves ...C....
TBF[1] class 1 reserves ....C...
+ TBF[1] class 1 reserves .....C..
+ TBF[1] class 1 reserves ......C.
+ TBF[1] class 1 reserves .......C
+ TBF[2] class 1 reserves ...C....
+ TBF[2] class 1 reserves ....C...
TBF[2] class 1 reserves .....C..
+ TBF[2] class 1 reserves ......C.
+ TBF[2] class 1 reserves .......C
+ TBF[3] class 1 reserves ...C....
+ TBF[3] class 1 reserves ....C...
+ TBF[3] class 1 reserves .....C..
TBF[3] class 1 reserves ......C.
+ TBF[3] class 1 reserves .......C
+ TBF[4] class 1 reserves ...C....
+ TBF[4] class 1 reserves ....C...
+ TBF[4] class 1 reserves .....C..
+ TBF[4] class 1 reserves ......C.
TBF[4] class 1 reserves .......C
TBF[5] class 1 reserves ...C....
+ TBF[5] class 1 reserves ....C...
+ TBF[5] class 1 reserves .....C..
+ TBF[5] class 1 reserves ......C.
+ TBF[5] class 1 reserves .......C
+ TBF[6] class 1 reserves ...C....
TBF[6] class 1 reserves ....C...
- TBF[7] class 1 reserves .....C..
- TBF[8] class 1 reserves ......C.
- TBF[9] class 1 reserves .......C
- TBF[10] class 1 reserves ...C....
- TBF[11] class 1 reserves ....C...
- TBF[12] class 1 reserves .....C..
- TBF[13] class 1 reserves ......C.
- TBF[14] class 1 reserves .......C
- TBF[15] class 1 reserves ...C....
- TBF[16] class 1 reserves ....C...
- TBF[17] class 1 reserves .....C..
- TBF[18] class 1 reserves ......C.
- TBF[19] class 1 reserves .......C
- TBF[20] class 1 reserves ...C....
- TBF[21] class 1 reserves ....C...
- TBF[22] class 1 reserves .....C..
- TBF[23] class 1 reserves ......C.
- TBF[24] class 1 reserves .......C
- TBF[25] class 1 reserves ...C....
- TBF[26] class 1 reserves ....C...
- TBF[27] class 1 reserves .....C..
- TBF[28] class 1 reserves ......C.
- TBF[29] class 1 reserves .......C
- TBF[30] class 1 reserves ...C....
- TBF[31] class 1 reserves ....C...
- Successfully allocated 32 UL TBFs
+ TBF[6] class 1 reserves .....C..
+ TBF[6] class 1 reserves ......C.
+ TBF[6] class 1 reserves .......C
+ Successfully allocated 35 UL TBFs
Going to test assignment with many TBF, algorithm B class 10 (DL and UL)
TBF[0] class 10 reserves ...DDCD.
TBF[1] class 10 reserves .....DCD
@@ -8828,38 +8834,166 @@ Going to test assignment with many TBF, algorithm B class 10 (DL and UL)
Successfully allocated 32 UL TBFs
Going to test assignment with many TBF, algorithm A (DL after UL)
TBF[0] class 1 reserves ...C....
+ TBF[0] class 1 reserves ....C...
+ TBF[0] class 1 reserves .....C..
+ TBF[0] class 1 reserves ......C.
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 1 reserves ...C....
TBF[1] class 1 reserves ....C...
+ TBF[1] class 1 reserves .....C..
+ TBF[1] class 1 reserves ......C.
+ TBF[1] class 1 reserves .......C
+ TBF[2] class 1 reserves ...C....
+ TBF[2] class 1 reserves ....C...
TBF[2] class 1 reserves .....C..
+ TBF[2] class 1 reserves ......C.
+ TBF[2] class 1 reserves .......C
+ TBF[3] class 1 reserves ...C....
+ TBF[3] class 1 reserves ....C...
+ TBF[3] class 1 reserves .....C..
TBF[3] class 1 reserves ......C.
+ TBF[3] class 1 reserves .......C
+ TBF[4] class 1 reserves ...C....
+ TBF[4] class 1 reserves ....C...
+ TBF[4] class 1 reserves .....C..
+ TBF[4] class 1 reserves ......C.
TBF[4] class 1 reserves .......C
TBF[5] class 1 reserves ...C....
+ TBF[5] class 1 reserves ....C...
+ TBF[5] class 1 reserves .....C..
+ TBF[5] class 1 reserves ......C.
+ TBF[5] class 1 reserves .......C
+ TBF[6] class 1 reserves ...C....
TBF[6] class 1 reserves ....C...
+ TBF[6] class 1 reserves .....C..
+ TBF[6] class 1 reserves ......C.
+ TBF[6] class 1 reserves .......C
+ TBF[7] class 1 reserves ...C....
+ TBF[7] class 1 reserves ....C...
TBF[7] class 1 reserves .....C..
+ TBF[7] class 1 reserves ......C.
+ TBF[7] class 1 reserves .......C
+ TBF[8] class 1 reserves ...C....
+ TBF[8] class 1 reserves ....C...
+ TBF[8] class 1 reserves .....C..
TBF[8] class 1 reserves ......C.
+ TBF[8] class 1 reserves .......C
+ TBF[9] class 1 reserves ...C....
+ TBF[9] class 1 reserves ....C...
+ TBF[9] class 1 reserves .....C..
+ TBF[9] class 1 reserves ......C.
TBF[9] class 1 reserves .......C
TBF[10] class 1 reserves ...C....
+ TBF[10] class 1 reserves ....C...
+ TBF[10] class 1 reserves .....C..
+ TBF[10] class 1 reserves ......C.
+ TBF[10] class 1 reserves .......C
+ TBF[11] class 1 reserves ...C....
TBF[11] class 1 reserves ....C...
+ TBF[11] class 1 reserves .....C..
+ TBF[11] class 1 reserves ......C.
+ TBF[11] class 1 reserves .......C
+ TBF[12] class 1 reserves ...C....
+ TBF[12] class 1 reserves ....C...
TBF[12] class 1 reserves .....C..
+ TBF[12] class 1 reserves ......C.
+ TBF[12] class 1 reserves .......C
+ TBF[13] class 1 reserves ...C....
+ TBF[13] class 1 reserves ....C...
+ TBF[13] class 1 reserves .....C..
TBF[13] class 1 reserves ......C.
+ TBF[13] class 1 reserves .......C
+ TBF[14] class 1 reserves ...C....
+ TBF[14] class 1 reserves ....C...
+ TBF[14] class 1 reserves .....C..
+ TBF[14] class 1 reserves ......C.
TBF[14] class 1 reserves .......C
TBF[15] class 1 reserves ...C....
+ TBF[15] class 1 reserves ....C...
+ TBF[15] class 1 reserves .....C..
+ TBF[15] class 1 reserves ......C.
+ TBF[15] class 1 reserves .......C
+ TBF[16] class 1 reserves ...C....
TBF[16] class 1 reserves ....C...
+ TBF[16] class 1 reserves .....C..
+ TBF[16] class 1 reserves ......C.
+ TBF[16] class 1 reserves .......C
+ TBF[17] class 1 reserves ...C....
+ TBF[17] class 1 reserves ....C...
TBF[17] class 1 reserves .....C..
+ TBF[17] class 1 reserves ......C.
+ TBF[17] class 1 reserves .......C
+ TBF[18] class 1 reserves ...C....
+ TBF[18] class 1 reserves ....C...
+ TBF[18] class 1 reserves .....C..
TBF[18] class 1 reserves ......C.
+ TBF[18] class 1 reserves .......C
+ TBF[19] class 1 reserves ...C....
+ TBF[19] class 1 reserves ....C...
+ TBF[19] class 1 reserves .....C..
+ TBF[19] class 1 reserves ......C.
TBF[19] class 1 reserves .......C
TBF[20] class 1 reserves ...C....
+ TBF[20] class 1 reserves ....C...
+ TBF[20] class 1 reserves .....C..
+ TBF[20] class 1 reserves ......C.
+ TBF[20] class 1 reserves .......C
+ TBF[21] class 1 reserves ...C....
TBF[21] class 1 reserves ....C...
+ TBF[21] class 1 reserves .....C..
+ TBF[21] class 1 reserves ......C.
+ TBF[21] class 1 reserves .......C
+ TBF[22] class 1 reserves ...C....
+ TBF[22] class 1 reserves ....C...
TBF[22] class 1 reserves .....C..
+ TBF[22] class 1 reserves ......C.
+ TBF[22] class 1 reserves .......C
+ TBF[23] class 1 reserves ...C....
+ TBF[23] class 1 reserves ....C...
+ TBF[23] class 1 reserves .....C..
TBF[23] class 1 reserves ......C.
+ TBF[23] class 1 reserves .......C
+ TBF[24] class 1 reserves ...C....
+ TBF[24] class 1 reserves ....C...
+ TBF[24] class 1 reserves .....C..
+ TBF[24] class 1 reserves ......C.
TBF[24] class 1 reserves .......C
TBF[25] class 1 reserves ...C....
+ TBF[25] class 1 reserves ....C...
+ TBF[25] class 1 reserves .....C..
+ TBF[25] class 1 reserves ......C.
+ TBF[25] class 1 reserves .......C
+ TBF[26] class 1 reserves ...C....
TBF[26] class 1 reserves ....C...
+ TBF[26] class 1 reserves .....C..
+ TBF[26] class 1 reserves ......C.
+ TBF[26] class 1 reserves .......C
+ TBF[27] class 1 reserves ...C....
+ TBF[27] class 1 reserves ....C...
TBF[27] class 1 reserves .....C..
+ TBF[27] class 1 reserves ......C.
+ TBF[27] class 1 reserves .......C
+ TBF[28] class 1 reserves ...C....
+ TBF[28] class 1 reserves ....C...
+ TBF[28] class 1 reserves .....C..
TBF[28] class 1 reserves ......C.
+ TBF[28] class 1 reserves .......C
+ TBF[29] class 1 reserves ...C....
+ TBF[29] class 1 reserves ....C...
+ TBF[29] class 1 reserves .....C..
+ TBF[29] class 1 reserves ......C.
TBF[29] class 1 reserves .......C
TBF[30] class 1 reserves ...C....
+ TBF[30] class 1 reserves ....C...
+ TBF[30] class 1 reserves .....C..
+ TBF[30] class 1 reserves ......C.
+ TBF[30] class 1 reserves .......C
+ TBF[31] class 1 reserves ...C....
TBF[31] class 1 reserves ....C...
- Successfully allocated 32 UL TBFs
+ TBF[31] class 1 reserves .....C..
+ TBF[31] class 1 reserves ......C.
+ TBF[31] class 1 reserves .......C
+ Successfully allocated 160 UL TBFs
Going to test assignment with many TBF, algorithm B class 10 (DL after UL)
TBF[0] class 10 reserves ...DDCD.
TBF[1] class 10 reserves .....DCD
@@ -8896,38 +9030,41 @@ Going to test assignment with many TBF, algorithm B class 10 (DL after UL)
Successfully allocated 32 UL TBFs
Going to test assignment with many TBF, algorithm A (UL after DL)
TBF[0] class 1 reserves ...U....
+ TBF[0] class 1 reserves ....U...
+ TBF[0] class 1 reserves .....U..
+ TBF[0] class 1 reserves ......U.
+ TBF[0] class 1 reserves .......U
+ TBF[1] class 1 reserves ...U....
TBF[1] class 1 reserves ....U...
+ TBF[1] class 1 reserves .....U..
+ TBF[1] class 1 reserves ......U.
+ TBF[1] class 1 reserves .......U
+ TBF[2] class 1 reserves ...U....
+ TBF[2] class 1 reserves ....U...
TBF[2] class 1 reserves .....U..
+ TBF[2] class 1 reserves ......U.
+ TBF[2] class 1 reserves .......U
+ TBF[3] class 1 reserves ...U....
+ TBF[3] class 1 reserves ....U...
+ TBF[3] class 1 reserves .....U..
TBF[3] class 1 reserves ......U.
+ TBF[3] class 1 reserves .......U
+ TBF[4] class 1 reserves ...U....
+ TBF[4] class 1 reserves ....U...
+ TBF[4] class 1 reserves .....U..
+ TBF[4] class 1 reserves ......U.
TBF[4] class 1 reserves .......U
TBF[5] class 1 reserves ...U....
+ TBF[5] class 1 reserves ....U...
+ TBF[5] class 1 reserves .....U..
+ TBF[5] class 1 reserves ......U.
+ TBF[5] class 1 reserves .......U
+ TBF[6] class 1 reserves ...U....
TBF[6] class 1 reserves ....U...
- TBF[7] class 1 reserves .....U..
- TBF[8] class 1 reserves ......U.
- TBF[9] class 1 reserves .......U
- TBF[10] class 1 reserves ...U....
- TBF[11] class 1 reserves ....U...
- TBF[12] class 1 reserves .....U..
- TBF[13] class 1 reserves ......U.
- TBF[14] class 1 reserves .......U
- TBF[15] class 1 reserves ...U....
- TBF[16] class 1 reserves ....U...
- TBF[17] class 1 reserves .....U..
- TBF[18] class 1 reserves ......U.
- TBF[19] class 1 reserves .......U
- TBF[20] class 1 reserves ...U....
- TBF[21] class 1 reserves ....U...
- TBF[22] class 1 reserves .....U..
- TBF[23] class 1 reserves ......U.
- TBF[24] class 1 reserves .......U
- TBF[25] class 1 reserves ...U....
- TBF[26] class 1 reserves ....U...
- TBF[27] class 1 reserves .....U..
- TBF[28] class 1 reserves ......U.
- TBF[29] class 1 reserves .......U
- TBF[30] class 1 reserves ...U....
- TBF[31] class 1 reserves ....U...
- Successfully allocated 32 UL TBFs
+ TBF[6] class 1 reserves .....U..
+ TBF[6] class 1 reserves ......U.
+ TBF[6] class 1 reserves .......U
+ Successfully allocated 35 UL TBFs
Going to test assignment with many TBF, algorithm B class 10 (UL after DL)
TBF[0] class 10 reserves .....U..
TBF[1] class 10 reserves ......U.
@@ -8964,38 +9101,41 @@ Going to test assignment with many TBF, algorithm B class 10 (UL after DL)
Successfully allocated 32 UL TBFs
Going to test assignment with many TBF, algorithm A (UL only)
TBF[0] class 1 reserves ...U....
+ TBF[0] class 1 reserves ....U...
+ TBF[0] class 1 reserves .....U..
+ TBF[0] class 1 reserves ......U.
+ TBF[0] class 1 reserves .......U
+ TBF[1] class 1 reserves ...U....
TBF[1] class 1 reserves ....U...
+ TBF[1] class 1 reserves .....U..
+ TBF[1] class 1 reserves ......U.
+ TBF[1] class 1 reserves .......U
+ TBF[2] class 1 reserves ...U....
+ TBF[2] class 1 reserves ....U...
TBF[2] class 1 reserves .....U..
+ TBF[2] class 1 reserves ......U.
+ TBF[2] class 1 reserves .......U
+ TBF[3] class 1 reserves ...U....
+ TBF[3] class 1 reserves ....U...
+ TBF[3] class 1 reserves .....U..
TBF[3] class 1 reserves ......U.
+ TBF[3] class 1 reserves .......U
+ TBF[4] class 1 reserves ...U....
+ TBF[4] class 1 reserves ....U...
+ TBF[4] class 1 reserves .....U..
+ TBF[4] class 1 reserves ......U.
TBF[4] class 1 reserves .......U
TBF[5] class 1 reserves ...U....
+ TBF[5] class 1 reserves ....U...
+ TBF[5] class 1 reserves .....U..
+ TBF[5] class 1 reserves ......U.
+ TBF[5] class 1 reserves .......U
+ TBF[6] class 1 reserves ...U....
TBF[6] class 1 reserves ....U...
- TBF[7] class 1 reserves .....U..
- TBF[8] class 1 reserves ......U.
- TBF[9] class 1 reserves .......U
- TBF[10] class 1 reserves ...U....
- TBF[11] class 1 reserves ....U...
- TBF[12] class 1 reserves .....U..
- TBF[13] class 1 reserves ......U.
- TBF[14] class 1 reserves .......U
- TBF[15] class 1 reserves ...U....
- TBF[16] class 1 reserves ....U...
- TBF[17] class 1 reserves .....U..
- TBF[18] class 1 reserves ......U.
- TBF[19] class 1 reserves .......U
- TBF[20] class 1 reserves ...U....
- TBF[21] class 1 reserves ....U...
- TBF[22] class 1 reserves .....U..
- TBF[23] class 1 reserves ......U.
- TBF[24] class 1 reserves .......U
- TBF[25] class 1 reserves ...U....
- TBF[26] class 1 reserves ....U...
- TBF[27] class 1 reserves .....U..
- TBF[28] class 1 reserves ......U.
- TBF[29] class 1 reserves .......U
- TBF[30] class 1 reserves ...U....
- TBF[31] class 1 reserves ....U...
- Successfully allocated 32 UL TBFs
+ TBF[6] class 1 reserves .....U..
+ TBF[6] class 1 reserves ......U.
+ TBF[6] class 1 reserves .......U
+ Successfully allocated 35 UL TBFs
Going to test assignment with many TBF, algorithm B class 10 (UL only)
TBF[0] class 10 reserves .....U..
TBF[1] class 10 reserves ......U.
@@ -9032,38 +9172,166 @@ Going to test assignment with many TBF, algorithm B class 10 (UL only)
Successfully allocated 32 UL TBFs
Going to test assignment with many TBF, algorithm A (DL ONLY)
TBF[0] class 1 reserves ...C....
+ TBF[0] class 1 reserves ....C...
+ TBF[0] class 1 reserves .....C..
+ TBF[0] class 1 reserves ......C.
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 1 reserves ...C....
TBF[1] class 1 reserves ....C...
+ TBF[1] class 1 reserves .....C..
+ TBF[1] class 1 reserves ......C.
+ TBF[1] class 1 reserves .......C
+ TBF[2] class 1 reserves ...C....
+ TBF[2] class 1 reserves ....C...
TBF[2] class 1 reserves .....C..
+ TBF[2] class 1 reserves ......C.
+ TBF[2] class 1 reserves .......C
+ TBF[3] class 1 reserves ...C....
+ TBF[3] class 1 reserves ....C...
+ TBF[3] class 1 reserves .....C..
TBF[3] class 1 reserves ......C.
+ TBF[3] class 1 reserves .......C
+ TBF[4] class 1 reserves ...C....
+ TBF[4] class 1 reserves ....C...
+ TBF[4] class 1 reserves .....C..
+ TBF[4] class 1 reserves ......C.
TBF[4] class 1 reserves .......C
TBF[5] class 1 reserves ...C....
+ TBF[5] class 1 reserves ....C...
+ TBF[5] class 1 reserves .....C..
+ TBF[5] class 1 reserves ......C.
+ TBF[5] class 1 reserves .......C
+ TBF[6] class 1 reserves ...C....
TBF[6] class 1 reserves ....C...
+ TBF[6] class 1 reserves .....C..
+ TBF[6] class 1 reserves ......C.
+ TBF[6] class 1 reserves .......C
+ TBF[7] class 1 reserves ...C....
+ TBF[7] class 1 reserves ....C...
TBF[7] class 1 reserves .....C..
+ TBF[7] class 1 reserves ......C.
+ TBF[7] class 1 reserves .......C
+ TBF[8] class 1 reserves ...C....
+ TBF[8] class 1 reserves ....C...
+ TBF[8] class 1 reserves .....C..
TBF[8] class 1 reserves ......C.
+ TBF[8] class 1 reserves .......C
+ TBF[9] class 1 reserves ...C....
+ TBF[9] class 1 reserves ....C...
+ TBF[9] class 1 reserves .....C..
+ TBF[9] class 1 reserves ......C.
TBF[9] class 1 reserves .......C
TBF[10] class 1 reserves ...C....
+ TBF[10] class 1 reserves ....C...
+ TBF[10] class 1 reserves .....C..
+ TBF[10] class 1 reserves ......C.
+ TBF[10] class 1 reserves .......C
+ TBF[11] class 1 reserves ...C....
TBF[11] class 1 reserves ....C...
+ TBF[11] class 1 reserves .....C..
+ TBF[11] class 1 reserves ......C.
+ TBF[11] class 1 reserves .......C
+ TBF[12] class 1 reserves ...C....
+ TBF[12] class 1 reserves ....C...
TBF[12] class 1 reserves .....C..
+ TBF[12] class 1 reserves ......C.
+ TBF[12] class 1 reserves .......C
+ TBF[13] class 1 reserves ...C....
+ TBF[13] class 1 reserves ....C...
+ TBF[13] class 1 reserves .....C..
TBF[13] class 1 reserves ......C.
+ TBF[13] class 1 reserves .......C
+ TBF[14] class 1 reserves ...C....
+ TBF[14] class 1 reserves ....C...
+ TBF[14] class 1 reserves .....C..
+ TBF[14] class 1 reserves ......C.
TBF[14] class 1 reserves .......C
TBF[15] class 1 reserves ...C....
+ TBF[15] class 1 reserves ....C...
+ TBF[15] class 1 reserves .....C..
+ TBF[15] class 1 reserves ......C.
+ TBF[15] class 1 reserves .......C
+ TBF[16] class 1 reserves ...C....
TBF[16] class 1 reserves ....C...
+ TBF[16] class 1 reserves .....C..
+ TBF[16] class 1 reserves ......C.
+ TBF[16] class 1 reserves .......C
+ TBF[17] class 1 reserves ...C....
+ TBF[17] class 1 reserves ....C...
TBF[17] class 1 reserves .....C..
+ TBF[17] class 1 reserves ......C.
+ TBF[17] class 1 reserves .......C
+ TBF[18] class 1 reserves ...C....
+ TBF[18] class 1 reserves ....C...
+ TBF[18] class 1 reserves .....C..
TBF[18] class 1 reserves ......C.
+ TBF[18] class 1 reserves .......C
+ TBF[19] class 1 reserves ...C....
+ TBF[19] class 1 reserves ....C...
+ TBF[19] class 1 reserves .....C..
+ TBF[19] class 1 reserves ......C.
TBF[19] class 1 reserves .......C
TBF[20] class 1 reserves ...C....
+ TBF[20] class 1 reserves ....C...
+ TBF[20] class 1 reserves .....C..
+ TBF[20] class 1 reserves ......C.
+ TBF[20] class 1 reserves .......C
+ TBF[21] class 1 reserves ...C....
TBF[21] class 1 reserves ....C...
+ TBF[21] class 1 reserves .....C..
+ TBF[21] class 1 reserves ......C.
+ TBF[21] class 1 reserves .......C
+ TBF[22] class 1 reserves ...C....
+ TBF[22] class 1 reserves ....C...
TBF[22] class 1 reserves .....C..
+ TBF[22] class 1 reserves ......C.
+ TBF[22] class 1 reserves .......C
+ TBF[23] class 1 reserves ...C....
+ TBF[23] class 1 reserves ....C...
+ TBF[23] class 1 reserves .....C..
TBF[23] class 1 reserves ......C.
+ TBF[23] class 1 reserves .......C
+ TBF[24] class 1 reserves ...C....
+ TBF[24] class 1 reserves ....C...
+ TBF[24] class 1 reserves .....C..
+ TBF[24] class 1 reserves ......C.
TBF[24] class 1 reserves .......C
TBF[25] class 1 reserves ...C....
+ TBF[25] class 1 reserves ....C...
+ TBF[25] class 1 reserves .....C..
+ TBF[25] class 1 reserves ......C.
+ TBF[25] class 1 reserves .......C
+ TBF[26] class 1 reserves ...C....
TBF[26] class 1 reserves ....C...
+ TBF[26] class 1 reserves .....C..
+ TBF[26] class 1 reserves ......C.
+ TBF[26] class 1 reserves .......C
+ TBF[27] class 1 reserves ...C....
+ TBF[27] class 1 reserves ....C...
TBF[27] class 1 reserves .....C..
+ TBF[27] class 1 reserves ......C.
+ TBF[27] class 1 reserves .......C
+ TBF[28] class 1 reserves ...C....
+ TBF[28] class 1 reserves ....C...
+ TBF[28] class 1 reserves .....C..
TBF[28] class 1 reserves ......C.
+ TBF[28] class 1 reserves .......C
+ TBF[29] class 1 reserves ...C....
+ TBF[29] class 1 reserves ....C...
+ TBF[29] class 1 reserves .....C..
+ TBF[29] class 1 reserves ......C.
TBF[29] class 1 reserves .......C
TBF[30] class 1 reserves ...C....
+ TBF[30] class 1 reserves ....C...
+ TBF[30] class 1 reserves .....C..
+ TBF[30] class 1 reserves ......C.
+ TBF[30] class 1 reserves .......C
+ TBF[31] class 1 reserves ...C....
TBF[31] class 1 reserves ....C...
- Successfully allocated 32 UL TBFs
+ TBF[31] class 1 reserves .....C..
+ TBF[31] class 1 reserves ......C.
+ TBF[31] class 1 reserves .......C
+ Successfully allocated 160 UL TBFs
Going to test assignment with many TBF, algorithm B class 10 (DL ONLY)
TBF[0] class 10 reserves ...DDCD.
TBF[1] class 10 reserves .....DCD
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index c64d4f1..72c3851 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -2,8 +2,6 @@
Allocating DL TBF: MS_CLASS=0
Creating MS object, TLLI = 0x00000000
Slot Allocation (Algorithm A) for class 0
-Searching for first unallocated TFI: TRX=0 first TS=2
- Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 4, because not enabled
@@ -11,7 +9,7 @@ Searching for first unallocated TFI: TRX=0 first TS=2
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
- Skipping TS 3, because num TBFs 0 >= 0
-- Assign downlink TS=2
+- Assign downlink TS=2 TFI=0
PDCH(TS 2, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 2
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -21,8 +19,6 @@ Modifying MS object, TLLI = 0x00002342, TA 0 -> 4
********** TBF starts here **********
Allocating UL TBF: MS_CLASS=0
Slot Allocation (Algorithm A) for class 0
-Searching for first unallocated TFI: TRX=0 first TS=2
- Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 3, because need to reuse TS
@@ -30,7 +26,7 @@ Searching for first unallocated TFI: TRX=0 first TS=2
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign uplink TS=2 USF=0
+- Assign uplink TS=2 TFI=0 USF=0
PDCH(TS 2, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001.
- Setting Control TS 2
Attaching TBF to MS object, TLLI = 0x00002342, TBF = TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL)
@@ -46,8 +42,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -55,7 +49,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=0
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -89,8 +83,6 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to WAIT REL
********** TBF starts here **********
Allocating DL TBF: MS_CLASS=45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=1.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -98,7 +90,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=1
PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL)
@@ -125,8 +117,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -134,7 +124,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=0
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -168,8 +158,6 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to WAIT REL
********** TBF starts here **********
Allocating DL TBF: MS_CLASS=45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=1.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -177,7 +165,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=1
PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL)
@@ -204,8 +192,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -213,7 +199,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=0
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -435,8 +421,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -444,7 +428,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=0
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -457,8 +441,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=1.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -466,7 +448,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=1
PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -496,8 +478,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -505,7 +485,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=0
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -523,8 +503,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=1.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -532,7 +510,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=1
PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -550,8 +528,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=2.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -559,7 +535,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=2
PDCH(TS 4, TRX 0): Attaching TBF(TFI=2 TLLI=0x00000000 DIR=DL STATE=NULL), 3 TBFs, USFs = 00, TFIs = 00000007.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=2 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -577,8 +553,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=3.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -586,7 +560,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=3
PDCH(TS 4, TRX 0): Attaching TBF(TFI=3 TLLI=0x00000000 DIR=DL STATE=NULL), 4 TBFs, USFs = 00, TFIs = 0000000f.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=3 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -604,8 +578,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=4.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -613,7 +585,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=4
PDCH(TS 4, TRX 0): Attaching TBF(TFI=4 TLLI=0x00000000 DIR=DL STATE=NULL), 5 TBFs, USFs = 00, TFIs = 0000001f.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=4 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -631,8 +603,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=5.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -640,7 +610,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=5
PDCH(TS 4, TRX 0): Attaching TBF(TFI=5 TLLI=0x00000000 DIR=DL STATE=NULL), 6 TBFs, USFs = 00, TFIs = 0000003f.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=5 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -658,8 +628,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=6.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -667,7 +635,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=6
PDCH(TS 4, TRX 0): Attaching TBF(TFI=6 TLLI=0x00000000 DIR=DL STATE=NULL), 7 TBFs, USFs = 00, TFIs = 0000007f.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=6 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -685,8 +653,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=7.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -694,7 +660,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=7
PDCH(TS 4, TRX 0): Attaching TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=NULL), 8 TBFs, USFs = 00, TFIs = 000000ff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -712,8 +678,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=8.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -721,7 +685,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=8
PDCH(TS 4, TRX 0): Attaching TBF(TFI=8 TLLI=0x00000000 DIR=DL STATE=NULL), 9 TBFs, USFs = 00, TFIs = 000001ff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=8 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -739,8 +703,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=9.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -748,7 +710,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=9
PDCH(TS 4, TRX 0): Attaching TBF(TFI=9 TLLI=0x00000000 DIR=DL STATE=NULL), 10 TBFs, USFs = 00, TFIs = 000003ff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=9 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -766,8 +728,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=10.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -775,7 +735,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=10
PDCH(TS 4, TRX 0): Attaching TBF(TFI=10 TLLI=0x00000000 DIR=DL STATE=NULL), 11 TBFs, USFs = 00, TFIs = 000007ff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=10 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -793,8 +753,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=11.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -802,7 +760,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=11
PDCH(TS 4, TRX 0): Attaching TBF(TFI=11 TLLI=0x00000000 DIR=DL STATE=NULL), 12 TBFs, USFs = 00, TFIs = 00000fff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=11 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -820,8 +778,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=12.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -829,7 +785,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=12
PDCH(TS 4, TRX 0): Attaching TBF(TFI=12 TLLI=0x00000000 DIR=DL STATE=NULL), 13 TBFs, USFs = 00, TFIs = 00001fff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=12 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -847,8 +803,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=13.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -856,7 +810,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=13
PDCH(TS 4, TRX 0): Attaching TBF(TFI=13 TLLI=0x00000000 DIR=DL STATE=NULL), 14 TBFs, USFs = 00, TFIs = 00003fff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=13 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -874,8 +828,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=14.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -883,7 +835,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=14
PDCH(TS 4, TRX 0): Attaching TBF(TFI=14 TLLI=0x00000000 DIR=DL STATE=NULL), 15 TBFs, USFs = 00, TFIs = 00007fff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=14 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -901,8 +853,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=15.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -910,7 +860,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=15
PDCH(TS 4, TRX 0): Attaching TBF(TFI=15 TLLI=0x00000000 DIR=DL STATE=NULL), 16 TBFs, USFs = 00, TFIs = 0000ffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=15 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -928,8 +878,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=16.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -937,7 +885,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=16
PDCH(TS 4, TRX 0): Attaching TBF(TFI=16 TLLI=0x00000000 DIR=DL STATE=NULL), 17 TBFs, USFs = 00, TFIs = 0001ffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=16 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -955,8 +903,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=17.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -964,7 +910,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=17
PDCH(TS 4, TRX 0): Attaching TBF(TFI=17 TLLI=0x00000000 DIR=DL STATE=NULL), 18 TBFs, USFs = 00, TFIs = 0003ffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=17 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -982,8 +928,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=18.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -991,7 +935,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=18
PDCH(TS 4, TRX 0): Attaching TBF(TFI=18 TLLI=0x00000000 DIR=DL STATE=NULL), 19 TBFs, USFs = 00, TFIs = 0007ffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=18 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1009,8 +953,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=19.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1018,7 +960,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=19
PDCH(TS 4, TRX 0): Attaching TBF(TFI=19 TLLI=0x00000000 DIR=DL STATE=NULL), 20 TBFs, USFs = 00, TFIs = 000fffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=19 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1036,8 +978,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=20.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1045,7 +985,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=20
PDCH(TS 4, TRX 0): Attaching TBF(TFI=20 TLLI=0x00000000 DIR=DL STATE=NULL), 21 TBFs, USFs = 00, TFIs = 001fffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=20 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1063,8 +1003,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=21.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1072,7 +1010,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=21
PDCH(TS 4, TRX 0): Attaching TBF(TFI=21 TLLI=0x00000000 DIR=DL STATE=NULL), 22 TBFs, USFs = 00, TFIs = 003fffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=21 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1090,8 +1028,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=22.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1099,7 +1035,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=22
PDCH(TS 4, TRX 0): Attaching TBF(TFI=22 TLLI=0x00000000 DIR=DL STATE=NULL), 23 TBFs, USFs = 00, TFIs = 007fffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=22 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1117,8 +1053,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=23.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1126,7 +1060,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=23
PDCH(TS 4, TRX 0): Attaching TBF(TFI=23 TLLI=0x00000000 DIR=DL STATE=NULL), 24 TBFs, USFs = 00, TFIs = 00ffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=23 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1144,8 +1078,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=24.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1153,7 +1085,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=24
PDCH(TS 4, TRX 0): Attaching TBF(TFI=24 TLLI=0x00000000 DIR=DL STATE=NULL), 25 TBFs, USFs = 00, TFIs = 01ffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=24 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1171,8 +1103,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=25.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1180,7 +1110,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=25
PDCH(TS 4, TRX 0): Attaching TBF(TFI=25 TLLI=0x00000000 DIR=DL STATE=NULL), 26 TBFs, USFs = 00, TFIs = 03ffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=25 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1198,8 +1128,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=26.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1207,7 +1135,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=26
PDCH(TS 4, TRX 0): Attaching TBF(TFI=26 TLLI=0x00000000 DIR=DL STATE=NULL), 27 TBFs, USFs = 00, TFIs = 07ffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=26 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1225,8 +1153,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=27.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1234,7 +1160,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=27
PDCH(TS 4, TRX 0): Attaching TBF(TFI=27 TLLI=0x00000000 DIR=DL STATE=NULL), 28 TBFs, USFs = 00, TFIs = 0fffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=27 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1252,8 +1178,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=28.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1261,7 +1185,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=28
PDCH(TS 4, TRX 0): Attaching TBF(TFI=28 TLLI=0x00000000 DIR=DL STATE=NULL), 29 TBFs, USFs = 00, TFIs = 1fffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=28 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1279,8 +1203,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=29.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1288,7 +1210,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=29
PDCH(TS 4, TRX 0): Attaching TBF(TFI=29 TLLI=0x00000000 DIR=DL STATE=NULL), 30 TBFs, USFs = 00, TFIs = 3fffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=29 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1306,8 +1228,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=30.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1315,7 +1235,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=30
PDCH(TS 4, TRX 0): Attaching TBF(TFI=30 TLLI=0x00000000 DIR=DL STATE=NULL), 31 TBFs, USFs = 00, TFIs = 7fffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=30 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1333,8 +1253,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=31.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1342,7 +1260,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=31
PDCH(TS 4, TRX 0): Attaching TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL), 32 TBFs, USFs = 00, TFIs = ffffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1360,9 +1278,7 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
-No TFI available.
-- Failed to allocate a TFI
+- Failed to find a usable TRX (TFI exhausted)
No PDCH resource
Destroying MS object, TLLI = 0x00000000
********** TBF starts here **********
@@ -1370,8 +1286,6 @@ Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1379,7 +1293,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=0
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
@@ -1400,8 +1314,6 @@ Detaching TBF from MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456
********** TBF starts here **********
Allocating DL TBF: MS_CLASS=45
Slot Allocation (Algorithm A) for class 45
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1409,7 +1321,7 @@ Searching for first unallocated TFI: TRX=0 first TS=4
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
- Skipping TS 7, because not enabled
-- Assign downlink TS=4
+- Assign downlink TS=4 TFI=0
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL)
@@ -1454,8 +1366,6 @@ MS requests UL TBF on RACH, so we provide one:
Allocating UL TBF: MS_CLASS=0
Creating MS object, TLLI = 0x00000000
Slot Allocation (Algorithm A) for class 0
-Searching for first unallocated TFI: TRX=0 first TS=7
- Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1463,7 +1373,7 @@ Searching for first unallocated TFI: TRX=0 first TS=7
- Skipping TS 4, because not enabled
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
-- Assign uplink TS=7 USF=0
+- Assign uplink TS=7 TFI=0 USF=0
PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001.
- Setting Control TS 7
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL)
@@ -1512,8 +1422,6 @@ MS does not give us a class.
Allocating UL TBF: MS_CLASS=0
Creating MS object, TLLI = 0x00000000
Slot Allocation (Algorithm A) for class 0
-Searching for first unallocated TFI: TRX=0 first TS=7
- Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1521,7 +1429,7 @@ Searching for first unallocated TFI: TRX=0 first TS=7
- Skipping TS 4, because not enabled
- Skipping TS 5, because not enabled
- Skipping TS 6, because not enabled
-- Assign uplink TS=7 USF=0
+- Assign uplink TS=7 TFI=0 USF=0
PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001.
- Setting Control TS 7
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL)