alloc: Add 'dynamic' allocation algorithm

The idea behind this meta algorithm is to automatically select one of
the other algorithms based on the system state. Basically algorithm B
will be selected if the PDCH usage is low to improve throughput and
latency. Algorithm A will be selected to support more concurrent MS.

This commit adds a first simple state-less version of this algorithm
that always tries B first and only if that fails A is tried
afterwards.

The following VTY command is added to the 'pcu' node:

 - alloc-algorithm dynamic

Ticket: #1934
Sponsored-by: On-Waves ehf
diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp
index 19ca718..ec75078 100644
--- a/tests/alloc/AllocTest.cpp
+++ b/tests/alloc/AllocTest.cpp
@@ -707,37 +707,50 @@
 		32, "algorithm B class 1-12 (UL and DL)");
 	test_successive_allocation(alloc_algorithm_b, 1, 29, TEST_MODE_UL_AND_DL,
 		32, "algorithm B class 1-29 (UL and DL)");
+	test_successive_allocation(alloc_algorithm_dynamic, 1, 29, TEST_MODE_UL_AND_DL,
+		35, "algorithm dynamic class 1-29 (UL and DL)");
 
 	test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_DL_AND_UL,
 		35, "algorithm A (DL and UL)");
 	test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_DL_AND_UL,
 		32, "algorithm B class 10 (DL and UL)");
+	test_successive_allocation(alloc_algorithm_dynamic, 10, 10, TEST_MODE_DL_AND_UL,
+		32, "algorithm dynamic class 10 (DL and UL)");
 
 	test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_DL_AFTER_UL,
 		160, "algorithm A (DL after UL)");
 	test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_DL_AFTER_UL,
 		32, "algorithm B class 10 (DL after UL)");
+	test_successive_allocation(alloc_algorithm_dynamic, 10, 10, TEST_MODE_DL_AFTER_UL,
+		63, "algorithm dynamic class 10 (DL after UL)");
 
 	test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_UL_AFTER_DL,
 		35, "algorithm A (UL after DL)");
 	test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_UL_AFTER_DL,
 		32, "algorithm B class 10 (UL after DL)");
+	test_successive_allocation(alloc_algorithm_dynamic, 10, 10, TEST_MODE_UL_AFTER_DL,
+		35, "algorithm dynamic class 10 (UL after DL)");
 
 	test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_UL_ONLY,
 		35, "algorithm A (UL only)");
 	test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_UL_ONLY,
 		32, "algorithm B class 10 (UL only)");
+	test_successive_allocation(alloc_algorithm_dynamic, 10, 10, TEST_MODE_UL_ONLY,
+		35, "algorithm dynamic class 10 (UL only)");
 
 	test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_DL_ONLY,
 		160, "algorithm A (DL ONLY)");
 	test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_DL_ONLY,
 		32, "algorithm B class 10 (DL ONLY)");
+	test_successive_allocation(alloc_algorithm_dynamic, 10, 10, TEST_MODE_DL_ONLY,
+		101, "algorithm dynamic class 10 (DL ONLY)");
 }
 
 static void test_many_connections()
 {
 	test_many_connections(alloc_algorithm_a, 160, "algorithm A");
 	test_many_connections(alloc_algorithm_b, 32, "algorithm B");
+	test_many_connections(alloc_algorithm_dynamic, 121, "algorithm dynamic");
 }
 
 int main(int argc, char **argv)
diff --git a/tests/alloc/AllocTest.err b/tests/alloc/AllocTest.err
index da57413..8d91559 100644
--- a/tests/alloc/AllocTest.err
+++ b/tests/alloc/AllocTest.err
@@ -21,12 +21,37 @@
 No TFI available.
 No TFI available.
 - Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+- Failed to allocate a TS, no USF available
 - Failed to allocate a TS, no USF available
 No TFI available.
 No TFI available.
 - Failed to allocate a TFI
 No TFI available.
 No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+- Failed to allocate a TFI
+- Failed to allocate a TS, no USF available
+No TFI available.
+No TFI available.
 No TFI available.
 No TFI available.
 No TFI available.
@@ -34,16 +59,139 @@
 No TFI available.
 No TFI available.
 - Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+- Failed to allocate a TS, no TFI available
 - Failed to allocate a TS, no USF available
 No TFI available.
 No TFI available.
 - Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+- Failed to allocate a TS, no USF available
 - Failed to allocate a TS, no USF available
 No TFI available.
 No TFI available.
 - Failed to allocate a TFI
 No TFI available.
 No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+- Failed to allocate a TS, no USF available
+No TFI available.
+No TFI available.
 No TFI available.
 No TFI available.
 No TFI available.
@@ -53,6 +201,217 @@
 - Failed to allocate a TFI
 No TFI available.
 No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+- Failed to find a usable TRX (TFI exhausted)
+No TFI available.
+No TFI available.
 No TFI available.
 No TFI available.
 No TFI available.
@@ -460,3 +819,712 @@
 No TFI available.
 - Failed to allocate a TFI
   Allocated 32 TBFs (previously 32)
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+- Failed to allocate a TS, no TFI available
+  Allocated 78 TBFs (previously -1)
+No USF available
+- Failed to allocate a TS, no USF available
+  Allocated 24 TBFs (previously 78)
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+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.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+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.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+- Failed to allocate a TS, no TFI available
+  Allocated 84 TBFs (previously 78)
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+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.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+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.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+No TFI available.
+No TFI available.
+- Failed to allocate a TFI
+- Failed to find a usable TRX (TFI exhausted)
+  Allocated 121 TBFs (previously 84)
diff --git a/tests/alloc/AllocTest.ok b/tests/alloc/AllocTest.ok
index 8733e9a..542c74b 100644
--- a/tests/alloc/AllocTest.ok
+++ b/tests/alloc/AllocTest.ok
@@ -8761,6 +8761,43 @@
  TBF[30] class 2 reserves ......DC
  TBF[31] class 3 reserves ....DC..
   Successfully allocated 32 UL TBFs
+Going to test assignment with many TBF, algorithm dynamic class 1-29 (UL and DL)
+ 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 .....DDC
+ TBF[10] class 11 reserves ...DCD..
+ TBF[11] class 12 reserves .....DCD
+ TBF[12] class 13 reserves ...CDD..
+ TBF[13] class 14 reserves ....DCDD
+ TBF[14] class 15 reserves ...DDDDC
+ TBF[15] class 16 reserves ...CDDDD
+ TBF[16] class 17 reserves ...DCDDD
+ TBF[17] class 18 reserves ...DDCDD
+ 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[1] class 4 reserves ...C....
+ TBF[2] class 5 reserves ...C....
+ TBF[0] class 6 reserves ......C.
+  Successfully allocated 35 UL TBFs
 Going to test assignment with many TBF, algorithm A (DL and UL)
  TBF[0] class 1 reserves ...C....
  TBF[0] class 1 reserves ....C...
@@ -8832,6 +8869,40 @@
  TBF[30] class 10 reserves .....DDC
  TBF[31] class 10 reserves ...CD...
   Successfully allocated 32 UL TBFs
+Going to test assignment with many TBF, algorithm dynamic class 10 (DL and UL)
+ TBF[0] class 10 reserves ...DDCD.
+ TBF[1] class 10 reserves .....DCD
+ TBF[2] class 10 reserves ...DCD..
+ TBF[3] class 10 reserves .....DCD
+ TBF[4] class 10 reserves ...DCD..
+ TBF[5] class 10 reserves .....DCD
+ TBF[6] class 10 reserves ...DCD..
+ TBF[7] class 10 reserves .....DCD
+ TBF[8] class 10 reserves ...DCD..
+ TBF[9] class 10 reserves .....DCD
+ TBF[10] class 10 reserves ...DCD..
+ TBF[11] class 10 reserves .....DCD
+ TBF[12] class 10 reserves ...DCD..
+ TBF[13] class 10 reserves .....DCD
+ TBF[14] class 10 reserves ...DCD..
+ TBF[15] class 10 reserves ...DDCD.
+ TBF[16] class 10 reserves ...DDCD.
+ TBF[17] class 10 reserves ...DDCD.
+ TBF[18] class 10 reserves ...DDCD.
+ TBF[19] class 10 reserves ...DDCD.
+ TBF[20] class 10 reserves ...DDCD.
+ TBF[21] class 10 reserves .....DDC
+ TBF[22] class 10 reserves .....DDC
+ TBF[23] class 10 reserves .....DDC
+ TBF[24] class 10 reserves .....DDC
+ TBF[25] class 10 reserves .....DDC
+ TBF[26] class 10 reserves ...CD...
+ TBF[27] class 10 reserves .....DDC
+ TBF[28] class 10 reserves ...CD...
+ TBF[29] class 10 reserves ...CD...
+ TBF[30] class 10 reserves .....DDC
+ TBF[31] class 10 reserves ...CD...
+  Successfully allocated 32 UL TBFs
 Going to test assignment with many TBF, algorithm A (DL after UL)
  TBF[0] class 1 reserves ...C....
  TBF[0] class 1 reserves ....C...
@@ -9028,6 +9099,71 @@
  TBF[30] class 10 reserves ...DCD..
  TBF[31] class 10 reserves .....DCD
   Successfully allocated 32 UL TBFs
+Going to test assignment with many TBF, algorithm dynamic class 10 (DL after UL)
+ TBF[0] class 10 reserves ...DDCD.
+ TBF[1] class 10 reserves .....DCD
+ TBF[2] class 10 reserves ...DCD..
+ TBF[3] class 10 reserves .....DCD
+ TBF[4] class 10 reserves ...DCD..
+ TBF[5] class 10 reserves .....DCD
+ TBF[6] class 10 reserves ...DCD..
+ TBF[7] class 10 reserves .....DCD
+ TBF[8] class 10 reserves ...DCD..
+ TBF[9] class 10 reserves .....DCD
+ TBF[10] class 10 reserves ...DCD..
+ TBF[11] class 10 reserves .....DCD
+ TBF[12] class 10 reserves ...DCD..
+ TBF[13] class 10 reserves .....DCD
+ TBF[14] class 10 reserves ...DCD..
+ TBF[15] class 10 reserves .....DCD
+ TBF[16] class 10 reserves ...DCD..
+ TBF[17] class 10 reserves .....DCD
+ TBF[18] class 10 reserves ...DCD..
+ TBF[19] class 10 reserves .....DCD
+ TBF[20] class 10 reserves ...DCD..
+ TBF[21] class 10 reserves .....DCD
+ TBF[22] class 10 reserves ...DCD..
+ TBF[23] class 10 reserves .....DCD
+ TBF[24] class 10 reserves ...DCD..
+ TBF[25] class 10 reserves .....DCD
+ TBF[26] class 10 reserves ...DCD..
+ TBF[27] class 10 reserves .....DCD
+ TBF[28] class 10 reserves ...DCD..
+ TBF[29] class 10 reserves .....DCD
+ TBF[30] class 10 reserves ...DCD..
+ TBF[31] class 10 reserves .....DCD
+ TBF[1] class 10 reserves ...C....
+ TBF[1] class 10 reserves ....C...
+ TBF[2] class 10 reserves ......C.
+ TBF[3] class 10 reserves ....C...
+ TBF[4] class 10 reserves ......C.
+ TBF[5] class 10 reserves ....C...
+ TBF[6] class 10 reserves ......C.
+ TBF[7] class 10 reserves ....C...
+ TBF[8] class 10 reserves ......C.
+ TBF[9] class 10 reserves ....C...
+ TBF[10] class 10 reserves ......C.
+ TBF[11] class 10 reserves ....C...
+ TBF[12] class 10 reserves ......C.
+ TBF[13] class 10 reserves ....C...
+ TBF[14] class 10 reserves ......C.
+ TBF[15] class 10 reserves ....C...
+ TBF[16] class 10 reserves ......C.
+ TBF[17] class 10 reserves ....C...
+ TBF[18] class 10 reserves ......C.
+ TBF[19] class 10 reserves ....C...
+ TBF[20] class 10 reserves ......C.
+ TBF[21] class 10 reserves ....C...
+ TBF[22] class 10 reserves ......C.
+ TBF[23] class 10 reserves ....C...
+ TBF[24] class 10 reserves ......C.
+ TBF[25] class 10 reserves ....C...
+ TBF[26] class 10 reserves ......C.
+ TBF[27] class 10 reserves ....C...
+ TBF[28] class 10 reserves ......C.
+ TBF[29] class 10 reserves ....C...
+ TBF[30] class 10 reserves ......C.
+  Successfully allocated 63 UL TBFs
 Going to test assignment with many TBF, algorithm A (UL after DL)
  TBF[0] class 1 reserves ...U....
  TBF[0] class 1 reserves ....U...
@@ -9099,6 +9235,43 @@
  TBF[30] class 10 reserves .......U
  TBF[31] class 10 reserves ...U....
   Successfully allocated 32 UL TBFs
+Going to test assignment with many TBF, algorithm dynamic class 10 (UL after DL)
+ TBF[0] class 10 reserves .....U..
+ TBF[1] class 10 reserves ......U.
+ TBF[2] class 10 reserves ....U...
+ TBF[3] class 10 reserves ......U.
+ TBF[4] class 10 reserves ....U...
+ TBF[5] class 10 reserves ......U.
+ TBF[6] class 10 reserves ....U...
+ TBF[7] class 10 reserves ......U.
+ TBF[8] class 10 reserves ....U...
+ TBF[9] class 10 reserves ......U.
+ TBF[10] class 10 reserves ....U...
+ TBF[11] class 10 reserves ......U.
+ TBF[12] class 10 reserves ....U...
+ TBF[13] class 10 reserves ......U.
+ TBF[14] class 10 reserves ....U...
+ TBF[15] class 10 reserves .....U..
+ TBF[16] class 10 reserves .....U..
+ TBF[17] class 10 reserves .....U..
+ TBF[18] class 10 reserves .....U..
+ TBF[19] class 10 reserves .....U..
+ TBF[20] class 10 reserves .....U..
+ TBF[21] class 10 reserves .......U
+ TBF[22] class 10 reserves .......U
+ TBF[23] class 10 reserves .......U
+ TBF[24] class 10 reserves .......U
+ TBF[25] class 10 reserves .......U
+ TBF[26] class 10 reserves ...U....
+ TBF[27] class 10 reserves .......U
+ TBF[28] class 10 reserves ...U....
+ TBF[29] class 10 reserves ...U....
+ TBF[30] class 10 reserves .......U
+ TBF[31] class 10 reserves ...U....
+ TBF[0] class 10 reserves ...U....
+ TBF[1] class 10 reserves ...U....
+ TBF[2] class 10 reserves ...U....
+  Successfully allocated 35 UL TBFs
 Going to test assignment with many TBF, algorithm A (UL only)
  TBF[0] class 1 reserves ...U....
  TBF[0] class 1 reserves ....U...
@@ -9170,6 +9343,43 @@
  TBF[30] class 10 reserves ...U....
  TBF[31] class 10 reserves ...U....
   Successfully allocated 32 UL TBFs
+Going to test assignment with many TBF, algorithm dynamic class 10 (UL only)
+ TBF[0] class 10 reserves .....U..
+ TBF[1] class 10 reserves ......U.
+ TBF[2] class 10 reserves ....U...
+ TBF[3] class 10 reserves .......U
+ TBF[4] class 10 reserves ....U...
+ TBF[5] class 10 reserves ......U.
+ TBF[6] class 10 reserves .....U..
+ TBF[7] class 10 reserves .......U
+ TBF[8] class 10 reserves ....U...
+ TBF[9] class 10 reserves ......U.
+ TBF[10] class 10 reserves .....U..
+ TBF[11] class 10 reserves .......U
+ TBF[12] class 10 reserves ....U...
+ TBF[13] class 10 reserves ......U.
+ TBF[14] class 10 reserves .....U..
+ TBF[15] class 10 reserves .......U
+ TBF[16] class 10 reserves ....U...
+ TBF[17] class 10 reserves ......U.
+ TBF[18] class 10 reserves .....U..
+ TBF[19] class 10 reserves .......U
+ TBF[20] class 10 reserves ....U...
+ TBF[21] class 10 reserves ......U.
+ TBF[22] class 10 reserves .....U..
+ TBF[23] class 10 reserves .......U
+ TBF[24] class 10 reserves ....U...
+ TBF[25] class 10 reserves ......U.
+ TBF[26] class 10 reserves .....U..
+ TBF[27] class 10 reserves ...U....
+ TBF[28] class 10 reserves .......U
+ TBF[29] class 10 reserves ...U....
+ TBF[30] class 10 reserves ...U....
+ TBF[31] class 10 reserves ...U....
+ TBF[0] class 10 reserves ...U....
+ TBF[1] class 10 reserves ...U....
+ TBF[2] class 10 reserves ...U....
+  Successfully allocated 35 UL TBFs
 Going to test assignment with many TBF, algorithm A (DL ONLY)
  TBF[0] class 1 reserves ...C....
  TBF[0] class 1 reserves ....C...
@@ -9366,6 +9576,109 @@
  TBF[30] class 10 reserves ...CD...
  TBF[31] class 10 reserves ...CD...
   Successfully allocated 32 UL TBFs
+Going to test assignment with many TBF, algorithm dynamic class 10 (DL ONLY)
+ TBF[0] class 10 reserves ...DDCD.
+ TBF[1] class 10 reserves .....DCD
+ TBF[2] class 10 reserves ...DCD..
+ TBF[3] class 10 reserves .....DCD
+ TBF[4] class 10 reserves ...DCD..
+ TBF[5] class 10 reserves .....DCD
+ TBF[6] class 10 reserves ...DCD..
+ TBF[7] class 10 reserves .....DCD
+ TBF[8] class 10 reserves ...DCD..
+ TBF[9] class 10 reserves .....DCD
+ TBF[10] class 10 reserves ...DCD..
+ TBF[11] class 10 reserves .....DCD
+ TBF[12] class 10 reserves ...DCD..
+ TBF[13] class 10 reserves .....DCD
+ TBF[14] class 10 reserves ...DCD..
+ TBF[15] class 10 reserves .....DCD
+ TBF[16] class 10 reserves ...DCD..
+ TBF[17] class 10 reserves .....DCD
+ TBF[18] class 10 reserves ...DCD..
+ TBF[19] class 10 reserves .....DCD
+ TBF[20] class 10 reserves ...DCD..
+ TBF[21] class 10 reserves .....DCD
+ TBF[22] class 10 reserves ...CD...
+ TBF[23] class 10 reserves .....DCD
+ TBF[24] class 10 reserves ...CD...
+ TBF[25] class 10 reserves ...CD...
+ TBF[26] class 10 reserves .....DCD
+ TBF[27] class 10 reserves ...CD...
+ TBF[28] class 10 reserves ....DCD.
+ TBF[29] class 10 reserves .....DCD
+ TBF[30] class 10 reserves ...CD...
+ TBF[31] class 10 reserves ...CD...
+ TBF[1] class 10 reserves ...C....
+ TBF[3] class 10 reserves ...C....
+ TBF[5] class 10 reserves ...C....
+ TBF[0] class 10 reserves .......C
+ TBF[7] class 10 reserves ...C....
+ TBF[2] class 10 reserves .......C
+ TBF[9] class 10 reserves ...C....
+ TBF[2] class 10 reserves ......C.
+ TBF[4] class 10 reserves .......C
+ TBF[11] class 10 reserves ...C....
+ TBF[4] class 10 reserves ......C.
+ TBF[1] class 10 reserves ....C...
+ TBF[6] class 10 reserves .......C
+ TBF[13] class 10 reserves ...C....
+ TBF[6] class 10 reserves ......C.
+ TBF[3] class 10 reserves ....C...
+ TBF[8] class 10 reserves .......C
+ TBF[15] class 10 reserves ...C....
+ TBF[8] class 10 reserves ......C.
+ TBF[5] class 10 reserves ....C...
+ TBF[22] class 10 reserves .....C..
+ TBF[10] class 10 reserves .......C
+ TBF[17] class 10 reserves ...C....
+ TBF[10] class 10 reserves ......C.
+ TBF[7] class 10 reserves ....C...
+ TBF[24] class 10 reserves .....C..
+ TBF[12] class 10 reserves .......C
+ TBF[19] class 10 reserves ...C....
+ TBF[12] class 10 reserves ......C.
+ TBF[9] class 10 reserves ....C...
+ TBF[25] class 10 reserves .....C..
+ TBF[14] class 10 reserves .......C
+ TBF[21] class 10 reserves ...C....
+ TBF[14] class 10 reserves ......C.
+ TBF[11] class 10 reserves ....C...
+ TBF[27] class 10 reserves .....C..
+ TBF[16] class 10 reserves .......C
+ TBF[23] class 10 reserves ...C....
+ TBF[16] class 10 reserves ......C.
+ TBF[13] class 10 reserves ....C...
+ TBF[30] class 10 reserves .....C..
+ TBF[18] class 10 reserves .......C
+ TBF[26] class 10 reserves ...C....
+ TBF[18] class 10 reserves ......C.
+ TBF[15] class 10 reserves ....C...
+ TBF[31] class 10 reserves .....C..
+ TBF[20] class 10 reserves .......C
+ TBF[28] class 10 reserves ...C....
+ TBF[20] class 10 reserves ......C.
+ TBF[17] class 10 reserves ....C...
+ TBF[22] class 10 reserves .......C
+ TBF[29] class 10 reserves ...C....
+ TBF[22] class 10 reserves ......C.
+ TBF[19] class 10 reserves ....C...
+ TBF[24] class 10 reserves .......C
+ TBF[24] class 10 reserves ......C.
+ TBF[21] class 10 reserves ....C...
+ TBF[25] class 10 reserves .......C
+ TBF[25] class 10 reserves ......C.
+ TBF[23] class 10 reserves ....C...
+ TBF[27] class 10 reserves .......C
+ TBF[27] class 10 reserves ......C.
+ TBF[26] class 10 reserves ....C...
+ TBF[28] class 10 reserves .......C
+ TBF[30] class 10 reserves ......C.
+ TBF[29] class 10 reserves ....C...
+ TBF[30] class 10 reserves .......C
+ TBF[31] class 10 reserves ......C.
+ TBF[31] class 10 reserves .......C
+  Successfully allocated 101 UL TBFs
 Going to test assignment with many connections, algorithm A
  TBF[0] class 1 reserves ...C....
  TBF[0] class 2 reserves ....C...
@@ -10005,3 +10318,312 @@
  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[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 4 reserves .....C..
+ TBF[1] class 5 reserves ...C....
+ TBF[2] class 6 reserves ...C....
+ TBF[4] class 7 reserves ...C....
+ TBF[2] class 8 reserves .....C..
+ TBF[0] class 9 reserves ....C...
+ TBF[2] class 10 reserves ....C...
+ TBF[4] class 11 reserves ....C...
+ TBF[0] class 12 reserves ......C.
+ TBF[4] class 13 reserves .....C..
+ TBF[6] class 14 reserves ....C...
+ TBF[6] class 15 reserves ...C....
+ TBF[7] class 16 reserves ...C....
+ TBF[9] class 17 reserves ...C....
+ TBF[11] class 18 reserves ...C....
+ TBF[1] class 19 reserves ......C.
+ TBF[3] class 20 reserves ......C.
+ TBF[5] class 21 reserves ......C.
+ TBF[8] class 22 reserves ......C.
+ TBF[9] class 23 reserves ....C...
+ TBF[10] class 24 reserves ......C.
+ TBF[11] class 25 reserves ....C...
+ TBF[12] class 26 reserves ......C.
+ TBF[18] class 27 reserves ....C...
+ TBF[19] class 28 reserves ......C.
+ TBF[20] class 29 reserves ....C...
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 2 reserves .......C
+ TBF[3] class 3 reserves .......C
+ TBF[5] class 4 reserves .....C..
+ TBF[21] class 5 reserves ......C.
+ TBF[23] class 6 reserves ......C.
+ TBF[22] class 7 reserves ....C...
+ TBF[29] class 8 reserves .....C..
+ TBF[24] class 9 reserves ....C...
+ TBF[26] class 10 reserves ....C...
+ TBF[28] class 11 reserves ....C...
+ TBF[25] class 12 reserves ......C.
+ TBF[30] class 13 reserves .....C..
+ TBF[29] class 14 reserves ....C...
+ TBF[13] class 15 reserves ...C....
+ TBF[18] class 16 reserves ...C....
+ TBF[20] class 17 reserves ...C....
+ TBF[22] class 18 reserves ...C....
+ TBF[27] class 19 reserves ......C.
+ TBF[29] class 20 reserves ......C.
+ 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 .....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[14] class 15 reserves ...CDDDD
+ TBF[15] class 16 reserves ...CDDDD
+ TBF[16] class 17 reserves ...CDDDD
+ TBF[17] class 18 reserves ...CDDDD
+ 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[18] class 25 reserves ......C.
+ TBF[13] class 26 reserves ....C...
+ TBF[20] class 27 reserves ......C.
+ TBF[19] class 28 reserves ....C...
+ TBF[22] class 29 reserves ......C.
+ TBF[4] class 1 reserves .......C
+ TBF[5] class 2 reserves .......C
+ 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[4] class 7 reserves ...C....
+ TBF[2] class 8 reserves .....C..
+ TBF[0] class 9 reserves ....C...
+ TBF[2] class 10 reserves ....C...
+ TBF[4] class 11 reserves ....C...
+ TBF[0] class 12 reserves ......C.
+ TBF[4] class 13 reserves .....C..
+ TBF[6] class 14 reserves ....C...
+ TBF[6] class 15 reserves ...C....
+ TBF[7] class 16 reserves ...C....
+ TBF[8] class 17 reserves ...C....
+ TBF[9] class 18 reserves ...C....
+ TBF[1] class 19 reserves ......C.
+ TBF[3] class 20 reserves ......C.
+ TBF[5] class 21 reserves ......C.
+ TBF[8] class 22 reserves ......C.
+ TBF[9] class 23 reserves ....C...
+ TBF[10] class 24 reserves ......C.
+ TBF[11] class 25 reserves ....C...
+ TBF[12] class 26 reserves ......C.
+ TBF[18] class 27 reserves ....C...
+ TBF[19] class 28 reserves ......C.
+ TBF[20] class 29 reserves ....C...
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 2 reserves .......C
+ TBF[3] class 3 reserves .......C
+ TBF[5] class 4 reserves .....C..
+ TBF[21] class 5 reserves ......C.
+ TBF[23] class 6 reserves ......C.
+ TBF[21] class 7 reserves ....C...
+ TBF[6] class 8 reserves .....C..
+ TBF[24] class 9 reserves ....C...
+ TBF[26] class 10 reserves ....C...
+ TBF[28] class 11 reserves ....C...
+ TBF[25] class 12 reserves ......C.
+ TBF[30] class 13 reserves .....C..
+ TBF[22] class 14 reserves ....C...
+ TBF[10] class 15 reserves ...C....
+ TBF[11] class 16 reserves ...C....
+ TBF[12] class 17 reserves ...C....
+ TBF[13] class 18 reserves ...C....
+ TBF[27] class 19 reserves ......C.
+ TBF[29] class 20 reserves ......C.
+ TBF[24] class 21 reserves ......C.
+ TBF[26] class 22 reserves ......C.
+ TBF[28] class 23 reserves ......C.
+ TBF[23] class 24 reserves ....C...
+ TBF[30] class 25 reserves ......C.
+ TBF[25] class 26 reserves ....C...
+ TBF[6] class 1 reserves .......C
+ TBF[1] class 2 reserves .....C..
+ TBF[2] class 3 reserves .......C
+ TBF[7] class 4 reserves .....C..
+ TBF[7] class 5 reserves .......C
+ TBF[8] class 6 reserves .....C..
+ TBF[3] class 7 reserves .....C..
+ TBF[8] class 8 reserves .......C
+ TBF[9] class 9 reserves .....C..
+ TBF[9] class 10 reserves .......C
+ TBF[10] class 11 reserves .....C..
+ TBF[10] class 12 reserves .......C
+ TBF[11] class 13 reserves .....C..
+ TBF[11] class 14 reserves .......C
+ 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[0] class 19 reserves ...C....
+ TBF[3] class 20 reserves ...C....
+ TBF[5] class 21 reserves ...C....
+ TBF[12] class 22 reserves .....C..
+ TBF[12] class 23 reserves .......C
+ TBF[18] class 24 reserves ...C....
+ TBF[13] class 25 reserves .....C..
+ TBF[13] class 26 reserves .......C
+ TBF[19] class 27 reserves ...C....
+ TBF[1] class 28 reserves ....C...
+ TBF[18] class 29 reserves .....C..
+ TBF[4] class 1 reserves .......C
+ TBF[5] class 2 reserves .......C
+ 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[4] class 7 reserves ...C....
+ TBF[2] class 8 reserves .....C..
+ TBF[0] class 9 reserves ....C...
+ TBF[2] class 10 reserves ....C...
+ TBF[3] class 11 reserves ....C...
+ TBF[18] class 12 reserves .......C
+ TBF[4] class 13 reserves .....C..
+ TBF[4] class 14 reserves ....C...
+ TBF[6] class 15 reserves ...C....
+ TBF[7] class 16 reserves ...C....
+ TBF[8] class 17 reserves ...C....
+ TBF[9] class 18 reserves ...C....
+ TBF[0] class 19 reserves ......C.
+ TBF[1] class 20 reserves ......C.
+ TBF[2] class 21 reserves ......C.
+ TBF[3] class 22 reserves ......C.
+ TBF[5] class 23 reserves ....C...
+ TBF[4] class 24 reserves ......C.
+ TBF[6] class 25 reserves ....C...
+ TBF[5] class 26 reserves ......C.
+ TBF[7] class 27 reserves ....C...
+ TBF[6] class 28 reserves ......C.
+ TBF[20] class 29 reserves ...DCD..
+ TBF[0] class 1 reserves .......C
+ TBF[1] class 2 reserves .......C
+ TBF[3] class 3 reserves .......C
+ TBF[8] class 4 reserves ....C...
+ TBF[7] class 5 reserves ......C.
+ TBF[8] class 6 reserves ......C.
+ TBF[21] class 7 reserves ....CD..
+ TBF[5] class 8 reserves .....C..
+ TBF[9] class 9 reserves ....C...
+ TBF[10] class 10 reserves ....C...
+ TBF[11] class 11 reserves ....C...
+ TBF[9] class 12 reserves ......C.
+ TBF[6] class 13 reserves .....C..
+ TBF[22] class 14 reserves ....CDDD
+ TBF[10] class 15 reserves ...C....
+ TBF[11] class 16 reserves ...C....
+ TBF[12] class 17 reserves ...C....
+ TBF[13] class 18 reserves ...C....
+ TBF[27] class 19 reserves ....DDCD
+ TBF[29] class 20 reserves .....DCD
+ TBF[24] class 21 reserves ....DCD.
+ TBF[26] class 22 reserves .....DCD
+ TBF[28] class 23 reserves ....DCD.
+ TBF[23] class 24 reserves ...DCD..
+ TBF[30] class 25 reserves .....DCD
+ TBF[25] class 26 reserves ...CD...
+ TBF[10] class 27 reserves ......C.
+ TBF[21] class 28 reserves ...C....
+ TBF[12] class 29 reserves ....C...
+ TBF[11] class 1 reserves ......C.
+ TBF[22] class 2 reserves ...C....
+ TBF[13] class 3 reserves ....C...
+ TBF[12] class 4 reserves ......C.
+ TBF[24] class 5 reserves ...C....
+ TBF[18] class 6 reserves ....C...
+ TBF[13] class 7 reserves ......C.
+ TBF[19] class 8 reserves .......C
+ TBF[26] class 9 reserves ...C....
+ TBF[19] class 10 reserves ....C...
+ TBF[18] class 11 reserves ......C.
+ TBF[20] class 12 reserves .......C
+ TBF[27] class 13 reserves ...C....
+ TBF[26] class 14 reserves ....C...
+ TBF[19] class 15 reserves ......C.
+ TBF[21] class 16 reserves .......C
+ TBF[28] class 17 reserves ...C....
+ TBF[19] class 18 reserves .....C..
+ TBF[29] class 19 reserves ....C...
+ TBF[20] class 20 reserves ......C.
+ TBF[23] class 21 reserves .......C
+ TBF[29] class 22 reserves ...C....
+ TBF[25] class 23 reserves .....C..
+ TBF[30] class 24 reserves ....C...
+ TBF[21] class 25 reserves ......C.
+ TBF[24] class 26 reserves .......C
+ TBF[30] class 27 reserves ...C....
+ TBF[31] class 28 reserves .....C..
+ TBF[31] class 29 reserves ....C...
+ TBF[23] class 1 reserves ......C.
+ TBF[25] class 2 reserves .......C
+ TBF[31] class 3 reserves ...C....
+ TBF[25] class 4 reserves ......C.
+ TBF[28] class 5 reserves .......C
+  Successfully allocated 121 TBFs