diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-04-09 19:17:21 +0200 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-04-09 19:24:00 +0200 |
commit | d58b711eec1aad9cde3693be3097f0923dc66abd (patch) | |
tree | 9e3f88821290b2d65dc686bd07973b3bc39cae79 /tests/tbf | |
parent | cc12f02658859b31d225f54fed5bae0742cbd9d3 (diff) |
tbf/test: Add test for DL TBF exhaustion
This test calls gprs_rlcmac_dl_tbf::handle() with varying TLLI and
IMSI until the function fails.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'tests/tbf')
-rw-r--r-- | tests/tbf/TbfTest.cpp | 51 | ||||
-rw-r--r-- | tests/tbf/TbfTest.err | 548 | ||||
-rw-r--r-- | tests/tbf/TbfTest.ok | 2 |
3 files changed, 601 insertions, 0 deletions
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index c3230809..51c4c88f 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -24,14 +24,20 @@ #include "tbf.h" #include "gprs_debug.h" #include "pcu_utils.h" +#include "gprs_bssgp_pcu.h" extern "C" { +#include "pcu_vty.h" + #include <osmocom/core/application.h> #include <osmocom/core/msgb.h> #include <osmocom/core/talloc.h> #include <osmocom/core/utils.h> +#include <osmocom/vty/vty.h> } +#include <errno.h> + void *tall_pcu_ctx; int16_t spoof_mnc = 0, spoof_mcc = 0; @@ -287,6 +293,44 @@ static void test_tbf_delayed_release() printf("=== end %s ===\n", __func__); } +static void test_tbf_exhaustion() +{ + BTS the_bts; + gprs_rlcmac_bts *bts; + unsigned i; + uint8_t ts_no = 4; + uint8_t ms_class = 45; + int rc = 0; + + uint8_t buf[256] = {0}; + + printf("=== start %s ===\n", __func__); + + bts = the_bts.bts_data(); + setup_bts(&the_bts, ts_no); + gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, + 1234, 1234, 1234, 1, 1, 0, 0, 0); + + for (i = 0; i < 1024; i++) { + uint32_t tlli = 0xc0000000 + i; + char imsi[16] = {0}; + unsigned delay_csec = 1000; + + snprintf(imsi, sizeof(imsi)-1, "001001%9d", i); + + rc = gprs_rlcmac_dl_tbf::handle(bts, tlli, imsi, ms_class, + delay_csec, buf, sizeof(buf)); + + if (rc < 0) + break; + } + + OSMO_ASSERT(rc == -EBUSY); + printf("=== end %s ===\n", __func__); + + gprs_bssgp_destroy(); +} + static const struct log_info_cat default_categories[] = { {"DCSN1", "\033[1;31m", "Concrete Syntax Notation One (CSN1)", LOGL_INFO, 0}, {"DL1IF", "\033[1;32m", "GPRS PCU L1 interface (L1IF)", LOGL_DEBUG, 1}, @@ -314,6 +358,8 @@ const struct log_info debug_log_info = { int main(int argc, char **argv) { + struct vty_app_info pcu_vty_info = {0}; + tall_pcu_ctx = talloc_named_const(NULL, 1, "moiji-mobile TbfTest context"); if (!tall_pcu_ctx) abort(); @@ -322,11 +368,16 @@ int main(int argc, char **argv) osmo_init_logging(&debug_log_info); log_set_use_color(osmo_stderr_target, 0); log_set_print_filename(osmo_stderr_target, 0); + bssgp_set_log_ss(DBSSGP); + + vty_init(&pcu_vty_info); + pcu_vty_init(&debug_log_info); test_tbf_tlli_update(); test_tbf_final_ack(TEST_MODE_STANDARD); test_tbf_final_ack(TEST_MODE_REVERSE_FREE); test_tbf_delayed_release(); + test_tbf_exhaustion(); return EXIT_SUCCESS; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 2fc5283f..d6da0c1f 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -359,3 +359,551 @@ DL packet loss of IMSI= / TLLI=0x00000000: 0% TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=WAIT RELEASE) free TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=WAIT RELEASE) stopping timer 3193. ********** TBF ends here ********** +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=0. +********** TBF starts here ********** +Allocating DL TBF: TFI=0 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 ) +TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 20 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 08 00 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=1. +********** TBF starts here ********** +Allocating DL TBF: TFI=1 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 ) +TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 20 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 18 40 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=2. +********** TBF starts here ********** +Allocating DL TBF: TFI=2 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 ) +TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 20 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 28 80 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=3. +********** TBF starts here ********** +Allocating DL TBF: TFI=3 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 ) +TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 20 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 38 c0 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=4. +********** TBF starts here ********** +Allocating DL TBF: TFI=4 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 ) +TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 20 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 49 00 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=5. +********** TBF starts here ********** +Allocating DL TBF: TFI=5 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 ) +TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 20 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 59 40 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=6. +********** TBF starts here ********** +Allocating DL TBF: TFI=6 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 ) +TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 20 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 69 80 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=7. +********** TBF starts here ********** +Allocating DL TBF: TFI=7 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 ) +TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 20 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 79 c0 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=8. +********** TBF starts here ********** +Allocating DL TBF: TFI=8 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 ) +TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 20 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 8a 00 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=9. +********** TBF starts here ********** +Allocating DL TBF: TFI=9 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 ) +TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 20 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 9a 40 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=10. +********** TBF starts here ********** +Allocating DL TBF: TFI=10 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1) +TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 aa 80 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=11. +********** TBF starts here ********** +Allocating DL TBF: TFI=11 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1) +TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 ba c0 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=12. +********** TBF starts here ********** +Allocating DL TBF: TFI=12 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1) +TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 cb 00 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=13. +********** TBF starts here ********** +Allocating DL TBF: TFI=13 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1) +TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 db 40 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=14. +********** TBF starts here ********** +Allocating DL TBF: TFI=14 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1) +TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 eb 80 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=15. +********** TBF starts here ********** +Allocating DL TBF: TFI=15 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1) +TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 fb c0 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=16. +********** TBF starts here ********** +Allocating DL TBF: TFI=16 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1) +TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 0c 00 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=17. +********** TBF starts here ********** +Allocating DL TBF: TFI=17 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1) +TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 1c 40 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=18. +********** TBF starts here ********** +Allocating DL TBF: TFI=18 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1) +TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 2c 80 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=19. +********** TBF starts here ********** +Allocating DL TBF: TFI=19 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1) +TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 3c c0 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=20. +********** TBF starts here ********** +Allocating DL TBF: TFI=20 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2) +TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 4d 00 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=21. +********** TBF starts here ********** +Allocating DL TBF: TFI=21 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2) +TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 5d 40 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=22. +********** TBF starts here ********** +Allocating DL TBF: TFI=22 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2) +TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 6d 80 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=23. +********** TBF starts here ********** +Allocating DL TBF: TFI=23 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2) +TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 7d c0 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=24. +********** TBF starts here ********** +Allocating DL TBF: TFI=24 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2) +TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 8e 00 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=25. +********** TBF starts here ********** +Allocating DL TBF: TFI=25 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2) +TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 9e 40 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=26. +********** TBF starts here ********** +Allocating DL TBF: TFI=26 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2) +TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 ae 80 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=27. +********** TBF starts here ********** +Allocating DL TBF: TFI=27 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2) +TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 be c0 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=28. +********** TBF starts here ********** +Allocating DL TBF: TFI=28 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2) +TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 cf 00 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=29. +********** TBF starts here ********** +Allocating DL TBF: TFI=29 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2) +TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 df 40 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=30. +********** TBF starts here ********** +Allocating DL TBF: TFI=30 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 3) +TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 33 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 ef 80 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 + Found TFI=31. +********** TBF starts here ********** +Allocating DL TBF: TFI=31 TRX=0 MS_CLASS=45 +Slot Allocation (Algorithm A) for class 45 +- Skipping TS 0, because not enabled +- Skipping TS 1, because not enabled +- Skipping TS 2, because not enabled +- Skipping TS 3, because not enabled +- Assign downlink TS=4 +- Setting Control TS 4 +TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) [DOWNLINK] START +Send dowlink assignment for TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 3) +TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) changes state from NULL to ASSIGN +TX: START TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH) +Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=20 20 33 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 ff c0 23 2b 2b 2b 2b +TA unknown, assuming 0 +Searching for first unallocated TFI: TRX=0 first TS=4 +No TFI available. +No PDCH resource diff --git a/tests/tbf/TbfTest.ok b/tests/tbf/TbfTest.ok index 13d14581..cd96caa7 100644 --- a/tests/tbf/TbfTest.ok +++ b/tests/tbf/TbfTest.ok @@ -1,2 +1,4 @@ === start test_tbf_delayed_release === === end test_tbf_delayed_release === +=== start test_tbf_exhaustion === +=== end test_tbf_exhaustion === |