Change in osmo-pcu[master]: tbf_dl: Update (egprs_)ms_class for already known MS

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

pespin gerrit-no-reply at lists.osmocom.org
Wed Oct 28 20:24:01 UTC 2020


pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/20945 )


Change subject: tbf_dl: Update (egprs_)ms_class for already known MS
......................................................................

tbf_dl: Update (egprs_)ms_class for already known MS

If SGSN provides us with MS class information upon DL data, let's use it
and set it in an already existing MS object if not yet known.

Change-Id: I4979c9344bffd3ba7657bbab94981d233eab801f
---
M src/tbf_dl.cpp
1 file changed, 9 insertions(+), 11 deletions(-)



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

diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index 7d1f85c..d0a93f4 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -308,15 +308,6 @@
 
 	/* check for existing TBF */
 	ms = bts->bts->ms_store().get_ms(tlli, tlli_old, imsi);
-	if (ms) {
-		dl_tbf = ms->dl_tbf();
-
-		/* If we known the GPRS/EGPRS MS class, use it */
-		if (ms->ms_class() || ms->egprs_ms_class()) {
-			ms_class = ms->ms_class();
-			egprs_ms_class = ms->egprs_ms_class();
-		}
-	}
 
 	if (ms && strlen(ms->imsi()) == 0) {
 		ms_old = bts->bts->ms_store().get_ms(0, 0, imsi);
@@ -329,7 +320,7 @@
 
 			GprsMs::Guard guard_old(ms_old);
 
-			if (!dl_tbf && ms_old->dl_tbf()) {
+			if (!ms->dl_tbf() && ms_old->dl_tbf()) {
 				LOGP(DTBF, LOGL_NOTICE,
 				     "IMSI %s, old TBF %s: moving DL TBF to new MS object\n",
 				     imsi, ms_old->dl_tbf()->name());
@@ -345,7 +336,14 @@
 		ms = bts->bts->ms_alloc(ms_class, egprs_ms_class);
 	ms->set_imsi(imsi);
 	ms->confirm_tlli(tlli);
+	if (!ms->ms_class() && ms_class) {
+		ms->set_ms_class(ms_class);
+	}
+	if (!ms->egprs_ms_class() && egprs_ms_class) {
+		ms->set_egprs_ms_class(egprs_ms_class);
+	}
 
+	dl_tbf = ms->dl_tbf();
 	if (!dl_tbf) {
 		rc = tbf_new_dl_assignment(bts, ms, &dl_tbf);
 		if (rc < 0)
@@ -353,7 +351,7 @@
 	}
 
 	/* TODO: ms_class vs. egprs_ms_class is not handled here */
-	rc = dl_tbf->append_data(ms_class, delay_csec, data, len);
+	rc = dl_tbf->append_data(ms->ms_class(), delay_csec, data, len);
 
 	return rc;
 }

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

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I4979c9344bffd3ba7657bbab94981d233eab801f
Gerrit-Change-Number: 20945
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201028/a46122f8/attachment.htm>


More information about the gerrit-log mailing list