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