aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2015-07-10 19:52:37 +0200
committerJacob Erlbeck <jerlbeck@sysmocom.de>2015-07-16 10:25:14 +0200
commit3a10dbd56428cf0e79b738f62748509bbd04aa68 (patch)
tree9f5e96fc468f62c0a1f68547b9a249f757c2aa64 /tests
parente0853cdf42e60acd7759acd4869c84756eb1fa27 (diff)
tbf: Put the TFI->TBF mapping into the PDCH objects
Currently the TBFs are registered in a TFI indexed array within the TRX objects. TBFs can be searched globally by TFI and TRX number. This conflicts with the use of the same TFI for different TBF on different PDCH. This use case requires the specification of the PDCH as additional search dimension. This commit moves the TFI index TBF arrays into the PDCH objects. The related methods are updated accordingly. Ticket: #1793 Sponsored-by: On-Waves ehf
Diffstat (limited to 'tests')
-rw-r--r--tests/alloc/AllocTest.cpp14
-rw-r--r--tests/tbf/TbfTest.cpp4
-rw-r--r--tests/tbf/TbfTest.err14
3 files changed, 13 insertions, 19 deletions
diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp
index e419cd25..7bc865d2 100644
--- a/tests/alloc/AllocTest.cpp
+++ b/tests/alloc/AllocTest.cpp
@@ -82,23 +82,17 @@ static void check_tfi_usage(BTS *the_bts)
if (tbf->direction == GPRS_RLCMAC_DL_TBF) {
OSMO_ASSERT(pdch->dl_tbf_by_tfi(
tbf->tfi()) == tbf);
- /* This assertion cannot hold with the
- * current API and shared TFI */
-#if 0
OSMO_ASSERT(the_bts->dl_tbf_by_tfi(
tbf->tfi(),
- tbf->trx->trx_no) == tbf);
-#endif
+ tbf->trx->trx_no,
+ pdch_no) == tbf);
} else {
OSMO_ASSERT(pdch->ul_tbf_by_tfi(
tbf->tfi()) == tbf);
- /* This assertion cannot hold with the
- * current API and shared TFI */
-#if 0
OSMO_ASSERT(the_bts->ul_tbf_by_tfi(
tbf->tfi(),
- tbf->trx->trx_no) == tbf);
-#endif
+ tbf->trx->trx_no,
+ pdch_no) == tbf);
}
*tbf_var = tbf;
OSMO_ASSERT(pdch->assigned_tfi(tbf->direction) &
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index 159c8596..39f57ad8 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -526,7 +526,7 @@ static void test_tbf_single_phase()
the_bts.rcv_rach(0x03, fn, qta);
- ul_tbf = the_bts.ul_tbf_by_tfi(tfi, trx_no);
+ ul_tbf = the_bts.ul_tbf_by_tfi(tfi, trx_no, ts_no);
OSMO_ASSERT(ul_tbf != NULL);
fprintf(stderr, "Got '%s', TA=%d\n",
@@ -605,7 +605,7 @@ static void test_tbf_two_phase()
pdch->rcv_block(&buf[0], num_bytes, 2654270, &meas);
/* check the TBF */
- ul_tbf = the_bts.ul_tbf_by_tfi(tfi, trx_no);
+ ul_tbf = the_bts.ul_tbf_by_tfi(tfi, trx_no, ts_no);
OSMO_ASSERT(ul_tbf != NULL);
fprintf(stderr, "Got '%s', TA=%d, CS=%d\n",
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index 72c3851f..ee57d638 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -35,7 +35,7 @@ Modifying MS object, TLLI: 0x00000000 -> 0x00002342, already confirmed partly
The MS object cannot fully confirm an unexpected TLLI: 0x00004232, partly confirmed
Modifying MS object, TLLI: 0x00002342 -> 0x00004232, already confirmed partly
Modifying MS object, TLLI = 0x00004232, TA 4 -> 6
-Searching for first unallocated TFI: TRX=0 first TS=4
+Searching for first unallocated TFI: TRX=0
Found TFI=0.
********** TBF starts here **********
Allocating DL TBF: MS_CLASS=45
@@ -110,7 +110,7 @@ PDCH(TS 4, TRX 0): Detaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN), 0 T
Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN)
********** TBF ends here **********
Destroying MS object, TLLI = 0xffeeddcc
-Searching for first unallocated TFI: TRX=0 first TS=4
+Searching for first unallocated TFI: TRX=0
Found TFI=0.
********** TBF starts here **********
Allocating DL TBF: MS_CLASS=45
@@ -185,7 +185,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=WAIT RELEASE) free
PDCH(TS 4, TRX 0): Detaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=WAIT RELEASE), 0 TBFs, USFs = 00, TFIs = 00000000.
********** TBF ends here **********
Destroying MS object, TLLI = 0xffeeddcc
-Searching for first unallocated TFI: TRX=0 first TS=4
+Searching for first unallocated TFI: TRX=0
Found TFI=0.
********** TBF starts here **********
Allocating DL TBF: MS_CLASS=45
@@ -414,7 +414,7 @@ PDCH(TS 4, TRX 0): Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE
Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE)
Destroying MS object, TLLI = 0xffeeddcc
********** TBF ends here **********
-Searching for first unallocated TFI: TRX=0 first TS=4
+Searching for first unallocated TFI: TRX=0
Found TFI=0.
********** TBF starts here **********
Allocating DL TBF: MS_CLASS=45
@@ -434,7 +434,7 @@ PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBF
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
Allocated TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
-Searching for first unallocated TFI: TRX=0 first TS=4
+Searching for first unallocated TFI: TRX=0
Found TFI=1.
********** TBF starts here **********
Allocating DL TBF: MS_CLASS=45
@@ -1359,7 +1359,7 @@ data block: 07 01 04 4d 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03
- Scheduling Ack/Nack polling, because is was requested explicitly (e.g. first final block sent).
Polling cannot be sheduled in this TS 7, waiting for TS 4
MSG = 07 01 04 4d 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03
-Searching for first unallocated TFI: TRX=0 first TS=7
+Searching for first unallocated TFI: TRX=0
Found TFI=0.
MS requests UL TBF on RACH, so we provide one:
********** TBF starts here **********
@@ -1412,7 +1412,7 @@ MS requests single block allocation
RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270
TX: Immediate Assignment Uplink (AGCH)
Sending data request: trx=0 ts=0 sapi=2 arfcn=0 fn=0 block=0 data=2d 06 3f 10 0f 00 00 73 8b 29 07 00 c0 0c 5a 43 2b 2b 2b 2b 2b 2b 2b
-Searching for first unallocated TFI: TRX=0 first TS=7
+Searching for first unallocated TFI: TRX=0
Found TFI=0.
+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++
------------------------- RX : Uplink Control Block -------------------------