<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/20103">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">paging: do not set bsub->lac during Paging Request / drop bsub->lac<br><br>It does not make sense to set the bsc_subscr's LAC from a Paging Request,<br>especially since the paging code has loops that possibly kick off several<br>pagings.<br><br>To not cause any functional change for locked_paging_bts(), pass the LAC as<br>function parameter instead of in the subscr->lac.<br>(BTW, I suspect that the locked_paging_bts() condition for the LAC does not<br>make much sense, seems to be an early non-feature of OpenBSC. Why page on an<br>RF-locked BTS?? I don't understand, hence leaving the behavior unchanged.)<br><br>At this point, there remains no code setting bsub->lac anywhere. We could set<br>it during rx of Complete Layer 3, but since there is no use for it besides a<br>vty dump, let's just drop the bsub->lac completely, and the vty dump of it.<br><br>Change-Id: Id017bd494d329b6fc254d7135b4074ac2b224d66<br>---<br>M include/osmocom/bsc/bsc_subscriber.h<br>M include/osmocom/bsc/osmo_bsc_grace.h<br>M src/osmo-bsc/bsc_vty.c<br>M src/osmo-bsc/osmo_bsc_bssap.c<br>M src/osmo-bsc/osmo_bsc_grace.c<br>5 files changed, 11 insertions(+), 10 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/03/20103/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/bsc/bsc_subscriber.h b/include/osmocom/bsc/bsc_subscriber.h</span><br><span>index 53fa7be..a602a9e 100644</span><br><span>--- a/include/osmocom/bsc/bsc_subscriber.h</span><br><span>+++ b/include/osmocom/bsc/bsc_subscriber.h</span><br><span>@@ -16,7 +16,6 @@</span><br><span> </span><br><span>     char imsi[GSM23003_IMSI_MAX_DIGITS+1];</span><br><span>       uint32_t tmsi;</span><br><span style="color: hsl(0, 100%, 40%);">-  uint16_t lac;</span><br><span> };</span><br><span> </span><br><span> const char *bsc_subscr_name(struct bsc_subscr *bsub);</span><br><span>diff --git a/include/osmocom/bsc/osmo_bsc_grace.h b/include/osmocom/bsc/osmo_bsc_grace.h</span><br><span>index d78e41c..cc613be 100644</span><br><span>--- a/include/osmocom/bsc/osmo_bsc_grace.h</span><br><span>+++ b/include/osmocom/bsc/osmo_bsc_grace.h</span><br><span>@@ -31,6 +31,7 @@</span><br><span>                         struct bsc_subscr *subscr,</span><br><span>                           int chan_needed,</span><br><span>                             struct bsc_msc_data *msc,</span><br><span style="color: hsl(0, 100%, 40%);">-                       struct gsm_bts *bts);</span><br><span style="color: hsl(120, 100%, 40%);">+                         struct gsm_bts *bts,</span><br><span style="color: hsl(120, 100%, 40%);">+                          uint16_t lac);</span><br><span> </span><br><span> #endif</span><br><span>diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c</span><br><span>index 3524506..8197320 100644</span><br><span>--- a/src/osmo-bsc/bsc_vty.c</span><br><span>+++ b/src/osmo-bsc/bsc_vty.c</span><br><span>@@ -6154,7 +6154,7 @@</span><br><span> </span><br><span> static void dump_one_sub(struct vty *vty, struct bsc_subscr *bsub)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-   vty_out(vty, " %15s  %08x  %5u  %d%s", bsub->imsi, bsub->tmsi, bsub->lac, bsub->use_count,</span><br><span style="color: hsl(120, 100%, 40%);">+      vty_out(vty, " %15s  %08x  %d%s", bsub->imsi, bsub->tmsi, bsub->use_count,</span><br><span>                VTY_NEWLINE);</span><br><span> }</span><br><span> </span><br><span>@@ -6165,8 +6165,8 @@</span><br><span> {</span><br><span>  struct bsc_subscr *bsc_subscr;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      vty_out(vty, " IMSI             TMSI      LAC    Use%s", VTY_NEWLINE);</span><br><span style="color: hsl(0, 100%, 40%);">-        /*           " 001010123456789  ffffffff  65534  1" */</span><br><span style="color: hsl(120, 100%, 40%);">+      vty_out(vty, " IMSI             TMSI      Use%s", VTY_NEWLINE);</span><br><span style="color: hsl(120, 100%, 40%);">+     /*           " 001010123456789  ffffffff  1" */</span><br><span> </span><br><span>        llist_for_each_entry(bsc_subscr, bsc_gsmnet->bsc_subscribers, entry)</span><br><span>              dump_one_sub(vty, bsc_subscr);</span><br><span>diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c</span><br><span>index a253b01..2b51787 100644</span><br><span>--- a/src/osmo-bsc/osmo_bsc_bssap.c</span><br><span>+++ b/src/osmo-bsc/osmo_bsc_bssap.c</span><br><span>@@ -135,10 +135,9 @@</span><br><span>               return;</span><br><span>      }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   subscr->lac = lac;</span><br><span>        subscr->tmsi = tmsi;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     ret = bsc_grace_paging_request(msc->network->rf_ctrl->policy, subscr, chan_needed, msc, bts);</span><br><span style="color: hsl(120, 100%, 40%);">+        ret = bsc_grace_paging_request(msc->network->rf_ctrl->policy, subscr, chan_needed, msc, bts, lac);</span><br><span>  if (ret == 0)</span><br><span>                LOGP(DMSC, LOGL_INFO, "Paging request failed or repeated paging: BTS: %d IMSI: '%s' TMSI: '0x%x/%u' LAC: 0x%x\n",</span><br><span>               bts->nr, mi_string, tmsi, tmsi, lac);</span><br><span>diff --git a/src/osmo-bsc/osmo_bsc_grace.c b/src/osmo-bsc/osmo_bsc_grace.c</span><br><span>index a26a716..628992e 100644</span><br><span>--- a/src/osmo-bsc/osmo_bsc_grace.c</span><br><span>+++ b/src/osmo-bsc/osmo_bsc_grace.c</span><br><span>@@ -38,6 +38,7 @@</span><br><span> /* Return value is like paging_request_bts():</span><br><span>  * returns 1 on success (one BTS was paged); 0 in case of error (e.g. TRX down) */</span><br><span> static int locked_paging_bts(struct gsm_bts *bts,</span><br><span style="color: hsl(120, 100%, 40%);">+                             uint16_t lac,</span><br><span>                        struct bsc_subscr *subscr,</span><br><span>                           int chan_needed,</span><br><span>                             struct bsc_msc_data *msc)</span><br><span>@@ -47,7 +48,7 @@</span><br><span>           return 0;</span><br><span> </span><br><span>        /* in case of no lac patching is in place, check the BTS */</span><br><span style="color: hsl(0, 100%, 40%);">-     if (msc->core_lac == -1 && subscr->lac != bts->location_area_code)</span><br><span style="color: hsl(120, 100%, 40%);">+   if (msc->core_lac == -1 && lac != bts->location_area_code)</span><br><span>             return 0;</span><br><span> </span><br><span>        return paging_request_bts(bts, subscr, chan_needed, msc);</span><br><span>@@ -66,9 +67,10 @@</span><br><span>                            struct bsc_subscr *subscr,</span><br><span>                           int chan_needed,</span><br><span>                             struct bsc_msc_data *msc,</span><br><span style="color: hsl(0, 100%, 40%);">-                       struct gsm_bts *bts)</span><br><span style="color: hsl(120, 100%, 40%);">+                          struct gsm_bts *bts,</span><br><span style="color: hsl(120, 100%, 40%);">+                          uint16_t lac)</span><br><span> {</span><br><span>      if (rf_policy == S_RF_ON)</span><br><span>            return paging_request_bts(bts, subscr, chan_needed, msc);</span><br><span style="color: hsl(0, 100%, 40%);">-       return locked_paging_bts(bts, subscr, chan_needed, msc);</span><br><span style="color: hsl(120, 100%, 40%);">+      return locked_paging_bts(bts, lac, subscr, chan_needed, msc);</span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/20103">change 20103</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-bsc/+/20103"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Id017bd494d329b6fc254d7135b4074ac2b224d66 </div>
<div style="display:none"> Gerrit-Change-Number: 20103 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>