osmo-hlr/src
Neels Hofmeyr 191f4b6eb3 db v6: determine 3G AUC IND from VLR name
Each VLR requesting auth tuples should use a distinct IND pool for 3G auth.  So
far we tied the IND to the GSUP peer connection; MSC and SGSN were always
distinct GSUP peers, they ended up using distinct INDs.

However, we have implemented a GSUP proxy, so that, in a distributed setup, a
remotely roaming subscriber has only one direct GSUP peer proxying for both
remote MSC and SGSN. That means as soon as a subscriber roams to a different
site, the site's MSC and SGSN compete for the same IND bucket, waste SQNs
rapidly and cause auth tuple generation load.

So instead of using the local client as IND, persistently keep a list of VLR
names and assign a different IND to each. Use the GSUP source_name as
indicator, which reflects the actual remote VLR's name.

Furthermore, make 100% sure that CS and PS pools can never collide, by keeping
all CS pools odd numbered and all PS pools even numbered.

Persist the site <-> IND assignments in the database.

Add an IND test to db_test.c

Related: OS#4319
Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374
2019-12-12 21:51:27 +01:00
..
gsupclient db v6: determine 3G AUC IND from VLR name 2019-12-12 21:51:27 +01:00
mslookup add osmo-mslookup-client program 2019-12-12 21:51:27 +01:00
Makefile.am WIP: proxy routing refactor / SMS-over-GSUP 2019-12-12 21:51:27 +01:00
auc.c move headers to include/osmocom/hlr 2019-11-20 01:25:39 +01:00
ctrl.c move headers to include/osmocom/hlr 2019-11-20 01:25:39 +01:00
db.c db v6: determine 3G AUC IND from VLR name 2019-12-12 21:51:27 +01:00
db_auc.c auc3g: officially wrap IND around IND_bitlen space 2019-12-12 21:51:27 +01:00
db_debug.c src/db.c: integrate SQLite3 with talloc allocator 2019-07-30 17:15:17 +00:00
db_hlr.c db v6: determine 3G AUC IND from VLR name 2019-12-12 21:51:27 +01:00
db_sql2c.sed Rename db_bootstrap.sed to db_sql2c.sed 2018-12-04 14:13:47 +01:00
dbd_decode_binary.c add osmo-hlr-db-tool, program to migrate from osmo-nitb db 2017-10-28 20:34:01 +02:00
dgsm.c WIP: proxy routing refactor / SMS-over-GSUP 2019-12-12 21:51:27 +01:00
dgsm_vty.c WIP: proxy routing refactor / SMS-over-GSUP 2019-12-12 21:51:27 +01:00
gsup_router.c 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name 2019-12-12 21:51:27 +01:00
gsup_send.c 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name 2019-12-12 21:51:27 +01:00
gsup_server.c WIP: proxy routing refactor / SMS-over-GSUP 2019-12-12 21:51:27 +01:00
hlr.c db v6: determine 3G AUC IND from VLR name 2019-12-12 21:51:27 +01:00
hlr_db_tool.c move headers to include/osmocom/hlr 2019-11-20 01:25:39 +01:00
hlr_ussd.c 2/2: fixup: add osmo_gsup_peer_id with type enum and union 2019-12-12 21:51:27 +01:00
hlr_vty.c D-GSM 3/n: implement roaming by mslookup in osmo-hlr 2019-12-12 21:51:27 +01:00
hlr_vty_subscr.c vty: show subscriber: show lu d,h,m,s ago, not just seconds 2019-12-12 21:51:27 +01:00
logging.c D-GSM 3/n: implement roaming by mslookup in osmo-hlr 2019-12-12 21:51:27 +01:00
lu_fsm.c 2/2: fixup: add osmo_gsup_peer_id with type enum and union 2019-12-12 21:51:27 +01:00
mslookup_server.c WIP: proxy routing refactor / SMS-over-GSUP 2019-12-12 21:51:27 +01:00
mslookup_server_mdns.c D-GSM 3/n: implement roaming by mslookup in osmo-hlr 2019-12-12 21:51:27 +01:00
osmo-euse-demo.c move headers to include/osmocom/hlr 2019-11-20 01:25:39 +01:00
populate_hlr_db.pl populate_hlr_db.pl: Script to generate a HLR database 2016-05-03 18:51:40 +02:00
proxy.c WIP: proxy routing refactor / SMS-over-GSUP 2019-12-12 21:51:27 +01:00
rand_fake.c initial import of osmo-gsup-hlr code so far 2016-04-28 07:18:49 +02:00
rand_urandom.c initial import of osmo-gsup-hlr code so far 2016-04-28 07:18:49 +02:00
remote_hlr.c WIP: proxy routing refactor / SMS-over-GSUP 2019-12-12 21:51:27 +01:00
sms_over_gsup.c WIP: proxy routing refactor / SMS-over-GSUP 2019-12-12 21:51:27 +01:00
timestamp.c D-GSM 1/n: add mslookup server in osmo-hlr 2019-12-12 21:51:27 +01:00