aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-06-15 18:01:14 +0200
committerHarald Welte <laforge@gnumonks.org>2018-06-15 18:01:14 +0200
commitb85f60477fb6d3e797fde7eae9a3124ecaad174d (patch)
tree19bb8f8e8f0588fd352d1f76835f8d2ee3d9fcd3
parenta1d3b048fb7a8047a9854d29067c44a6b0066ee7 (diff)
disable blind subscriber insertion into every VLR/SGSN
During the attempt to fix OS#2785 in Change-Id I6a92ca34cdaadca9eacc774bb1ca386c325ba865, we introduced logic that would blindly insert a subscriber *concurrently* in all VLRs/SGSNs of the network on any update of the subscriber. Before that patch, we didn't update the current serving SGSN/VLR, and after the change we created subscribers in all SGSNs/VLRs, of which all-1 are not serving the subscriber at that time. We'll have to go back to the original behavior until a proper fix can be introduced. Change-Id: Ibf6f1b21b08560d4d8f41bbe7782d40abf4585f8 Related: OS#3091 Related: OS#2785
-rw-r--r--src/hlr.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/hlr.c b/src/hlr.c
index ee19795..940165f 100644
--- a/src/hlr.c
+++ b/src/hlr.c
@@ -47,14 +47,17 @@ static struct hlr *g_hlr;
/* Trigger 'Insert Subscriber Data' messages to all connected GSUP clients.
*
- * FIXME: In order to support large-scale networks this function should skip
- * VLRs/SGSNs which do not currently serve the subscriber.
- *
* \param[in] subscr A subscriber we have new data to send for.
*/
void
osmo_hlr_subscriber_update_notify(struct hlr_subscriber *subscr)
{
+ /* FIXME: the below code can only be re-enabled after we make sure that an ISD
+ * is only sent tot the currently serving VLR and/or SGSN (if there are any).
+ * We cannot blindly flood the entire PLMN with this, as it would create subscriber
+ * state in every VLR/SGSN out there, even those that have never seen the subscriber.
+ * See https://osmocom.org/issues/3154 for details. */
+#if 0
struct osmo_gsup_conn *co;
if (g_hlr->gs == NULL)
@@ -118,6 +121,7 @@ osmo_hlr_subscriber_update_notify(struct hlr_subscriber *subscr)
continue;
}
}
+#endif
}
/***********************************************************************