Change in osmo-pcu[master]: tbf_dl: Don't fake EGPRS MS class when no related info is available

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

laforge gerrit-no-reply at lists.osmocom.org
Mon Nov 9 11:21:31 UTC 2020


laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/20936 )

Change subject: tbf_dl: Don't fake EGPRS MS class when no related info is available
......................................................................

tbf_dl: Don't fake EGPRS MS class when no related info is available

For instance if PCU received DL data to be sent to an MS from an SGSN,
and the MS is not currently cached in the PCU (because there's no TBF
active for it), it will page it and transmit the DL data to it.
The SGSN is capable of sending (EGPRS) MS Class information in that same
DL data message, so it's the one responsible for providing that
information if not available at the PCU.
In the PCU if we don't have information about that MS and SGSN didn't
provide us information about it, we cannot assume the MS is going to be
EGPRS capable and even less expecting a specific EGPRS MS class.
So let's drop this code.

Related: OS#4544
Change-Id: Icce66cadb51af25ae0c3b3719940eccb548fe33b
---
M src/tbf_dl.cpp
M tests/tbf/TbfTest.cpp
M tests/tbf/TbfTest.err
3 files changed, 22 insertions(+), 13 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved



diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index c25f2af..4b184b8 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -129,15 +129,6 @@
 
 	OSMO_ASSERT(ms != NULL);
 
-	if (ms->egprs_ms_class() == 0 && bts->egprs_enabled) {
-		if (ms->ms_class() > 0) {
-			LOGP(DTBF, LOGL_NOTICE, "Not accepting non-EGPRS phone in EGPRS-only mode\n");
-			bts->bts->do_rate_ctr_inc(CTR_TBF_FAILED_EGPRS_ONLY);
-			return NULL;
-		}
-		ms->set_egprs_ms_class(1);
-	}
-
 	LOGP(DTBF, LOGL_DEBUG, "********** DL-TBF starts here **********\n");
 	LOGP(DTBF, LOGL_INFO, "Allocating DL TBF: MS_CLASS=%d/%d\n",
 	     ms->ms_class(), ms->egprs_ms_class());
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index 67ba74b..40b7b9c 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -2185,7 +2185,7 @@
 	rc = gprs_rlcmac_dl_tbf::handle(bts, tlli, 0, imsi, ms_class, 0,
 		delay_csec, buf, sizeof(buf));
 
-	OSMO_ASSERT(rc == -EBUSY);
+	OSMO_ASSERT(rc == 0);
 	fprintf(stderr, "=== end %s ===\n", __func__);
 
 	gprs_bssgp_destroy(bts);
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index 32f7aab..095aed6 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -2997,10 +2997,28 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
 Modifying MS object, TLLI = 0x00000000, IMSI '' -> '001001123456789'
 The MS object cannot fully confirm an unexpected TLLI: 0xc0006789, partly confirmed
-Not accepting non-EGPRS phone in EGPRS-only mode
-No PDCH resource
+********** DL-TBF starts here **********
+Allocating DL TBF: MS_CLASS=45/0
+[DL] algo A <single> (suggested TRX: -1): Alloc start
+- Skipping TS 0, because not enabled
+- Skipping TS 1, because not enabled
+- Skipping TS 2, because not enabled
+- Skipping TS 3, because not enabled
+- Skipping TS 5, because not enabled
+- Skipping TS 6, because not enabled
+- Skipping TS 7, because not enabled
+[DL] Assign downlink TS=4 TFI=0
+PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
+TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Setting Control TS 4
+TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10
+Attaching TBF to MS object, TLLI = 0xc0006789, TBF = TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL)
+TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) [DOWNLINK] START
+TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001123456789)
+TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
+TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH)
+ - TRX=0 (0) TS=4 TA=220 pollFN=-1
+TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=ASSIGN) appending 256 bytes
 === end test_tbf_gprs_egprs ===
-Destroying MS object, TLLI = 0xc0006789
 === start test_tbf_ws ===
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 12

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/20936
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: Icce66cadb51af25ae0c3b3719940eccb548fe33b
Gerrit-Change-Number: 20936
Gerrit-PatchSet: 6
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201109/d8769923/attachment.htm>


More information about the gerrit-log mailing list