[PATCH] osmo-pcu[master]: Fix: DL slot allocation based on direction configured

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

arvind.sirsikar gerrit-no-reply at lists.osmocom.org
Wed Nov 2 11:29:43 UTC 2016


Hello Neels Hofmeyr, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/819

to look at the new patch set (#8).

Fix: DL slot allocation based on direction configured

Currently number of TS for second DL TBF is less
compared to first DL TBF because PCU is considering the
combined capacity of DL and UL for TS allocation.
Since 2nd DL TBF has less DL slots compared to 2nd TBF,
there is a difference in throughput between
the 2 DL TBFs. This patch enables the user to maximize
the number of DL TSs for the TBF based on the
direction configured through VTY with
cfg_pcu_ts_alloc_maximise_cmd. The maximise_direction
is chosen to be an enum to be open for later additions.

Related: OS#1792

Change-Id: I4b4a99194ccae68bb3417bce538d16e944d5ec71
---
M src/bts.h
M src/gprs_rlcmac_ts_alloc.cpp
M src/pcu_main.cpp
M src/pcu_vty.c
M tests/alloc/AllocTest.cpp
M tests/alloc/AllocTest.err
M tests/alloc/AllocTest.ok
7 files changed, 674 insertions(+), 551 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/19/819/8

diff --git a/src/bts.h b/src/bts.h
index 8bea371..a389b1b 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -44,6 +44,10 @@
 #define LLC_CODEL_USE_DEFAULT (-1)
 #define MAX_GPRS_CS 9
 
+enum maximise_direction {
+	MAXIMISE_DIR_DL_ONLY,
+	MAXIMISE_DIR_NONE
+};
 
 struct BTS;
 struct GprsMs;
@@ -200,6 +204,8 @@
 	/* 0 to support resegmentation in DL, 1 for no reseg */
 	uint8_t dl_arq_type;
 
+	enum maximise_direction maximise_dir;
+
 	uint32_t ms_idle_sec;
 	uint8_t cs_adj_enabled;
 	uint8_t cs_adj_upper_limit;
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index 57197b2..10a4093 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -775,9 +775,15 @@
 					rx_window & tx_window, 'C'),
 			capacity);
 #endif
-
-		if (capacity <= max_capacity)
-			continue;
+		switch (bts->maximise_dir) {
+		case MAXIMISE_DIR_DL_ONLY:
+			if (rx_window < max_dl_slots)
+				continue;
+			break;
+		default:
+			if (capacity <= max_capacity)
+				continue;
+		}
 
 		max_capacity = capacity;
 		max_ul_slots = tx_window;
diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp
index 4a75c79..57bccd1 100644
--- a/src/pcu_main.cpp
+++ b/src/pcu_main.cpp
@@ -217,6 +217,8 @@
 	 */
 	bts->dl_arq_type = EGPRS_ARQ1;
 
+	bts->maximise_dir = MAXIMISE_DIR_NONE;
+
 	msgb_set_talloc_ctx(tall_pcu_ctx);
 
 	osmo_init_logging(&gprs_log_info);
diff --git a/src/pcu_vty.c b/src/pcu_vty.c
index 535d512..290e819 100644
--- a/src/pcu_vty.c
+++ b/src/pcu_vty.c
@@ -497,6 +497,32 @@
 	return CMD_SUCCESS;
 }
 
+#define MAXIMISE_STR "Maximise flow of TBF in a certain direction\n"
+
+DEFUN(cfg_pcu_maximise_direction,
+      cfg_pcu_maximise_direction_cmd,
+      "maximise-direction dl",
+      MAXIMISE_STR "Maximise DL capacity\n")
+{
+	struct gprs_rlcmac_bts *bts = bts_main_data();
+
+	bts->maximise_dir = MAXIMISE_DIR_DL_ONLY;
+
+	return CMD_SUCCESS;
+}
+
+DEFUN(cfg_pcu_no_maximise_direction,
+      cfg_pcu_no_maximise_direction_cmd,
+      "no maximise-direction",
+      NO_STR MAXIMISE_STR)
+{
+	struct gprs_rlcmac_bts *bts = bts_main_data();
+
+	bts->maximise_dir = MAXIMISE_DIR_NONE;
+
+	return CMD_SUCCESS;
+}
+
 DEFUN(cfg_pcu_window_size,
       cfg_pcu_window_size_cmd,
       "window-size <0-1024> [<0-256>]",
diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp
index f7794f7..8576c09 100644
--- a/tests/alloc/AllocTest.cpp
+++ b/tests/alloc/AllocTest.cpp
@@ -118,6 +118,7 @@
 
 	bts = the_bts.bts_data();
 	bts->alloc_algorithm = alloc_algorithm_a;
+	bts->maximise_dir = MAXIMISE_DIR_NONE;
 
 	struct gprs_rlcmac_trx *trx = &bts->trx[0];
 	for (i = 0; i < 8; i += 1)
@@ -196,6 +197,7 @@
 
 		bts = the_bts.bts_data();
 		bts->alloc_algorithm = alloc_algorithm_b;
+		bts->maximise_dir = MAXIMISE_DIR_NONE;
 
 		trx = &bts->trx[0];
 		trx->pdch[5].enable();
@@ -238,6 +240,7 @@
 
 		bts = the_bts.bts_data();
 		bts->alloc_algorithm = alloc_algorithm_b;
+		bts->maximise_dir = MAXIMISE_DIR_NONE;
 
 		trx = &bts->trx[0];
 		trx->pdch[5].enable();
@@ -285,6 +288,7 @@
 
 		bts = the_bts.bts_data();
 		bts->alloc_algorithm = alloc_algorithm_b;
+		bts->maximise_dir = MAXIMISE_DIR_NONE;
 
 		trx = &bts->trx[0];
 		trx->pdch[1].enable();
@@ -660,6 +664,7 @@
 
 	bts = the_bts.bts_data();
 	bts->alloc_algorithm = algo;
+	bts->maximise_dir = MAXIMISE_DIR_NONE;
 
 	trx = &bts->trx[0];
 	trx->pdch[3].enable();
@@ -698,6 +703,7 @@
 
 	bts = the_bts.bts_data();
 	bts->alloc_algorithm = algo;
+	bts->maximise_dir = MAXIMISE_DIR_DL_ONLY;
 
 	trx = &bts->trx[0];
 	trx->pdch[3].enable();
@@ -806,6 +812,7 @@
 
 	bts = the_bts.bts_data();
 	bts->alloc_algorithm = alloc_algorithm_b;
+	bts->maximise_dir = MAXIMISE_DIR_DL_ONLY;
 
 	trx = &bts->trx[0];
 	trx->pdch[4].enable();
@@ -830,13 +837,8 @@
 		if (dl_tbf2->pdch[i])
 			numTs2++;
 	}
-
-	/*
-	 * TODO: currently 2nd DL TBF gets 3 TS
-	 * This behaviour will be fixed in subsequent patch
-	 */
 	printf("TBF2: numTs(%d)\n", numTs2);
-	OSMO_ASSERT(numTs2 == 3);
+	OSMO_ASSERT(numTs2 == 4);
 
 	tbf_free(dl_tbf1);
 	tbf_free(dl_tbf2);
diff --git a/tests/alloc/AllocTest.err b/tests/alloc/AllocTest.err
index a74c42b..a5d07cc 100644
--- a/tests/alloc/AllocTest.err
+++ b/tests/alloc/AllocTest.err
@@ -566,7 +566,7 @@
 - Failed to allocate a TFI
   Allocated 32 TBFs (previously -1)
 No USF available
-  Allocated 24 TBFs (previously 32)
+  Allocated 10 TBFs (previously 32)
 No TFI available.
 No TFI available.
 No TFI available.
@@ -640,22 +640,6 @@
 No TFI available.
 No TFI available.
 - Failed to allocate a TFI
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
-No TFI available.
 No TFI available.
 No TFI available.
 No TFI available.
@@ -706,9 +690,150 @@
 No TFI available.
 No TFI available.
 - Failed to find a usable TRX (TFI exhausted)
-  Allocated 97 TBFs (previously -1)
+  Allocated 81 TBFs (previously -1)
 - Failed to allocate a TS, no USF available
-  Allocated 24 TBFs (previously 97)
+  Allocated 10 TBFs (previously 81)
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
 No TFI available.
 No TFI available.
 No TFI available.
@@ -729,7 +854,7 @@
 No TFI available.
 No TFI available.
 - Failed to find a usable TRX (TFI exhausted)
-  Allocated 160 TBFs (previously 97)
+  Allocated 160 TBFs (previously 81)
 No TFI available.
 No TFI available.
 No TFI available.
diff --git a/tests/alloc/AllocTest.ok b/tests/alloc/AllocTest.ok
index cbb65aa..d63caf4 100644
--- a/tests/alloc/AllocTest.ok
+++ b/tests/alloc/AllocTest.ok
@@ -10229,565 +10229,521 @@
  TBF[31] class 15 reserves .......C
   Successfully allocated 160 TBFs
 Going to test assignment with many connections, algorithm B
- TBF[0] class 1 reserves ...C....
- TBF[1] class 2 reserves ....DC..
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 2 reserves ......DC
  TBF[2] class 3 reserves ......DC
- TBF[3] class 4 reserves ...DCD..
+ TBF[3] class 4 reserves .....DCD
  TBF[4] class 5 reserves ......CD
- TBF[5] class 6 reserves ...CD...
- TBF[6] class 7 reserves .....CD.
+ TBF[5] class 6 reserves .....DCD
+ TBF[6] class 7 reserves .....DCD
  TBF[7] class 8 reserves ....DDCD
- TBF[8] class 9 reserves ...DCD..
- TBF[9] class 10 reserves .....DCD
- TBF[10] class 11 reserves ...DCD..
- TBF[11] class 12 reserves .....DCD
- TBF[12] class 13 reserves ...CDD..
- TBF[13] class 14 reserves ....CDDD
- TBF[14] class 15 reserves ...CDDDD
- TBF[15] class 16 reserves ...CDDDD
- TBF[16] class 17 reserves ...CDDDD
- TBF[17] class 18 reserves ...CDDDD
- TBF[18] class 19 reserves .....DCD
- TBF[19] class 20 reserves ...DCD..
- TBF[20] class 21 reserves .....DCD
- TBF[21] class 22 reserves ...DCD..
- TBF[22] class 23 reserves .....DCD
- TBF[23] class 24 reserves ...DCD..
- TBF[24] class 25 reserves .....DCD
- TBF[25] class 26 reserves ...DCD..
- TBF[26] class 27 reserves .....DCD
- TBF[27] class 28 reserves ...DCD..
- TBF[28] class 29 reserves .....DCD
- TBF[29] class 1 reserves .......C
- TBF[30] class 2 reserves ......DC
- TBF[31] class 3 reserves ......DC
- TBF[0] class 1 reserves ...C....
- TBF[1] class 2 reserves ....DC..
- TBF[2] class 3 reserves ......DC
- TBF[3] class 4 reserves ...DCD..
- TBF[4] class 5 reserves ......CD
- TBF[5] class 6 reserves ...CD...
- TBF[6] class 7 reserves .....CD.
- TBF[7] class 8 reserves ....DDCD
- TBF[8] class 9 reserves ...DCD..
- TBF[9] class 10 reserves .....DCD
- TBF[10] class 11 reserves ...DCD..
- TBF[11] class 12 reserves .....DCD
- TBF[12] class 13 reserves ...CDD..
- TBF[13] class 14 reserves ....CDDD
- TBF[14] class 15 reserves ...CDDDD
- TBF[15] class 16 reserves ...CDDDD
- TBF[16] class 17 reserves ...CDDDD
- TBF[17] class 18 reserves ...CDDDD
- TBF[18] class 19 reserves .....DCD
- TBF[19] class 20 reserves ...DCD..
- TBF[20] class 21 reserves .....DCD
- TBF[21] class 22 reserves ...DCD..
- TBF[22] class 23 reserves .....DCD
- TBF[23] class 24 reserves ...DCD..
- TBF[0] class 1 reserves ...C....
- TBF[1] class 2 reserves ....DC..
- TBF[2] class 3 reserves ......DC
- TBF[3] class 4 reserves ...DCD..
- TBF[4] class 5 reserves ......CD
- TBF[5] class 6 reserves ...CD...
- TBF[6] class 7 reserves .....CD.
- TBF[7] class 8 reserves ....DDCD
- TBF[8] class 9 reserves ...DCD..
- TBF[9] class 10 reserves .....DCD
- TBF[10] class 11 reserves ...DCD..
- TBF[11] class 12 reserves .....DCD
- TBF[12] class 13 reserves ...CDD..
- TBF[13] class 14 reserves ....CDDD
- TBF[14] class 15 reserves ...CDDDD
- TBF[15] class 16 reserves ...CDDDD
- TBF[16] class 17 reserves ...CDDDD
- TBF[17] class 18 reserves ...CDDDD
- TBF[18] class 19 reserves .....DCD
- TBF[19] class 20 reserves ...DCD..
- TBF[20] class 21 reserves .....DCD
- TBF[21] class 22 reserves ...DCD..
- TBF[22] class 23 reserves .....DCD
- TBF[23] class 24 reserves ...DCD..
- TBF[24] class 25 reserves .....DCD
- TBF[25] class 26 reserves ...DCD..
- TBF[26] class 27 reserves .....DCD
- TBF[27] class 28 reserves ...DCD..
- TBF[28] class 29 reserves .....DCD
- TBF[29] class 1 reserves .......C
- TBF[30] class 2 reserves ......DC
- TBF[31] class 3 reserves ......DC
- TBF[0] class 1 reserves ...C....
- TBF[1] class 2 reserves ...DC...
- TBF[2] class 3 reserves ......DC
- TBF[3] class 4 reserves ....DCD.
- TBF[4] class 5 reserves ...CD...
- TBF[5] class 6 reserves ...CD...
- TBF[6] class 7 reserves ......CD
- TBF[7] class 8 reserves ...DDCD.
- TBF[8] class 9 reserves ...DCD..
- TBF[9] class 10 reserves ....DCD.
- TBF[10] class 11 reserves ...DCD..
- TBF[11] class 12 reserves .....DCD
+ TBF[8] class 9 reserves .....DCD
+ TBF[9] class 10 reserves ....DDCD
+ TBF[10] class 11 reserves ....DDCD
+ TBF[11] class 12 reserves ....DDCD
  TBF[12] class 13 reserves .....CDD
- TBF[13] class 14 reserves ...CDDD.
+ TBF[13] class 14 reserves ....CDDD
  TBF[14] class 15 reserves ...CDDDD
  TBF[15] class 16 reserves ...CDDDD
  TBF[16] class 17 reserves ...CDDDD
  TBF[17] class 18 reserves ...CDDDD
- TBF[18] class 19 reserves .....DCD
- TBF[19] class 20 reserves ...DCD..
- TBF[20] class 21 reserves .....DCD
- TBF[21] class 22 reserves ...DCD..
- TBF[22] class 23 reserves .....DCD
- TBF[23] class 24 reserves ...DCD..
- TBF[24] class 25 reserves .....DCD
- TBF[25] class 26 reserves ...DCD..
- TBF[26] class 27 reserves .....DCD
- TBF[27] class 28 reserves ...DCD..
- TBF[28] class 29 reserves .....DCD
- TBF[29] class 1 reserves ...C....
+ TBF[18] class 19 reserves ....DDCD
+ TBF[19] class 20 reserves ....DDCD
+ TBF[20] class 21 reserves ....DDCD
+ TBF[21] class 22 reserves ....DDCD
+ TBF[22] class 23 reserves ....DDCD
+ TBF[23] class 24 reserves ....DDCD
+ TBF[24] class 25 reserves ....DDCD
+ TBF[25] class 26 reserves ....DDCD
+ TBF[26] class 27 reserves ....DDCD
+ TBF[27] class 28 reserves ....DDCD
+ TBF[28] class 29 reserves ....DDCD
+ TBF[29] class 1 reserves .......C
+ TBF[30] class 2 reserves ......DC
+ TBF[31] class 3 reserves ......DC
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 2 reserves ......DC
+ TBF[2] class 3 reserves ......DC
+ TBF[3] class 4 reserves .....DCD
+ TBF[4] class 5 reserves ......CD
+ TBF[5] class 6 reserves .....DCD
+ TBF[6] class 7 reserves .....DCD
+ TBF[7] class 8 reserves ....DDCD
+ TBF[8] class 9 reserves .....DCD
+ TBF[9] class 10 reserves ....DDCD
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 2 reserves ......DC
+ TBF[2] class 3 reserves ......DC
+ TBF[3] class 4 reserves .....DCD
+ TBF[4] class 5 reserves ......CD
+ TBF[5] class 6 reserves .....DCD
+ TBF[6] class 7 reserves .....DCD
+ TBF[7] class 8 reserves ....DDCD
+ TBF[8] class 9 reserves .....DCD
+ TBF[9] class 10 reserves ....DDCD
+ TBF[10] class 11 reserves ....DDCD
+ TBF[11] class 12 reserves ....DDCD
+ TBF[12] class 13 reserves .....CDD
+ TBF[13] class 14 reserves ....CDDD
+ TBF[14] class 15 reserves ...CDDDD
+ TBF[15] class 16 reserves ...CDDDD
+ TBF[16] class 17 reserves ...CDDDD
+ TBF[17] class 18 reserves ...CDDDD
+ TBF[18] class 19 reserves ....DDCD
+ TBF[19] class 20 reserves ....DDCD
+ TBF[20] class 21 reserves ....DDCD
+ TBF[21] class 22 reserves ....DDCD
+ TBF[22] class 23 reserves ....DDCD
+ TBF[23] class 24 reserves ....DDCD
+ TBF[24] class 25 reserves ....DDCD
+ TBF[25] class 26 reserves ....DDCD
+ TBF[26] class 27 reserves ....DDCD
+ TBF[27] class 28 reserves ....DDCD
+ TBF[28] class 29 reserves ....DDCD
+ TBF[29] class 1 reserves .......C
+ TBF[30] class 2 reserves ......DC
+ TBF[31] class 3 reserves ......DC
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 2 reserves ......DC
+ TBF[2] class 3 reserves ......DC
+ TBF[3] class 4 reserves .....DCD
+ TBF[4] class 5 reserves ......CD
+ TBF[5] class 6 reserves .....DCD
+ TBF[6] class 7 reserves .....DCD
+ TBF[7] class 8 reserves ....DDCD
+ TBF[8] class 9 reserves .....DCD
+ TBF[9] class 10 reserves ....DDCD
+ TBF[10] class 11 reserves ....DDCD
+ TBF[11] class 12 reserves ....DDCD
+ TBF[12] class 13 reserves .....CDD
+ TBF[13] class 14 reserves ....CDDD
+ TBF[14] class 15 reserves ...CDDDD
+ TBF[15] class 16 reserves ...CDDDD
+ TBF[16] class 17 reserves ...CDDDD
+ TBF[17] class 18 reserves ...CDDDD
+ TBF[18] class 19 reserves ....DDCD
+ TBF[19] class 20 reserves ....DDCD
+ TBF[20] class 21 reserves ....DDCD
+ TBF[21] class 22 reserves ....DDCD
+ TBF[22] class 23 reserves ....DDCD
+ TBF[23] class 24 reserves ....DDCD
+ TBF[24] class 25 reserves ....DDCD
+ TBF[25] class 26 reserves ....DDCD
+ TBF[26] class 27 reserves ....DDCD
+ TBF[27] class 28 reserves ....DDCD
+ TBF[28] class 29 reserves ....DDCD
+ TBF[29] class 1 reserves .......C
  TBF[30] class 2 reserves ......DC
  TBF[31] class 3 reserves ......DC
   Successfully allocated 32 TBFs
 Going to test assignment with many connections, algorithm dynamic
- TBF[0] class 1 reserves ...C....
- TBF[1] class 2 reserves ....DC..
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 2 reserves ......DC
  TBF[2] class 3 reserves ......DC
- TBF[3] class 4 reserves ...DCD..
+ TBF[3] class 4 reserves .....DCD
  TBF[4] class 5 reserves ......CD
- TBF[5] class 6 reserves ...CD...
- TBF[6] class 7 reserves .....CD.
+ TBF[5] class 6 reserves .....DCD
+ TBF[6] class 7 reserves .....DCD
  TBF[7] class 8 reserves ....DDCD
- TBF[8] class 9 reserves ...DCD..
- TBF[9] class 10 reserves .....DCD
- TBF[10] class 11 reserves ...DCD..
- TBF[11] class 12 reserves .....DCD
- TBF[12] class 13 reserves ...CDD..
+ TBF[8] class 9 reserves .....DCD
+ TBF[9] class 10 reserves ....DDCD
+ TBF[10] class 11 reserves ....DDCD
+ TBF[11] class 12 reserves ....DDCD
+ TBF[12] class 13 reserves .....CDD
  TBF[13] class 14 reserves ....CDDD
  TBF[14] class 15 reserves ...CDDDD
  TBF[15] class 16 reserves ...CDDDD
  TBF[16] class 17 reserves ...CDDDD
  TBF[17] class 18 reserves ...CDDDD
- TBF[18] class 19 reserves .....DCD
- TBF[19] class 20 reserves ...DCD..
- TBF[20] class 21 reserves .....DCD
- TBF[21] class 22 reserves ...DCD..
- TBF[22] class 23 reserves .....DCD
- TBF[23] class 24 reserves ...DCD..
- TBF[24] class 25 reserves .....DCD
- TBF[25] class 26 reserves ...DCD..
- TBF[26] class 27 reserves .....DCD
- TBF[27] class 28 reserves ...DCD..
- TBF[28] class 29 reserves .....DCD
+ TBF[18] class 19 reserves ....DDCD
+ TBF[19] class 20 reserves ....DDCD
+ TBF[20] class 21 reserves ....DDCD
+ TBF[21] class 22 reserves ....DDCD
+ TBF[22] class 23 reserves ....DDCD
+ TBF[23] class 24 reserves ....DDCD
+ TBF[24] class 25 reserves ....DDCD
+ TBF[25] class 26 reserves ....DDCD
+ TBF[26] class 27 reserves ....DDCD
+ TBF[27] class 28 reserves ....DDCD
+ TBF[28] class 29 reserves ....DDCD
  TBF[29] class 1 reserves .......C
  TBF[30] class 2 reserves ......DC
  TBF[31] class 3 reserves ......DC
- TBF[0] class 4 reserves .....C..
- TBF[1] class 5 reserves ...C....
- TBF[2] class 6 reserves ...C....
- TBF[0] class 7 reserves .......C
- TBF[4] class 8 reserves ...C....
- TBF[0] class 9 reserves ....C...
- TBF[1] class 10 reserves .......C
+ TBF[0] class 4 reserves ......C.
+ TBF[0] class 5 reserves ...C....
+ TBF[1] class 6 reserves ...C....
+ TBF[2] class 7 reserves ...C....
+ TBF[3] class 8 reserves ...C....
+ TBF[4] class 9 reserves ...C....
+ TBF[5] class 10 reserves ...C....
  TBF[6] class 11 reserves ...C....
- TBF[2] class 12 reserves ....C...
- TBF[0] class 13 reserves ......C.
- TBF[3] class 14 reserves .......C
- TBF[7] class 15 reserves ...C....
- TBF[4] class 16 reserves ....C...
- TBF[1] class 17 reserves ......C.
- TBF[5] class 18 reserves .......C
- TBF[9] class 19 reserves ...C....
- TBF[6] class 20 reserves ....C...
- TBF[3] class 21 reserves ......C.
- TBF[6] class 22 reserves .......C
- TBF[11] class 23 reserves ...C....
- TBF[9] class 24 reserves ....C...
- TBF[2] class 25 reserves .....C..
- TBF[5] class 26 reserves ......C.
- TBF[8] class 27 reserves .......C
- TBF[13] class 28 reserves ...C....
- TBF[11] class 29 reserves ....C...
- TBF[4] class 1 reserves .....C..
- TBF[8] class 2 reserves ......C.
- TBF[10] class 3 reserves .......C
- TBF[18] class 4 reserves ...C....
- TBF[18] class 5 reserves ....C...
- TBF[5] class 6 reserves .....C..
- TBF[10] class 7 reserves ......C.
- TBF[12] class 8 reserves .......C
- TBF[20] class 9 reserves ...C....
- TBF[20] class 10 reserves ....C...
- TBF[29] class 11 reserves .....C..
- TBF[12] class 12 reserves ......C.
- TBF[19] class 13 reserves .......C
- TBF[22] class 14 reserves ...C....
- TBF[22] class 15 reserves ....C...
- TBF[30] class 16 reserves .....C..
- TBF[19] class 17 reserves ......C.
- TBF[21] class 18 reserves .......C
- TBF[24] class 19 reserves ...C....
- TBF[24] class 20 reserves ....C...
- TBF[31] class 21 reserves .....C..
- TBF[21] class 22 reserves ......C.
- TBF[23] class 23 reserves .......C
- TBF[26] class 24 reserves ...C....
- TBF[26] class 25 reserves ....C...
- TBF[23] class 26 reserves ......C.
- TBF[25] class 27 reserves .......C
- TBF[28] class 28 reserves ...C....
- TBF[28] class 29 reserves ....C...
- TBF[25] class 1 reserves ......C.
- TBF[27] class 2 reserves .......C
- TBF[29] class 3 reserves ...C....
- TBF[29] class 4 reserves ....C...
- TBF[27] class 5 reserves ......C.
- TBF[30] class 6 reserves ...C....
- TBF[30] class 7 reserves ....C...
- TBF[29] class 8 reserves ......C.
- TBF[31] class 9 reserves ...C....
- TBF[31] class 10 reserves ....C...
- TBF[0] class 1 reserves ...C....
- TBF[0] class 2 reserves ....DC..
- TBF[0] class 3 reserves ......DC
- TBF[0] class 4 reserves ...DCD..
- TBF[0] class 5 reserves ......CD
- TBF[1] class 6 reserves ...CD...
- TBF[1] class 7 reserves .....CD.
- TBF[1] class 8 reserves ....DDCD
- TBF[1] class 9 reserves ...DCD..
- TBF[2] class 10 reserves .....DCD
- TBF[2] class 11 reserves ...DCD..
- TBF[3] class 12 reserves .....DCD
- TBF[2] class 13 reserves ...CDD..
- TBF[3] class 14 reserves ....CDDD
- TBF[3] class 15 reserves ...CDDDD
- TBF[4] class 16 reserves ...CDDDD
- TBF[5] class 17 reserves ...CDDDD
- TBF[6] class 18 reserves ...CDDDD
- TBF[4] class 19 reserves .....DCD
- TBF[4] class 20 reserves ...DCD..
- TBF[5] class 21 reserves .....DCD
- TBF[5] class 22 reserves ...DCD..
- TBF[6] class 23 reserves .....DCD
- TBF[6] class 24 reserves ...DCD..
- TBF[0] class 1 reserves ...C....
- TBF[1] class 2 reserves .....C..
- TBF[2] class 3 reserves .......C
- TBF[1] class 4 reserves ....C...
- TBF[2] class 5 reserves ......C.
- TBF[3] class 6 reserves ...C....
- TBF[3] class 7 reserves .....C..
- TBF[4] class 8 reserves ......C.
- TBF[3] class 9 reserves ....C...
- TBF[6] class 10 reserves ......C.
- TBF[5] class 11 reserves ....C...
- TBF[7] class 12 reserves ......C.
- TBF[5] class 13 reserves ...C....
- TBF[7] class 14 reserves ....C...
- TBF[8] class 15 reserves ...C....
+ TBF[7] class 12 reserves ...C....
+ TBF[8] class 13 reserves ...C....
+ TBF[9] class 14 reserves ...C....
+ TBF[0] class 15 reserves ....C...
  TBF[10] class 16 reserves ...C....
- TBF[12] class 17 reserves ...C....
- TBF[14] class 18 reserves ...C....
- TBF[9] class 19 reserves ......C.
- TBF[8] class 20 reserves ....C...
- TBF[11] class 21 reserves ......C.
- TBF[10] class 22 reserves ....C...
- TBF[13] class 23 reserves ......C.
- TBF[12] class 24 reserves ....C...
- TBF[14] class 25 reserves ......C.
- TBF[13] class 26 reserves ....C...
- TBF[15] class 27 reserves ......C.
- TBF[14] class 28 reserves ....C...
- TBF[16] class 29 reserves ......C.
- TBF[4] class 1 reserves .......C
- TBF[7] class 2 reserves .......C
- TBF[9] class 3 reserves .......C
- TBF[0] class 4 reserves .....C..
- TBF[1] class 5 reserves ...C....
- TBF[2] class 6 reserves ...C....
- TBF[0] class 7 reserves .......C
- TBF[4] class 8 reserves ...C....
- TBF[0] class 9 reserves ....C...
- TBF[1] class 10 reserves .......C
+ TBF[1] class 17 reserves ....C...
+ TBF[11] class 18 reserves ...C....
+ TBF[2] class 19 reserves ....C...
+ TBF[12] class 20 reserves ...C....
+ TBF[3] class 21 reserves ....C...
+ TBF[13] class 22 reserves ...C....
+ TBF[0] class 23 reserves .....C..
+ TBF[4] class 24 reserves ....C...
+ TBF[18] class 25 reserves ...C....
+ TBF[1] class 26 reserves .....C..
+ TBF[5] class 27 reserves ....C...
+ TBF[19] class 28 reserves ...C....
+ TBF[2] class 29 reserves .....C..
+ TBF[6] class 1 reserves ....C...
+ TBF[20] class 2 reserves ...C....
+ TBF[4] class 3 reserves .....C..
+ TBF[8] class 4 reserves ....C...
+ TBF[21] class 5 reserves ...C....
+ TBF[29] class 6 reserves .....C..
+ TBF[12] class 7 reserves ....C...
+ TBF[22] class 8 reserves ...C....
+ TBF[30] class 9 reserves .....C..
+ TBF[29] class 10 reserves ....C...
+ TBF[23] class 11 reserves ...C....
+ TBF[31] class 12 reserves .....C..
+ TBF[30] class 13 reserves ....C...
+ TBF[24] class 14 reserves ...C....
+ TBF[31] class 15 reserves ....C...
+ TBF[25] class 16 reserves ...C....
+ TBF[26] class 17 reserves ...C....
+ TBF[27] class 18 reserves ...C....
+ TBF[29] class 19 reserves ......C.
+ TBF[28] class 20 reserves ...C....
+ TBF[29] class 21 reserves ...C....
+ TBF[30] class 22 reserves ...C....
+ TBF[31] class 23 reserves ...C....
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 2 reserves ......DC
+ TBF[2] class 3 reserves ......DC
+ TBF[0] class 4 reserves .....DCD
+ TBF[1] class 5 reserves ......CD
+ TBF[2] class 6 reserves .....DCD
+ TBF[3] class 7 reserves .....DCD
+ TBF[4] class 8 reserves ....DDCD
+ TBF[5] class 9 reserves .....DCD
+ TBF[6] class 10 reserves ....DDCD
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 2 reserves .......C
+ TBF[2] class 3 reserves .......C
+ TBF[1] class 4 reserves ......C.
+ TBF[2] class 5 reserves ......C.
+ TBF[3] class 6 reserves ......C.
+ TBF[4] class 7 reserves ......C.
+ TBF[5] class 8 reserves ......C.
+ TBF[6] class 9 reserves ......C.
+ TBF[7] class 10 reserves ......C.
+ TBF[8] class 11 reserves ......C.
+ TBF[9] class 12 reserves ......C.
+ TBF[3] class 13 reserves .....C..
+ TBF[7] class 14 reserves ....C...
+ TBF[14] class 15 reserves ...C....
+ TBF[15] class 16 reserves ...C....
+ TBF[16] class 17 reserves ...C....
+ TBF[17] class 18 reserves ...C....
+ TBF[10] class 19 reserves ......C.
+ TBF[11] class 20 reserves ......C.
+ TBF[12] class 21 reserves ......C.
+ TBF[13] class 22 reserves ......C.
+ TBF[14] class 23 reserves ......C.
+ TBF[15] class 24 reserves ......C.
+ TBF[16] class 25 reserves ......C.
+ TBF[17] class 26 reserves ......C.
+ TBF[18] class 27 reserves ......C.
+ TBF[19] class 28 reserves ......C.
+ TBF[20] class 29 reserves ......C.
+ TBF[3] class 1 reserves .......C
+ TBF[4] class 2 reserves .......C
+ TBF[5] class 3 reserves .......C
+ TBF[0] class 4 reserves ......C.
+ TBF[0] class 5 reserves ...C....
+ TBF[1] class 6 reserves ...C....
+ TBF[2] class 7 reserves ...C....
+ TBF[3] class 8 reserves ...C....
+ TBF[4] class 9 reserves ...C....
+ TBF[5] class 10 reserves ...C....
  TBF[6] class 11 reserves ...C....
- TBF[2] class 12 reserves ....C...
- TBF[0] class 13 reserves ......C.
- TBF[3] class 14 reserves .......C
- TBF[7] class 15 reserves ...C....
- TBF[4] class 16 reserves ....C...
- TBF[1] class 17 reserves ......C.
- TBF[5] class 18 reserves .......C
- TBF[9] class 19 reserves ...C....
- TBF[6] class 20 reserves ....C...
- TBF[3] class 21 reserves ......C.
- TBF[6] class 22 reserves .......C
- TBF[11] class 23 reserves ...C....
- TBF[9] class 24 reserves ....C...
- TBF[2] class 25 reserves .....C..
- TBF[5] class 26 reserves ......C.
- TBF[8] class 27 reserves .......C
- TBF[13] class 28 reserves ...C....
- TBF[11] class 29 reserves ....C...
- TBF[4] class 1 reserves .....C..
- TBF[8] class 2 reserves ......C.
- TBF[10] class 3 reserves .......C
- TBF[15] class 4 reserves ...C....
- TBF[15] class 5 reserves ....C...
+ TBF[7] class 12 reserves ...C....
+ TBF[8] class 13 reserves ...C....
+ TBF[9] class 14 reserves ...C....
+ TBF[0] class 15 reserves ....C...
+ TBF[10] class 16 reserves ...C....
+ TBF[1] class 17 reserves ....C...
+ TBF[11] class 18 reserves ...C....
+ TBF[2] class 19 reserves ....C...
+ TBF[12] class 20 reserves ...C....
+ TBF[3] class 21 reserves ....C...
+ TBF[13] class 22 reserves ...C....
+ TBF[0] class 23 reserves .....C..
+ TBF[4] class 24 reserves ....C...
+ TBF[18] class 25 reserves ...C....
+ TBF[1] class 26 reserves .....C..
+ TBF[5] class 27 reserves ....C...
+ TBF[19] class 28 reserves ...C....
+ TBF[2] class 29 reserves .....C..
+ TBF[6] class 1 reserves ....C...
+ TBF[20] class 2 reserves ...C....
+ TBF[4] class 3 reserves .....C..
+ TBF[8] class 4 reserves ....C...
+ TBF[21] class 5 reserves ...C....
  TBF[5] class 6 reserves .....C..
- TBF[10] class 7 reserves ......C.
- TBF[11] class 8 reserves .......C
- TBF[16] class 9 reserves ...C....
- TBF[16] class 10 reserves ....C...
- TBF[6] class 11 reserves .....C..
- TBF[12] class 12 reserves ......C.
- TBF[12] class 13 reserves .......C
- TBF[17] class 14 reserves ...C....
- TBF[17] class 15 reserves ....C...
- TBF[7] class 16 reserves .....C..
- TBF[17] class 17 reserves ......C.
- TBF[13] class 18 reserves .......C
- TBF[18] class 19 reserves ...C....
- TBF[18] class 20 reserves ....C...
- TBF[8] class 21 reserves .....C..
- TBF[18] class 22 reserves ......C.
- TBF[14] class 23 reserves .......C
- TBF[19] class 24 reserves ...C....
+ TBF[9] class 7 reserves ....C...
+ TBF[22] class 8 reserves ...C....
+ TBF[6] class 9 reserves .....C..
+ TBF[10] class 10 reserves ....C...
+ TBF[23] class 11 reserves ...C....
+ TBF[7] class 12 reserves .....C..
+ TBF[11] class 13 reserves ....C...
+ TBF[24] class 14 reserves ...C....
+ TBF[12] class 15 reserves ....C...
+ TBF[25] class 16 reserves ...C....
+ TBF[26] class 17 reserves ...C....
+ TBF[27] class 18 reserves ...C....
+ TBF[21] class 19 reserves ......C.
+ TBF[28] class 20 reserves ...C....
+ TBF[29] class 21 reserves ...C....
+ TBF[30] class 22 reserves ...C....
+ TBF[31] class 23 reserves ...C....
+ TBF[6] class 24 reserves .......C
+ TBF[7] class 25 reserves .......C
+ TBF[8] class 26 reserves .....C..
+ TBF[8] class 27 reserves .......C
+ TBF[9] class 28 reserves .....C..
+ TBF[9] class 29 reserves .......C
+ TBF[10] class 1 reserves .....C..
+ TBF[10] class 2 reserves .......C
+ TBF[11] class 3 reserves .....C..
+ TBF[11] class 4 reserves .......C
+ TBF[12] class 5 reserves .....C..
+ TBF[12] class 6 reserves .......C
+ TBF[13] class 7 reserves ....C...
+ TBF[13] class 8 reserves .....C..
+ TBF[13] class 9 reserves .......C
+ TBF[14] class 10 reserves ....C...
+ TBF[14] class 11 reserves .....C..
+ TBF[14] class 12 reserves .......C
+ TBF[15] class 13 reserves ....C...
+ TBF[15] class 14 reserves .....C..
+ TBF[15] class 15 reserves .......C
+ TBF[16] class 16 reserves ....C...
+ TBF[16] class 17 reserves .....C..
+ TBF[16] class 18 reserves .......C
+ TBF[17] class 19 reserves ....C...
+ TBF[17] class 20 reserves .....C..
+ TBF[17] class 21 reserves .......C
+ TBF[18] class 22 reserves ....C...
+ TBF[18] class 23 reserves .....C..
+ TBF[18] class 24 reserves .......C
  TBF[19] class 25 reserves ....C...
- TBF[19] class 26 reserves ......C.
- TBF[15] class 27 reserves .......C
- TBF[20] class 28 reserves ...C....
- TBF[20] class 29 reserves ....C...
- TBF[20] class 1 reserves ......C.
- TBF[16] class 2 reserves .......C
- TBF[21] class 3 reserves ...C....
- TBF[21] class 4 reserves ....C...
- TBF[21] class 5 reserves ......C.
- TBF[22] class 6 reserves ...C....
- TBF[22] class 7 reserves ....C...
- TBF[22] class 8 reserves ......C.
- TBF[23] class 9 reserves ...C....
- TBF[23] class 10 reserves ....C...
- TBF[9] class 11 reserves .....C..
- TBF[10] class 12 reserves .....C..
- TBF[11] class 13 reserves .....C..
- TBF[12] class 14 reserves .....C..
- TBF[13] class 15 reserves .....C..
- TBF[14] class 16 reserves .....C..
- TBF[15] class 17 reserves .....C..
- TBF[16] class 18 reserves .....C..
- TBF[17] class 19 reserves .....C..
- TBF[17] class 20 reserves .......C
- TBF[18] class 21 reserves .....C..
- TBF[18] class 22 reserves .......C
- TBF[19] class 23 reserves .....C..
- TBF[19] class 24 reserves .......C
- TBF[20] class 25 reserves .....C..
- TBF[20] class 26 reserves .......C
- TBF[21] class 27 reserves .....C..
- TBF[21] class 28 reserves .......C
- TBF[22] class 29 reserves .....C..
- TBF[22] class 1 reserves .......C
- TBF[23] class 2 reserves .....C..
- TBF[23] class 3 reserves ......C.
- TBF[23] class 4 reserves .......C
- TBF[24] class 5 reserves ...C....
- TBF[24] class 6 reserves ....C...
- TBF[24] class 7 reserves .....C..
- TBF[24] class 8 reserves ......C.
- TBF[24] class 9 reserves .......C
- TBF[25] class 10 reserves ...C....
- TBF[25] class 11 reserves ....C...
- TBF[25] class 12 reserves .....C..
- TBF[25] class 13 reserves ......C.
- TBF[25] class 14 reserves .......C
- TBF[26] class 15 reserves ...C....
- TBF[26] class 16 reserves ....C...
- TBF[26] class 17 reserves .....C..
- TBF[26] class 18 reserves ......C.
- TBF[26] class 19 reserves .......C
- TBF[27] class 20 reserves ...C....
- TBF[27] class 21 reserves ....C...
- TBF[27] class 22 reserves .....C..
- TBF[27] class 23 reserves ......C.
- TBF[27] class 24 reserves .......C
- TBF[28] class 25 reserves ...C....
- TBF[28] class 26 reserves ....C...
- TBF[28] class 27 reserves .....C..
- TBF[28] class 28 reserves ......C.
- TBF[28] class 29 reserves .......C
- TBF[29] class 1 reserves ...C....
- TBF[29] class 2 reserves ....C...
- TBF[29] class 3 reserves .....C..
- TBF[29] class 4 reserves ......C.
- TBF[29] class 5 reserves .......C
- TBF[30] class 6 reserves ...C....
- TBF[30] class 7 reserves ....C...
- TBF[30] class 8 reserves .....C..
- TBF[30] class 9 reserves ......C.
- TBF[30] class 10 reserves .......C
- TBF[31] class 11 reserves ...C....
+ TBF[19] class 26 reserves .....C..
+ TBF[19] class 27 reserves .......C
+ TBF[20] class 28 reserves ....C...
+ TBF[20] class 29 reserves .....C..
+ TBF[20] class 1 reserves .......C
+ TBF[21] class 2 reserves ....C...
+ TBF[21] class 3 reserves .....C..
+ TBF[21] class 4 reserves .......C
+ TBF[22] class 5 reserves ....C...
+ TBF[22] class 6 reserves .....C..
+ TBF[22] class 7 reserves ......C.
+ TBF[22] class 8 reserves .......C
+ TBF[23] class 9 reserves ....C...
+ TBF[23] class 10 reserves .....C..
+ TBF[23] class 11 reserves ......C.
+ TBF[23] class 12 reserves .......C
+ TBF[24] class 13 reserves ....C...
+ TBF[24] class 14 reserves .....C..
+ TBF[24] class 15 reserves ......C.
+ TBF[24] class 16 reserves .......C
+ TBF[25] class 17 reserves ....C...
+ TBF[25] class 18 reserves .....C..
+ TBF[25] class 19 reserves ......C.
+ TBF[25] class 20 reserves .......C
+ TBF[26] class 21 reserves ....C...
+ TBF[26] class 22 reserves .....C..
+ TBF[26] class 23 reserves ......C.
+ TBF[26] class 24 reserves .......C
+ TBF[27] class 25 reserves ....C...
+ TBF[27] class 26 reserves .....C..
+ TBF[27] class 27 reserves ......C.
+ TBF[27] class 28 reserves .......C
+ TBF[28] class 29 reserves ....C...
+ TBF[28] class 1 reserves .....C..
+ TBF[28] class 2 reserves ......C.
+ TBF[28] class 3 reserves .......C
+ TBF[29] class 4 reserves ....C...
+ TBF[29] class 5 reserves .....C..
+ TBF[29] class 6 reserves ......C.
+ TBF[29] class 7 reserves .......C
+ TBF[30] class 8 reserves ....C...
+ TBF[30] class 9 reserves .....C..
+ TBF[30] class 10 reserves ......C.
+ TBF[30] class 11 reserves .......C
  TBF[31] class 12 reserves ....C...
  TBF[31] class 13 reserves .....C..
  TBF[31] class 14 reserves ......C.
  TBF[31] class 15 reserves .......C
- TBF[0] class 1 reserves ...C....
- TBF[1] class 2 reserves .....C..
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 2 reserves .......C
  TBF[2] class 3 reserves .......C
- TBF[1] class 4 reserves ....C...
+ TBF[1] class 4 reserves ......C.
  TBF[2] class 5 reserves ......C.
- TBF[3] class 6 reserves ...C....
- TBF[3] class 7 reserves .....C..
- TBF[4] class 8 reserves ......C.
- TBF[3] class 9 reserves ....C...
- TBF[6] class 10 reserves ......C.
- TBF[5] class 11 reserves ....C...
- TBF[7] class 12 reserves ......C.
- TBF[5] class 13 reserves ...C....
+ TBF[3] class 6 reserves ......C.
+ TBF[4] class 7 reserves ......C.
+ TBF[5] class 8 reserves ......C.
+ TBF[6] class 9 reserves ......C.
+ TBF[7] class 10 reserves ......C.
+ TBF[8] class 11 reserves ......C.
+ TBF[9] class 12 reserves ......C.
+ TBF[3] class 13 reserves .....C..
  TBF[7] class 14 reserves ....C...
- TBF[8] class 15 reserves ...C....
- TBF[10] class 16 reserves ...C....
- TBF[12] class 17 reserves ...C....
- TBF[14] class 18 reserves ...C....
- TBF[9] class 19 reserves ......C.
- TBF[8] class 20 reserves ....C...
- TBF[11] class 21 reserves ......C.
- TBF[10] class 22 reserves ....C...
- TBF[13] class 23 reserves ......C.
- TBF[12] class 24 reserves ....C...
- TBF[14] class 25 reserves ......C.
- TBF[13] class 26 reserves ....C...
- TBF[15] class 27 reserves ......C.
- TBF[14] class 28 reserves ....C...
- TBF[16] class 29 reserves ......C.
- TBF[4] class 1 reserves .......C
- TBF[7] class 2 reserves .......C
- TBF[9] class 3 reserves .......C
- TBF[0] class 4 reserves .....C..
- TBF[1] class 5 reserves ...C....
- TBF[2] class 6 reserves ...C....
- TBF[0] class 7 reserves .......C
- TBF[4] class 8 reserves ...C....
- TBF[0] class 9 reserves ....C...
- TBF[1] class 10 reserves .......C
+ TBF[14] class 15 reserves ...C....
+ TBF[15] class 16 reserves ...C....
+ TBF[16] class 17 reserves ...C....
+ TBF[17] class 18 reserves ...C....
+ TBF[10] class 19 reserves ......C.
+ TBF[11] class 20 reserves ......C.
+ TBF[12] class 21 reserves ......C.
+ TBF[13] class 22 reserves ......C.
+ TBF[14] class 23 reserves ......C.
+ TBF[15] class 24 reserves ......C.
+ TBF[16] class 25 reserves ......C.
+ TBF[17] class 26 reserves ......C.
+ TBF[18] class 27 reserves ......C.
+ TBF[19] class 28 reserves ......C.
+ TBF[20] class 29 reserves ......C.
+ TBF[3] class 1 reserves .......C
+ TBF[4] class 2 reserves .......C
+ TBF[5] class 3 reserves .......C
+ TBF[0] class 4 reserves ......C.
+ TBF[0] class 5 reserves ...C....
+ TBF[1] class 6 reserves ...C....
+ TBF[2] class 7 reserves ...C....
+ TBF[3] class 8 reserves ...C....
+ TBF[4] class 9 reserves ...C....
+ TBF[5] class 10 reserves ...C....
  TBF[6] class 11 reserves ...C....
- TBF[2] class 12 reserves ....C...
- TBF[0] class 13 reserves ......C.
- TBF[3] class 14 reserves .......C
- TBF[7] class 15 reserves ...C....
- TBF[4] class 16 reserves ....C...
- TBF[1] class 17 reserves ......C.
- TBF[5] class 18 reserves .......C
- TBF[9] class 19 reserves ...C....
- TBF[6] class 20 reserves ....C...
- TBF[3] class 21 reserves ......C.
- TBF[6] class 22 reserves .......C
- TBF[11] class 23 reserves ...C....
- TBF[9] class 24 reserves ....C...
- TBF[2] class 25 reserves .....C..
- TBF[5] class 26 reserves ......C.
- TBF[8] class 27 reserves .......C
- TBF[13] class 28 reserves ...C....
- TBF[11] class 29 reserves ....C...
- TBF[4] class 1 reserves .....C..
- TBF[8] class 2 reserves ......C.
- TBF[10] class 3 reserves .......C
- TBF[15] class 4 reserves ...C....
- TBF[15] class 5 reserves ....C...
+ TBF[7] class 12 reserves ...C....
+ TBF[8] class 13 reserves ...C....
+ TBF[9] class 14 reserves ...C....
+ TBF[0] class 15 reserves ....C...
+ TBF[10] class 16 reserves ...C....
+ TBF[1] class 17 reserves ....C...
+ TBF[11] class 18 reserves ...C....
+ TBF[2] class 19 reserves ....C...
+ TBF[12] class 20 reserves ...C....
+ TBF[3] class 21 reserves ....C...
+ TBF[13] class 22 reserves ...C....
+ TBF[0] class 23 reserves .....C..
+ TBF[4] class 24 reserves ....C...
+ TBF[18] class 25 reserves ...C....
+ TBF[1] class 26 reserves .....C..
+ TBF[5] class 27 reserves ....C...
+ TBF[19] class 28 reserves ...C....
+ TBF[2] class 29 reserves .....C..
+ TBF[6] class 1 reserves ....C...
+ TBF[20] class 2 reserves ...C....
+ TBF[4] class 3 reserves .....C..
+ TBF[8] class 4 reserves ....C...
+ TBF[21] class 5 reserves ...C....
  TBF[5] class 6 reserves .....C..
- TBF[10] class 7 reserves ......C.
- TBF[11] class 8 reserves .......C
- TBF[16] class 9 reserves ...C....
- TBF[16] class 10 reserves ....C...
- TBF[6] class 11 reserves .....C..
- TBF[12] class 12 reserves ......C.
- TBF[12] class 13 reserves .......C
- TBF[17] class 14 reserves ...C....
- TBF[17] class 15 reserves ....C...
- TBF[7] class 16 reserves .....C..
- TBF[17] class 17 reserves ......C.
- TBF[13] class 18 reserves .......C
- TBF[18] class 19 reserves ...C....
- TBF[18] class 20 reserves ....C...
- TBF[8] class 21 reserves .....C..
- TBF[18] class 22 reserves ......C.
- TBF[14] class 23 reserves .......C
- TBF[19] class 24 reserves ...C....
+ TBF[9] class 7 reserves ....C...
+ TBF[22] class 8 reserves ...C....
+ TBF[6] class 9 reserves .....C..
+ TBF[10] class 10 reserves ....C...
+ TBF[23] class 11 reserves ...C....
+ TBF[7] class 12 reserves .....C..
+ TBF[11] class 13 reserves ....C...
+ TBF[24] class 14 reserves ...C....
+ TBF[12] class 15 reserves ....C...
+ TBF[25] class 16 reserves ...C....
+ TBF[26] class 17 reserves ...C....
+ TBF[27] class 18 reserves ...C....
+ TBF[21] class 19 reserves ......C.
+ TBF[28] class 20 reserves ...C....
+ TBF[29] class 21 reserves ...C....
+ TBF[30] class 22 reserves ...C....
+ TBF[31] class 23 reserves ...C....
+ TBF[6] class 24 reserves .......C
+ TBF[7] class 25 reserves .......C
+ TBF[8] class 26 reserves .....C..
+ TBF[8] class 27 reserves .......C
+ TBF[9] class 28 reserves .....C..
+ TBF[9] class 29 reserves .......C
+ TBF[10] class 1 reserves .....C..
+ TBF[10] class 2 reserves .......C
+ TBF[11] class 3 reserves .....C..
+ TBF[11] class 4 reserves .......C
+ TBF[12] class 5 reserves .....C..
+ TBF[12] class 6 reserves .......C
+ TBF[13] class 7 reserves ....C...
+ TBF[13] class 8 reserves .....C..
+ TBF[13] class 9 reserves .......C
+ TBF[14] class 10 reserves ....C...
+ TBF[14] class 11 reserves .....C..
+ TBF[14] class 12 reserves .......C
+ TBF[15] class 13 reserves ....C...
+ TBF[15] class 14 reserves .....C..
+ TBF[15] class 15 reserves .......C
+ TBF[16] class 16 reserves ....C...
+ TBF[16] class 17 reserves .....C..
+ TBF[16] class 18 reserves .......C
+ TBF[17] class 19 reserves ....C...
+ TBF[17] class 20 reserves .....C..
+ TBF[17] class 21 reserves .......C
+ TBF[18] class 22 reserves ....C...
+ TBF[18] class 23 reserves .....C..
+ TBF[18] class 24 reserves .......C
  TBF[19] class 25 reserves ....C...
- TBF[19] class 26 reserves ......C.
- TBF[15] class 27 reserves .......C
- TBF[20] class 28 reserves ...C....
- TBF[20] class 29 reserves ....C...
- TBF[20] class 1 reserves ......C.
- TBF[16] class 2 reserves .......C
- TBF[21] class 3 reserves ...C....
- TBF[21] class 4 reserves ....C...
- TBF[21] class 5 reserves ......C.
- TBF[22] class 6 reserves ...C....
- TBF[22] class 7 reserves ....C...
- TBF[22] class 8 reserves ......C.
- TBF[23] class 9 reserves ...C....
- TBF[23] class 10 reserves ....C...
- TBF[9] class 11 reserves .....C..
- TBF[10] class 12 reserves .....C..
- TBF[11] class 13 reserves .....C..
- TBF[12] class 14 reserves .....C..
- TBF[13] class 15 reserves .....C..
- TBF[14] class 16 reserves .....C..
- TBF[15] class 17 reserves .....C..
- TBF[16] class 18 reserves .....C..
- TBF[17] class 19 reserves .....C..
- TBF[17] class 20 reserves .......C
- TBF[18] class 21 reserves .....C..
- TBF[18] class 22 reserves .......C
- TBF[19] class 23 reserves .....C..
- TBF[19] class 24 reserves .......C
- TBF[20] class 25 reserves .....C..
- TBF[20] class 26 reserves .......C
- TBF[21] class 27 reserves .....C..
- TBF[21] class 28 reserves .......C
- TBF[22] class 29 reserves .....C..
- TBF[22] class 1 reserves .......C
- TBF[23] class 2 reserves .....C..
- TBF[23] class 3 reserves ......C.
- TBF[23] class 4 reserves .......C
- TBF[24] class 5 reserves ...C....
- TBF[24] class 6 reserves ....C...
- TBF[24] class 7 reserves .....C..
- TBF[24] class 8 reserves ......C.
- TBF[24] class 9 reserves .......C
- TBF[25] class 10 reserves ...C....
- TBF[25] class 11 reserves ....C...
- TBF[25] class 12 reserves .....C..
- TBF[25] class 13 reserves ......C.
- TBF[25] class 14 reserves .......C
- TBF[26] class 15 reserves ...C....
- TBF[26] class 16 reserves ....C...
- TBF[26] class 17 reserves .....C..
- TBF[26] class 18 reserves ......C.
- TBF[26] class 19 reserves .......C
- TBF[27] class 20 reserves ...C....
- TBF[27] class 21 reserves ....C...
- TBF[27] class 22 reserves .....C..
- TBF[27] class 23 reserves ......C.
- TBF[27] class 24 reserves .......C
- TBF[28] class 25 reserves ...C....
- TBF[28] class 26 reserves ....C...
- TBF[28] class 27 reserves .....C..
- TBF[28] class 28 reserves ......C.
- TBF[28] class 29 reserves .......C
- TBF[29] class 1 reserves ...C....
- TBF[29] class 2 reserves ....C...
- TBF[29] class 3 reserves .....C..
- TBF[29] class 4 reserves ......C.
- TBF[29] class 5 reserves .......C
- TBF[30] class 6 reserves ...C....
- TBF[30] class 7 reserves ....C...
- TBF[30] class 8 reserves .....C..
- TBF[30] class 9 reserves ......C.
- TBF[30] class 10 reserves .......C
- TBF[31] class 11 reserves ...C....
+ TBF[19] class 26 reserves .....C..
+ TBF[19] class 27 reserves .......C
+ TBF[20] class 28 reserves ....C...
+ TBF[20] class 29 reserves .....C..
+ TBF[20] class 1 reserves .......C
+ TBF[21] class 2 reserves ....C...
+ TBF[21] class 3 reserves .....C..
+ TBF[21] class 4 reserves .......C
+ TBF[22] class 5 reserves ....C...
+ TBF[22] class 6 reserves .....C..
+ TBF[22] class 7 reserves ......C.
+ TBF[22] class 8 reserves .......C
+ TBF[23] class 9 reserves ....C...
+ TBF[23] class 10 reserves .....C..
+ TBF[23] class 11 reserves ......C.
+ TBF[23] class 12 reserves .......C
+ TBF[24] class 13 reserves ....C...
+ TBF[24] class 14 reserves .....C..
+ TBF[24] class 15 reserves ......C.
+ TBF[24] class 16 reserves .......C
+ TBF[25] class 17 reserves ....C...
+ TBF[25] class 18 reserves .....C..
+ TBF[25] class 19 reserves ......C.
+ TBF[25] class 20 reserves .......C
+ TBF[26] class 21 reserves ....C...
+ TBF[26] class 22 reserves .....C..
+ TBF[26] class 23 reserves ......C.
+ TBF[26] class 24 reserves .......C
+ TBF[27] class 25 reserves ....C...
+ TBF[27] class 26 reserves .....C..
+ TBF[27] class 27 reserves ......C.
+ TBF[27] class 28 reserves .......C
+ TBF[28] class 29 reserves ....C...
+ TBF[28] class 1 reserves .....C..
+ TBF[28] class 2 reserves ......C.
+ TBF[28] class 3 reserves .......C
+ TBF[29] class 4 reserves ....C...
+ TBF[29] class 5 reserves .....C..
+ TBF[29] class 6 reserves ......C.
+ TBF[29] class 7 reserves .......C
+ TBF[30] class 8 reserves ....C...
+ TBF[30] class 9 reserves .....C..
+ TBF[30] class 10 reserves ......C.
+ TBF[30] class 11 reserves .......C
  TBF[31] class 12 reserves ....C...
  TBF[31] class 13 reserves .....C..
  TBF[31] class 14 reserves ......C.
@@ -10795,4 +10751,4 @@
   Successfully allocated 160 TBFs
 Testing DL TS allocation for Multi UEs
 TBF1: numTs(4)
-TBF2: numTs(3)
+TBF2: numTs(4)

-- 
To view, visit https://gerrit.osmocom.org/819
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4b4a99194ccae68bb3417bce538d16e944d5ec71
Gerrit-PatchSet: 8
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: arvind.sirsikar <arvind.sirsikar at radisys.com>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Holger Freyther <holger at freyther.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: arvind.sirsikar <arvind.sirsikar at radisys.com>



More information about the gerrit-log mailing list