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