[PATCH] osmo-pcu[master]: TS alloc: enable debugging instrumentation

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/.

Max gerrit-no-reply at lists.osmocom.org
Tue Sep 12 12:32:05 UTC 2017


Review at  https://gerrit.osmocom.org/3913

TS alloc: enable debugging instrumentation

Previously extra debugging was disabled by preprocessor directives which
means allocation tests were run without it. Enable it explicitly via
boolean parameter which can be set from tests but keep it unset in main
code to avoid interference with production setup.

Change-Id: I731726a096bba7ee97499e5cbe3e7401869d7392
Related: OS#2282
---
M src/bts.cpp
M src/gprs_rlcmac_ts_alloc.cpp
M src/tbf.cpp
M src/tbf.h
M src/tbf_dl.cpp
M tests/alloc/AllocTest.cpp
M tests/tbf/TbfTest.cpp
7 files changed, 84 insertions(+), 89 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/13/3913/1

diff --git a/src/bts.cpp b/src/bts.cpp
index 0046238..68c23ff 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -651,11 +651,11 @@
 		/* FIXME: Copy and paste with other routines.. */
 
 		if (is_11bit) {
-			tbf = tbf_alloc_ul_tbf(&m_bts, NULL, -1, 0, ms_class, true);
+			tbf = tbf_alloc_ul_tbf(&m_bts, NULL, -1, 0, ms_class, true, false);
 		} else {
 			/* set class to 0, since we don't know the multislot
 			 * class yet */
-			tbf = tbf_alloc_ul_tbf(&m_bts, NULL, -1, 0, 0, true);
+			tbf = tbf_alloc_ul_tbf(&m_bts, NULL, -1, 0, 0, true, false);
 		}
 
 		if (!tbf) {
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index b79c6dd..c050030 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -505,9 +505,11 @@
  *  \param[in] ms Pointer to MS object
  *  \param[in,out] ul_slots set of UL timeslots
  *  \param[in,out] dl_slots set of DL timeslots
+ *  \param[in] enable_debug Flag to enable excessive logging not suitable for production run but necessary for tests
  *  \returns negative error code or 0 on success
  */
-static int find_multi_slots(const struct gprs_rlcmac_trx *trx, const GprsMs *ms, uint8_t *ul_slots, uint8_t *dl_slots)
+static int find_multi_slots(const struct gprs_rlcmac_trx *trx, const GprsMs *ms, uint8_t *ul_slots, uint8_t *dl_slots,
+			    bool enable_debug)
 {
 	const struct gprs_ms_multislot_class *ms_class;
 	uint8_t Tx, Sum;	/* Maximum Number of Slots: RX, Tx, Sum Rx+Tx */
@@ -671,14 +673,13 @@
 		rx_window = rx_good & rx_valid_win;
 		rx_slot_count = pcu_bitcount(rx_window);
 
-#if 0
-		LOGP(DRLCMAC, LOGL_DEBUG, "n_tx=%d, n_rx=%d, mask_sel=%d, "
-			"tx=%02x, rx=%02x, mask=%02x, bad=%02x, good=%02x, "
-			"ul=%02x, dl=%02x\n",
-			tx_slot_count, rx_slot_count, mask_sel,
-			tx_window, rx_window, rx_mask[mask_sel], rx_bad, rx_good,
-			*ul_slots, *dl_slots);
-#endif
+		if (enable_debug)
+			LOGP(DRLCMAC, LOGL_DEBUG,
+			     "n_tx=%d, n_rx=%d, mask_sel=%d, tx=%02x, rx=%02x, mask=%02x, bad=%02x, good=%02x, ul=%02x,"
+			     " dl=%02x\n",
+			     tx_slot_count, rx_slot_count, mask_sel,
+			     tx_window, rx_window, rx_mask[mask_sel], rx_bad, rx_good,
+			     *ul_slots, *dl_slots);
 
 		/* Check compliance with TS 45.002, table 6.4.2.2.1 */
 		/* Whether to skip this round doesn not only depend on the bit
@@ -700,16 +701,15 @@
 					continue;
 			} else {
 				/* No supported row in table 6.4.2.2.1. */
-#ifdef ENABLE_TS_ALLOC_DEBUG
-				LOGP(DRLCMAC, LOGL_DEBUG,
-					"- Skipping DL/UL slots: (TS=0)\"%s\"(TS=7), "
-					"combination not supported\n",
-					set_flag_chars(set_flag_chars(set_flag_chars(
-								slot_info,
-								rx_bad, 'x', '.'),
-							rx_window, 'D'),
-						tx_window, 'U'));
-#endif
+				if (enable_debug)
+					LOGP(DRLCMAC, LOGL_DEBUG,
+					     "- Skipping DL/UL slots: (TS=0)\"%s\"(TS=7), combination not supported\n",
+					     set_flag_chars(set_flag_chars(set_flag_chars(
+										   slot_info,
+										   rx_bad, 'x', '.'),
+									   rx_window, 'D'),
+							    tx_window, 'U'));
+
 				continue;
 			}
 		}
@@ -719,14 +719,13 @@
 			continue;
 
 		if (!rx_good) {
-#ifdef ENABLE_TS_ALLOC_DEBUG
-			LOGP(DRLCMAC, LOGL_DEBUG,
-				"- Skipping DL/UL slots: (TS=0)\"%s\"(TS=7), "
-				"no DL slots available\n",
-				set_flag_chars(set_flag_chars(slot_info,
-						rx_bad, 'x', '.'),
-						tx_window, 'U'));
-#endif
+			if (enable_debug)
+				LOGP(DRLCMAC, LOGL_DEBUG,
+				     "- Skipping DL/UL slots: (TS=0)\"%s\"(TS=7), no DL slots available\n",
+				     set_flag_chars(set_flag_chars(slot_info,
+								   rx_bad, 'x', '.'),
+						    tx_window, 'U'));
+
 			continue;
 		}
 
@@ -740,18 +739,18 @@
 			req_common_slots = OSMO_MIN(req_common_slots, 2);
 
 		if (req_common_slots != common_slot_count) {
-#ifdef ENABLE_TS_ALLOC_DEBUG
-			LOGP(DRLCMAC, LOGL_DEBUG,
-				"- Skipping DL/UL slots: (TS=0)\"%s\"(TS=7), "
-				"invalid number of common TS: %d (expected %d)\n",
-				set_flag_chars(set_flag_chars(set_flag_chars(
-							slot_info,
-							rx_bad, 'x', '.'),
-						rx_window, 'D'),
-					tx_window, 'U'),
-				common_slot_count,
-				req_common_slots);
-#endif
+			if (enable_debug)
+				LOGP(DRLCMAC, LOGL_DEBUG,
+				     "- Skipping DL/UL slots: (TS=0)\"%s\"(TS=7), invalid number of common TS: %d "
+				     "(expected %d)\n",
+				     set_flag_chars(set_flag_chars(set_flag_chars(
+									   slot_info,
+									   rx_bad, 'x', '.'),
+								   rx_window, 'D'),
+						    tx_window, 'U'),
+				     common_slot_count,
+				     req_common_slots);
+
 			continue;
 		}
 
@@ -776,18 +775,16 @@
 			}
 		}
 
-#ifdef ENABLE_TS_ALLOC_DEBUG
-		LOGP(DRLCMAC, LOGL_DEBUG,
-			"- Considering DL/UL slots: (TS=0)\"%s\"(TS=7), "
-			"capacity = %d\n",
-			set_flag_chars(set_flag_chars(set_flag_chars(set_flag_chars(
-					slot_info,
-					rx_bad, 'x', '.'),
-					rx_window, 'D'),
-					tx_window, 'U'),
-					rx_window & tx_window, 'C'),
-			capacity);
-#endif
+		if (enable_debug)
+			LOGP(DRLCMAC, LOGL_DEBUG,
+			     "- Considering DL/UL slots: (TS=0)\"%s\"(TS=7), capacity = %d\n",
+			     set_flag_chars(set_flag_chars(set_flag_chars(set_flag_chars(
+										  slot_info,
+										  rx_bad, 'x', '.'),
+									  rx_window, 'D'),
+							   tx_window, 'U'),
+					    rx_window & tx_window, 'C'),
+			     capacity);
 
 		if (capacity <= max_capacity)
 			continue;
@@ -1024,7 +1021,7 @@
 		trx = &bts->trx[trx_no];
 
 	if (!dl_slots || !ul_slots) {
-		rc = find_multi_slots(trx, ms, &ul_slots, &dl_slots);
+		rc = find_multi_slots(trx, ms, &ul_slots, &dl_slots, enable_debug);
 		if (rc < 0)
 			return rc;
 	}
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 0102c10..71a2062 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -385,7 +385,7 @@
 /* FIXME: Copy and paste with tbf_new_dl_assignment */
 	/* create new TBF, use same TRX as DL TBF */
 	/* use multislot class of downlink TBF */
-	tbf = tbf_alloc_ul_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, false);
+	tbf = tbf_alloc_ul_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, false, false);
 	if (!tbf) {
 		LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource\n");
 		/* FIXME: send reject */
@@ -752,7 +752,7 @@
 }
 
 static int setup_tbf(struct gprs_rlcmac_tbf *tbf, GprsMs *ms, int8_t use_trx, uint8_t ms_class, uint8_t egprs_ms_class,
-		     bool single_slot)
+		     bool single_slot, bool enable_debug)
 {
 	int rc;
 	struct gprs_rlcmac_bts *bts;
@@ -828,7 +828,7 @@
 }
 
 struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class,
-					    uint8_t egprs_ms_class, bool single_slot)
+					    uint8_t egprs_ms_class, bool single_slot, bool enable_debug)
 {
 	struct gprs_rlcmac_ul_tbf *tbf;
 	int rc;
@@ -863,7 +863,7 @@
 			tbf->name(), GprsCodingScheme::modeName(ms->mode()));
 	}
 
-	rc = setup_tbf(tbf, ms, use_trx, ms_class, egprs_ms_class, single_slot);
+	rc = setup_tbf(tbf, ms, use_trx, ms_class, egprs_ms_class, single_slot, enable_debug);
 
 	if (tbf->is_egprs_enabled())
 		tbf->egprs_calc_ulwindow_size();
@@ -918,7 +918,7 @@
 }
 
 struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class,
-					    uint8_t egprs_ms_class, bool single_slot)
+					    uint8_t egprs_ms_class, bool single_slot, bool enable_debug)
 {
 	struct gprs_rlcmac_dl_tbf *tbf;
 	int rc;
@@ -956,7 +956,7 @@
 			tbf->name(), GprsCodingScheme::modeName(ms->mode()));
 	}
 
-	rc = setup_tbf(tbf, ms, use_trx, ms_class, 0, single_slot);
+	rc = setup_tbf(tbf, ms, use_trx, ms_class, 0, single_slot, enable_debug);
 	/* if no resource */
 	if (rc < 0) {
 		talloc_free(tbf);
@@ -1310,7 +1310,7 @@
 	bts->tbf_reused();
 
 	new_tbf = tbf_alloc_dl_tbf(bts->bts_data(), ms(), this->trx->trx_no, ms_class(),
-				   ms() ?  ms()->egprs_ms_class() : 0, false);
+				   ms() ?  ms()->egprs_ms_class() : 0, false, false);
 
 	if (!new_tbf) {
 		LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource\n");
diff --git a/src/tbf.h b/src/tbf.h
index 8f92149..4aed91f 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -315,10 +315,10 @@
 	uint32_t tlli, uint8_t ta, GprsMs *ms);
 
 struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class,
-					    uint8_t egprs_ms_class, bool single_slot);
+					    uint8_t egprs_ms_class, bool single_slot, bool enable_debug);
 
 struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class,
-					    uint8_t egprs_ms_class, bool single_slot);
+					    uint8_t egprs_ms_class, bool single_slot, bool enable_debug);
 
 void tbf_free(struct gprs_rlcmac_tbf *tbf);
 
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index cbde283..0fca852 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -147,7 +147,7 @@
 	// Create new TBF (any TRX)
 /* FIXME: Copy and paste with alloc_ul_tbf */
 	/* set number of downlink slots according to multislot class */
-	dl_tbf = tbf_alloc_dl_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, ss);
+	dl_tbf = tbf_alloc_dl_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, ss, false);
 
 	if (!dl_tbf) {
 		LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource\n");
diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp
index 485e514..c614d48 100644
--- a/tests/alloc/AllocTest.cpp
+++ b/tests/alloc/AllocTest.cpp
@@ -42,11 +42,9 @@
 		uint8_t ms_class, uint8_t egprs_ms_class, bool single_slot)
 {
 	if (dir == GPRS_RLCMAC_UL_TBF)
-		return tbf_alloc_ul_tbf(bts, ms, use_trx,
-			ms_class, egprs_ms_class, single_slot);
-	else
-		return tbf_alloc_dl_tbf(bts, ms, use_trx,
-			ms_class, egprs_ms_class, single_slot);
+		return tbf_alloc_ul_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, single_slot, true);
+
+	return tbf_alloc_dl_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, single_slot, true);
 }
 
 static void check_tfi_usage(BTS *the_bts)
@@ -202,7 +200,7 @@
 		trx->pdch[6].enable();
 		trx->pdch[7].enable();
 
-		ul_tbf = tbf_alloc_ul_tbf(bts, NULL, -1, ms_class, 0, true);
+		ul_tbf = tbf_alloc_ul_tbf(bts, NULL, -1, ms_class, 0, true, true);
 		OSMO_ASSERT(ul_tbf);
 		OSMO_ASSERT(ul_tbf->ms());
 		OSMO_ASSERT(ul_tbf->ms()->current_trx());
@@ -210,7 +208,7 @@
 		dump_assignment(ul_tbf, "UL");
 
 		/* assume final ack has not been sent */
-		dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), trx_no, ms_class, 0, false);
+		dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), trx_no, ms_class, 0, false, true);
 		OSMO_ASSERT(dl_tbf);
 		dump_assignment(dl_tbf, "DL");
 
@@ -244,7 +242,7 @@
 		trx->pdch[6].enable();
 		trx->pdch[7].enable();
 
-		dl_tbf = tbf_alloc_dl_tbf(bts, NULL, -1, ms_class, 0, true);
+		dl_tbf = tbf_alloc_dl_tbf(bts, NULL, -1, ms_class, 0, true, true);
 		dl_tbf->update_ms(0x23, GPRS_RLCMAC_DL_TBF);
 		OSMO_ASSERT(dl_tbf);
 		OSMO_ASSERT(dl_tbf->ms());
@@ -252,7 +250,7 @@
 		trx_no = dl_tbf->ms()->current_trx()->trx_no;
 		dump_assignment(dl_tbf, "DL");
 
-		ul_tbf = tbf_alloc_ul_tbf(bts, dl_tbf->ms(), trx_no, ms_class, 0, false);
+		ul_tbf = tbf_alloc_ul_tbf(bts, dl_tbf->ms(), trx_no, ms_class, 0, false, true);
 		ul_tbf->update_ms(0x23, GPRS_RLCMAC_UL_TBF);
 		ul_tbf->m_contention_resolution_done = 1;
 		OSMO_ASSERT(ul_tbf);
@@ -294,7 +292,7 @@
 
 		tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
 		OSMO_ASSERT(tfi >= 0);
-		ul_tbf = tbf_alloc_ul_tbf(bts, NULL, .1, ms_class, 0, false);
+		ul_tbf = tbf_alloc_ul_tbf(bts, NULL, .1, ms_class, 0, false, true);
 		OSMO_ASSERT(ul_tbf);
 		OSMO_ASSERT(ul_tbf->ms());
 		OSMO_ASSERT(ul_tbf->ms()->current_trx());
@@ -302,7 +300,7 @@
 		dump_assignment(ul_tbf, "UL");
 
 		/* assume final ack has not been sent */
-		dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), trx_no, ms_class, 0, false);
+		dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), trx_no, ms_class, 0, false, true);
 		OSMO_ASSERT(dl_tbf);
 		dump_assignment(dl_tbf, "DL");
 
@@ -357,14 +355,14 @@
 		ENABLE_PDCH(6, ts6, trx);
 		ENABLE_PDCH(7, ts7, trx);
 
-		ul_tbf = tbf_alloc_ul_tbf(bts, NULL, -1, ms_class, 0, true);
+		ul_tbf = tbf_alloc_ul_tbf(bts, NULL, -1, ms_class, 0, true, true);
 		OSMO_ASSERT(ul_tbf->ms());
 		OSMO_ASSERT(ul_tbf->ms()->current_trx());
 		trx_no = ul_tbf->ms()->current_trx()->trx_no;
 		OSMO_ASSERT(ul_tbf);
 
 		/* assume final ack has not been sent */
-		dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), trx_no, ms_class, 0, false);
+		dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), trx_no, ms_class, 0, false, true);
 		OSMO_ASSERT(dl_tbf);
 
 		/* verify that both are on the same ts */
@@ -401,14 +399,14 @@
 		ENABLE_PDCH(6, ts6, trx);
 		ENABLE_PDCH(7, ts7, trx);
 
-		dl_tbf = tbf_alloc_dl_tbf(bts, NULL, -1, ms_class, 0, true);
+		dl_tbf = tbf_alloc_dl_tbf(bts, NULL, -1, ms_class, 0, true, true);
 		OSMO_ASSERT(dl_tbf);
 		OSMO_ASSERT(dl_tbf->ms());
 		OSMO_ASSERT(dl_tbf->ms()->current_trx());
 		trx_no = dl_tbf->ms()->current_trx()->trx_no;
 		dl_tbf->update_ms(0x23, GPRS_RLCMAC_DL_TBF);
 
-		ul_tbf = tbf_alloc_ul_tbf(bts, dl_tbf->ms(), trx_no, ms_class, 0, false);
+		ul_tbf = tbf_alloc_ul_tbf(bts, dl_tbf->ms(), trx_no, ms_class, 0, false, true);
 		OSMO_ASSERT(ul_tbf);
 		ul_tbf->update_ms(0x23, GPRS_RLCMAC_UL_TBF);
 		ul_tbf->m_contention_resolution_done = 1;
@@ -495,7 +493,7 @@
 	case TEST_MODE_UL_AND_DL:
 		if (ms && ms->ul_tbf())
 			tbf_free(ms->ul_tbf());
-		tbf = tbf_alloc_ul_tbf(bts, ms, trx_no, ms_class, 0, false);
+		tbf = tbf_alloc_ul_tbf(bts, ms, trx_no, ms_class, 0, false, true);
 		if (tbf == NULL)
 			return NULL;
 		break;
@@ -504,7 +502,7 @@
 	case TEST_MODE_DL_AND_UL:
 		if (ms && ms->dl_tbf())
 			tbf_free(ms->dl_tbf());
-		tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, ms_class, 0, false);
+		tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, ms_class, 0, false, true);
 		if (tbf == NULL)
 			return NULL;
 	}
@@ -815,7 +813,7 @@
 	trx->pdch[6].enable();
 	trx->pdch[7].enable();
 
-	dl_tbf1 = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, egprs_ms_class, false);
+	dl_tbf1 = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, egprs_ms_class, false, true);
 	OSMO_ASSERT(dl_tbf1);
 
 	for (int i = 0; i < 8; i++) {
@@ -825,7 +823,7 @@
 	OSMO_ASSERT(numTs1 == 4);
 	printf("TBF1: numTs(%d)\n", numTs1);
 
-	dl_tbf2 = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, egprs_ms_class, false);
+	dl_tbf2 = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, egprs_ms_class, false, true);
 	OSMO_ASSERT(dl_tbf2);
 
 	for (int i = 0; i < 8; i++) {
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index 43a6142..4dac648 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -81,12 +81,12 @@
 	/*
 	 * Make a uplink and downlink allocation
 	 */
-	gprs_rlcmac_tbf *dl_tbf = tbf_alloc_dl_tbf(the_bts.bts_data(), NULL, 0, 0, 0, false);
+	gprs_rlcmac_tbf *dl_tbf = tbf_alloc_dl_tbf(the_bts.bts_data(), NULL, 0, 0, 0, false, true);
 	OSMO_ASSERT(dl_tbf != NULL);
 	dl_tbf->update_ms(0x2342, GPRS_RLCMAC_DL_TBF);
 	dl_tbf->set_ta(4);
 
-	gprs_rlcmac_tbf *ul_tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), dl_tbf->ms(), 0, 0, 0, false);
+	gprs_rlcmac_tbf *ul_tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), dl_tbf->ms(), 0, 0, 0, false, true);
 	OSMO_ASSERT(ul_tbf != NULL);
 	ul_tbf->update_ms(0x2342, GPRS_RLCMAC_UL_TBF);
 
@@ -166,7 +166,7 @@
 
 	tfi = the_bts->tfi_find_free(GPRS_RLCMAC_DL_TBF, &trx_no, -1);
 	OSMO_ASSERT(tfi >= 0);
-	dl_tbf = tbf_alloc_dl_tbf(bts, NULL, trx_no, ms_class, egprs_ms_class, true);
+	dl_tbf = tbf_alloc_dl_tbf(bts, NULL, trx_no, ms_class, egprs_ms_class, true, true);
 	dl_tbf->set_ta(0);
 	check_tbf(dl_tbf);
 
@@ -2205,7 +2205,7 @@
 		1234, 1234, 1234, 1, 1, 0, 0, 0);
 
 	/* Does no support EGPRS */
-	dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, 0, false);
+	dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, 0, false, true);
 	OSMO_ASSERT(dl_tbf != NULL);
 	fprintf(stderr, "DL TBF slots: 0x%02x, N: %d, WS: %d\n",
 		dl_tbf->dl_slots(),
@@ -2219,7 +2219,7 @@
 	bts->egprs_enabled = 1;
 
 	/* Does support EGPRS */
-	dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, ms_class, false);
+	dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, ms_class, false, true);
 
 	OSMO_ASSERT(dl_tbf != NULL);
 	fprintf(stderr, "DL TBF slots: 0x%02x, N: %d, WS: %d\n",
@@ -2263,7 +2263,7 @@
 	bts->egprs_enabled = 1;
 
 	/* Does support EGPRS */
-	dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, ms_class, true);
+	dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, ms_class, true, true);
 
 	OSMO_ASSERT(dl_tbf != NULL);
 	fprintf(stderr, "DL TBF slots: 0x%02x, N: %d, WS: %d\n",

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I731726a096bba7ee97499e5cbe3e7401869d7392
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>



More information about the gerrit-log mailing list