diff options
-rw-r--r-- | src/gprs_rlcmac_ts_alloc.cpp | 16 | ||||
-rw-r--r-- | tests/alloc/AllocTest.ok | 418 |
2 files changed, 221 insertions, 213 deletions
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index b9d4e41a..ec228d1a 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -405,13 +405,21 @@ static int find_multi_slots(struct gprs_rlcmac_bts *bts, Trb = ms_class->rb; Type = ms_class->type; - /* Tta and Ttb may depend on hopping or frequency change */ - /* TODO: Set them to 1 */ - if (Ttb == MS_A || Ttb == MS_B) + /* MS_A maps to 0 if frequency hopping is disabled */ + /* TODO: Set it to 1 if FH is implemented and enabled */ + if (Ttb == MS_A) Ttb = 0; - if (Trb == MS_A || Trb == MS_C) + if (Trb == MS_A) Trb = 0; + /* MS_A and MS_B are 0 iff FH is disabled and there is no Tx/Rx change. + * This is never the case with the current implementation, so 1 will + * always be used. */ + if (Ttb == MS_B) + Ttb = 1; + if (Trb == MS_C) + Trb = 1; + LOGP(DRLCMAC, LOGL_DEBUG, "- Rx=%d Tx=%d Sum Rx+Tx=%s Tta=%s Ttb=%d " " Tra=%d Trb=%d Type=%d\n", ms_class->rx, Tx, (Sum == MS_NA) ? "N/A" : digit[Sum], diff --git a/tests/alloc/AllocTest.ok b/tests/alloc/AllocTest.ok index 79b5dbf4..823595a7 100644 --- a/tests/alloc/AllocTest.ok +++ b/tests/alloc/AllocTest.ok @@ -588,356 +588,356 @@ PDCH[1] is control_ts for DL PDCH[1] is first common for DL Going to test multislot assignment MS_CLASS=19 Testing UL then DL assignment. -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing DL then UL assignment followed by update -PDCH[5] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing jolly example -PDCH[2] is used for UL -PDCH[2] is control_ts for UL -PDCH[2] is first common for UL +PDCH[3] is used for UL +PDCH[3] is control_ts for UL +PDCH[3] is first common for UL PDCH[1] is used for DL PDCH[2] is used for DL PDCH[3] is used for DL PDCH[4] is used for DL -PDCH[2] is control_ts for DL -PDCH[2] is first common for DL +PDCH[3] is control_ts for DL +PDCH[3] is first common for DL Going to test multislot assignment MS_CLASS=20 Testing UL then DL assignment. -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing DL then UL assignment followed by update -PDCH[5] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing jolly example -PDCH[2] is used for UL -PDCH[2] is control_ts for UL -PDCH[2] is first common for UL +PDCH[3] is used for UL +PDCH[3] is control_ts for UL +PDCH[3] is first common for UL PDCH[1] is used for DL PDCH[2] is used for DL PDCH[3] is used for DL PDCH[4] is used for DL -PDCH[2] is control_ts for DL -PDCH[2] is first common for DL +PDCH[3] is control_ts for DL +PDCH[3] is first common for DL Going to test multislot assignment MS_CLASS=21 Testing UL then DL assignment. -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing DL then UL assignment followed by update -PDCH[5] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing jolly example -PDCH[2] is used for UL -PDCH[2] is control_ts for UL -PDCH[2] is first common for UL +PDCH[3] is used for UL +PDCH[3] is control_ts for UL +PDCH[3] is first common for UL PDCH[1] is used for DL PDCH[2] is used for DL PDCH[3] is used for DL PDCH[4] is used for DL -PDCH[2] is control_ts for DL -PDCH[2] is first common for DL +PDCH[3] is control_ts for DL +PDCH[3] is first common for DL Going to test multislot assignment MS_CLASS=22 Testing UL then DL assignment. -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing DL then UL assignment followed by update -PDCH[5] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing jolly example -PDCH[2] is used for UL -PDCH[2] is control_ts for UL -PDCH[2] is first common for UL +PDCH[3] is used for UL +PDCH[3] is control_ts for UL +PDCH[3] is first common for UL PDCH[1] is used for DL PDCH[2] is used for DL PDCH[3] is used for DL PDCH[4] is used for DL -PDCH[2] is control_ts for DL -PDCH[2] is first common for DL +PDCH[3] is control_ts for DL +PDCH[3] is first common for DL Going to test multislot assignment MS_CLASS=23 Testing UL then DL assignment. -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing DL then UL assignment followed by update -PDCH[5] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing jolly example -PDCH[2] is used for UL -PDCH[2] is control_ts for UL -PDCH[2] is first common for UL +PDCH[3] is used for UL +PDCH[3] is control_ts for UL +PDCH[3] is first common for UL PDCH[1] is used for DL PDCH[2] is used for DL PDCH[3] is used for DL PDCH[4] is used for DL -PDCH[2] is control_ts for DL -PDCH[2] is first common for DL +PDCH[3] is control_ts for DL +PDCH[3] is first common for DL Going to test multislot assignment MS_CLASS=24 Testing UL then DL assignment. -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing DL then UL assignment followed by update -PDCH[5] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing jolly example -PDCH[2] is used for UL -PDCH[2] is control_ts for UL -PDCH[2] is first common for UL +PDCH[3] is used for UL +PDCH[3] is control_ts for UL +PDCH[3] is first common for UL PDCH[1] is used for DL PDCH[2] is used for DL PDCH[3] is used for DL PDCH[4] is used for DL -PDCH[2] is control_ts for DL -PDCH[2] is first common for DL +PDCH[3] is control_ts for DL +PDCH[3] is first common for DL Going to test multislot assignment MS_CLASS=25 Testing UL then DL assignment. -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing DL then UL assignment followed by update -PDCH[5] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing jolly example -PDCH[2] is used for UL -PDCH[2] is control_ts for UL -PDCH[2] is first common for UL +PDCH[3] is used for UL +PDCH[3] is control_ts for UL +PDCH[3] is first common for UL PDCH[1] is used for DL PDCH[2] is used for DL PDCH[3] is used for DL PDCH[4] is used for DL -PDCH[2] is control_ts for DL -PDCH[2] is first common for DL +PDCH[3] is control_ts for DL +PDCH[3] is first common for DL Going to test multislot assignment MS_CLASS=26 Testing UL then DL assignment. -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing DL then UL assignment followed by update -PDCH[5] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing jolly example -PDCH[2] is used for UL -PDCH[2] is control_ts for UL -PDCH[2] is first common for UL +PDCH[3] is used for UL +PDCH[3] is control_ts for UL +PDCH[3] is first common for UL PDCH[1] is used for DL PDCH[2] is used for DL PDCH[3] is used for DL PDCH[4] is used for DL -PDCH[2] is control_ts for DL -PDCH[2] is first common for DL +PDCH[3] is control_ts for DL +PDCH[3] is first common for DL Going to test multislot assignment MS_CLASS=27 Testing UL then DL assignment. -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing DL then UL assignment followed by update -PDCH[5] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing jolly example -PDCH[2] is used for UL -PDCH[2] is control_ts for UL -PDCH[2] is first common for UL +PDCH[3] is used for UL +PDCH[3] is control_ts for UL +PDCH[3] is first common for UL PDCH[1] is used for DL PDCH[2] is used for DL PDCH[3] is used for DL PDCH[4] is used for DL -PDCH[2] is control_ts for DL -PDCH[2] is first common for DL +PDCH[3] is control_ts for DL +PDCH[3] is first common for DL Going to test multislot assignment MS_CLASS=28 Testing UL then DL assignment. -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing DL then UL assignment followed by update -PDCH[5] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing jolly example -PDCH[2] is used for UL -PDCH[2] is control_ts for UL -PDCH[2] is first common for UL +PDCH[3] is used for UL +PDCH[3] is control_ts for UL +PDCH[3] is first common for UL PDCH[1] is used for DL PDCH[2] is used for DL PDCH[3] is used for DL PDCH[4] is used for DL -PDCH[2] is control_ts for DL -PDCH[2] is first common for DL +PDCH[3] is control_ts for DL +PDCH[3] is first common for DL Going to test multislot assignment MS_CLASS=29 Testing UL then DL assignment. -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing DL then UL assignment followed by update -PDCH[5] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL -PDCH[5] is used for UL -PDCH[5] is control_ts for UL -PDCH[5] is first common for UL +PDCH[6] is used for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL +PDCH[6] is used for UL +PDCH[6] is control_ts for UL +PDCH[6] is first common for UL PDCH[5] is used for DL PDCH[6] is used for DL PDCH[7] is used for DL -PDCH[5] is control_ts for DL -PDCH[5] is first common for DL +PDCH[6] is control_ts for DL +PDCH[6] is first common for DL Testing jolly example -PDCH[2] is used for UL -PDCH[2] is control_ts for UL -PDCH[2] is first common for UL +PDCH[3] is used for UL +PDCH[3] is control_ts for UL +PDCH[3] is first common for UL PDCH[1] is used for DL PDCH[2] is used for DL PDCH[3] is used for DL PDCH[4] is used for DL -PDCH[2] is control_ts for DL -PDCH[2] is first common for DL +PDCH[3] is control_ts for DL +PDCH[3] is first common for DL Mass test: TS0(xxxxxxxO)TS7 MS_Class=0 Mass test: TS0(xxxxxxxO)TS7 MS_Class=1 Mass test: TS0(xxxxxxxO)TS7 MS_Class=2 @@ -8743,20 +8743,20 @@ Going to test assignment with many TBF, algorithm B class 1-29 (UL and DL) TBF[15] class 16 reserves ...CDDDD TBF[16] class 17 reserves ...DCDDD TBF[17] class 18 reserves ...DDCDD - TBF[18] class 19 reserves ....DDCD - TBF[19] class 20 reserves ...DCDD. - TBF[20] class 21 reserves ....DCDD - TBF[21] class 22 reserves ...DCDD. - TBF[22] class 23 reserves ....DDCD - TBF[23] class 24 reserves ...DDCD. - TBF[24] class 25 reserves ....DDCD - TBF[25] class 26 reserves ...DCDD. - TBF[26] class 27 reserves ....DCDD - TBF[27] class 28 reserves .....DDC + TBF[18] class 19 reserves .....DCD + TBF[19] class 20 reserves ...DCD.. + TBF[20] class 21 reserves .....DDC + TBF[21] class 22 reserves ...DDC.. + TBF[22] class 23 reserves .....DCD + TBF[23] class 24 reserves ...DCD.. + TBF[24] class 25 reserves .....DDC + TBF[25] class 26 reserves ...DDC.. + TBF[26] class 27 reserves .....DCD + TBF[27] class 28 reserves ...DCD.. TBF[28] class 29 reserves .....DDC TBF[29] class 1 reserves ...C.... TBF[30] class 2 reserves ......DC - TBF[31] class 3 reserves ......DC + TBF[31] class 3 reserves ....DC.. Successfully allocated 32 UL TBFs Going to test assignment with many TBF, algorithm A (DL and UL) TBF[0] class 1 reserves ...C.... |