Change in osmo-bsc[master]: paging: do not set bsub->lac during Paging Request / drop bsub->lac

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.org
Sat Sep 12 23:44:25 UTC 2020


neels 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>


More information about the gerrit-log mailing list