<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/20945">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">tbf_dl: Update (egprs_)ms_class for already known MS<br><br>If SGSN provides us with MS class information upon DL data, let's use it<br>and set it in an already existing MS object if not yet known.<br><br>Change-Id: I4979c9344bffd3ba7657bbab94981d233eab801f<br>---<br>M src/tbf_dl.cpp<br>1 file changed, 9 insertions(+), 11 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/45/20945/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp</span><br><span>index 7d1f85c..d0a93f4 100644</span><br><span>--- a/src/tbf_dl.cpp</span><br><span>+++ b/src/tbf_dl.cpp</span><br><span>@@ -308,15 +308,6 @@</span><br><span> </span><br><span>       /* check for existing TBF */</span><br><span>         ms = bts->bts->ms_store().get_ms(tlli, tlli_old, imsi);</span><br><span style="color: hsl(0, 100%, 40%);">-   if (ms) {</span><br><span style="color: hsl(0, 100%, 40%);">-               dl_tbf = ms->dl_tbf();</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-               /* If we known the GPRS/EGPRS MS class, use it */</span><br><span style="color: hsl(0, 100%, 40%);">-               if (ms->ms_class() || ms->egprs_ms_class()) {</span><br><span style="color: hsl(0, 100%, 40%);">-                     ms_class = ms->ms_class();</span><br><span style="color: hsl(0, 100%, 40%);">-                   egprs_ms_class = ms->egprs_ms_class();</span><br><span style="color: hsl(0, 100%, 40%);">-               }</span><br><span style="color: hsl(0, 100%, 40%);">-       }</span><br><span> </span><br><span>        if (ms && strlen(ms->imsi()) == 0) {</span><br><span>              ms_old = bts->bts->ms_store().get_ms(0, 0, imsi);</span><br><span>@@ -329,7 +320,7 @@</span><br><span> </span><br><span>                    GprsMs::Guard guard_old(ms_old);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-                    if (!dl_tbf && ms_old->dl_tbf()) {</span><br><span style="color: hsl(120, 100%, 40%);">+                 if (!ms->dl_tbf() && ms_old->dl_tbf()) {</span><br><span>                               LOGP(DTBF, LOGL_NOTICE,</span><br><span>                                   "IMSI %s, old TBF %s: moving DL TBF to new MS object\n",</span><br><span>                                   imsi, ms_old->dl_tbf()->name());</span><br><span>@@ -345,7 +336,14 @@</span><br><span>           ms = bts->bts->ms_alloc(ms_class, egprs_ms_class);</span><br><span>     ms->set_imsi(imsi);</span><br><span>       ms->confirm_tlli(tlli);</span><br><span style="color: hsl(120, 100%, 40%);">+    if (!ms->ms_class() && ms_class) {</span><br><span style="color: hsl(120, 100%, 40%);">+         ms->set_ms_class(ms_class);</span><br><span style="color: hsl(120, 100%, 40%);">+        }</span><br><span style="color: hsl(120, 100%, 40%);">+     if (!ms->egprs_ms_class() && egprs_ms_class) {</span><br><span style="color: hsl(120, 100%, 40%);">+             ms->set_egprs_ms_class(egprs_ms_class);</span><br><span style="color: hsl(120, 100%, 40%);">+    }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ dl_tbf = ms->dl_tbf();</span><br><span>    if (!dl_tbf) {</span><br><span>               rc = tbf_new_dl_assignment(bts, ms, &dl_tbf);</span><br><span>            if (rc < 0)</span><br><span>@@ -353,7 +351,7 @@</span><br><span>         }</span><br><span> </span><br><span>        /* TODO: ms_class vs. egprs_ms_class is not handled here */</span><br><span style="color: hsl(0, 100%, 40%);">-     rc = dl_tbf->append_data(ms_class, delay_csec, data, len);</span><br><span style="color: hsl(120, 100%, 40%);">+ rc = dl_tbf->append_data(ms->ms_class(), delay_csec, data, len);</span><br><span> </span><br><span>   return rc;</span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/20945">change 20945</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-pcu/+/20945"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I4979c9344bffd3ba7657bbab94981d233eab801f </div>
<div style="display:none"> Gerrit-Change-Number: 20945 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>