Stefan Sperling has uploaded this change for review. ( 
https://gerrit.osmocom.org/12177


Change subject: make gsup ipa name configurable in osmo-msc.cfg
......................................................................

make gsup ipa name configurable in osmo-msc.cfg

Add a 'ipa-name' VTY command which overrides the default IPA name
used by the MSC. This is a prerequisite for inter-MSC handover.

Related: OS#3355
Change-Id: I317d6c59f77e92fbb2b875a83dc0ec2fa5cb6006
---
M include/osmocom/msc/gsm_data.h
M include/osmocom/msc/vlr.h
M src/libmsc/gsm_04_08.c
M src/libmsc/msc_vty.c
M src/libvlr/vlr.c
M tests/msc_vlr/Makefile.am
M tests/msc_vlr/msc_vlr_test_authen_reuse.err
M tests/msc_vlr/msc_vlr_test_call.err
M tests/msc_vlr/msc_vlr_test_gsm_authen.err
M tests/msc_vlr/msc_vlr_test_gsm_ciph.err
M tests/msc_vlr/msc_vlr_test_hlr_reject.err
M tests/msc_vlr/msc_vlr_test_hlr_timeout.err
M tests/msc_vlr/msc_vlr_test_ms_timeout.err
M tests/msc_vlr/msc_vlr_test_no_authen.err
M tests/msc_vlr/msc_vlr_test_reject_concurrency.err
M tests/msc_vlr/msc_vlr_test_rest.err
M tests/msc_vlr/msc_vlr_test_ss.err
M tests/msc_vlr/msc_vlr_test_umts_authen.err
M tests/msc_vlr/msc_vlr_tests.c
19 files changed, 187 insertions(+), 118 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/77/12177/1

diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h
index 63af3e7..9eca108 100644
--- a/include/osmocom/msc/gsm_data.h
+++ b/include/osmocom/msc/gsm_data.h
@@ -212,6 +212,9 @@
                /* MSISDN to which to route MO emergency calls */
                char *route_to_msisdn;
        } emergency;
+
+       /* IPA name advertised to GSUP peers. */
+       char *msc_ipa_name;
 };

 struct osmo_esme;
diff --git a/include/osmocom/msc/vlr.h b/include/osmocom/msc/vlr.h
index c0e4864..89a3b2e 100644
--- a/include/osmocom/msc/vlr.h
+++ b/include/osmocom/msc/vlr.h
@@ -9,6 +9,7 @@
 #include <osmocom/gsm/gsm23003.h>
 #include <osmocom/gsm/gsm0808.h>
 #include <osmocom/gsm/gsup.h>
+#include <osmocom/gsm/ipa.h>
 #include <osmocom/msc/ran_conn.h>
 #include <osmocom/msc/msc_common.h>
 #include <osmocom/gsupclient/gsup_client.h>
@@ -312,6 +313,8 @@
 int vlr_subscr_rx_imsi_detach(struct vlr_subscr *vsub);

 struct vlr_instance *vlr_alloc(void *ctx, const struct vlr_ops *ops);
+int vlr_start2(struct ipaccess_unit *ipa_dev, struct vlr_instance *vlr,
+              const char *gsup_server_addr_str, uint16_t gsup_server_port);
 int vlr_start(const char *gsup_unit_name, struct vlr_instance *vlr,
              const char *gsup_server_addr_str, uint16_t gsup_server_port);

diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c
index 2962760..83eb22c 100644
--- a/src/libmsc/gsm_04_08.c
+++ b/src/libmsc/gsm_04_08.c
@@ -1827,9 +1827,16 @@
 /* Launch the VLR, i.e. its GSUP connection */
 int msc_vlr_start(struct gsm_network *net)
 {
+       struct ipaccess_unit *ipa_dev;
+
        OSMO_ASSERT(net->vlr);
-       return vlr_start("MSC", net->vlr, net->gsup_server_addr_str,
-                        net->gsup_server_port);
+
+       ipa_dev = talloc_zero(net->vlr, struct ipaccess_unit);
+       ipa_dev->unit_name = "MSC";
+       ipa_dev->serno = net->msc_ipa_name; /* NULL unless configured via VTY */
+
+       return vlr_start2(ipa_dev, net->vlr, net->gsup_server_addr_str,
+                         net->gsup_server_port);
 }

 struct msgb *gsm48_create_mm_serv_rej(enum gsm48_reject_value value)
diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c
index e1d1b40..99a75ab 100644
--- a/src/libmsc/msc_vty.c
+++ b/src/libmsc/msc_vty.c
@@ -458,6 +458,16 @@
        return CMD_SUCCESS;
 }

+DEFUN(cfg_msc_ipa_name,
+      cfg_msc_ipa_name_cmd,
+      "ipa-name NAME",
+      "Set the IPA name of this MSC (by default, no name is set)\n"
+      "An arbitrary IPA name for this MSC (for example PLMN + redundancy 
server number: MSC-901-70-0\n")
+{
+       gsmnet->msc_ipa_name = talloc_strdup(gsmnet, argv[0]);
+       return CMD_SUCCESS;
+}
+
 static int config_write_msc(struct vty *vty)
 {
        vty_out(vty, "msc%s", VTY_NEWLINE);
@@ -491,6 +501,9 @@
                        gsmnet->emergency.route_to_msisdn, VTY_NEWLINE);
        }

+       if (gsmnet->msc_ipa_name)
+               vty_out(vty, " ipa-name %s%s", gsmnet->msc_ipa_name, 
VTY_NEWLINE);
+
        mgcp_client_config_write(vty, " ");
 #ifdef BUILD_IU
        ranap_iu_vty_config_write(vty, " ");
@@ -1483,6 +1496,7 @@
        install_element(MSC_NODE, &cfg_msc_cs7_instance_iu_cmd);
        install_element(MSC_NODE, &cfg_msc_paging_response_timer_cmd);
        install_element(MSC_NODE, &cfg_msc_emergency_msisdn_cmd);
+       install_element(MSC_NODE, &cfg_msc_ipa_name_cmd);

        mgcp_client_vty_init(msc_network, MSC_NODE, &msc_network->mgw.conf);
 #ifdef BUILD_IU
diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c
index 76c84de..6e4a532 100644
--- a/src/libvlr/vlr.c
+++ b/src/libvlr/vlr.c
@@ -27,6 +27,7 @@
 #include <osmocom/gsm/gsup.h>
 #include <osmocom/gsm/apn.h>
 #include <osmocom/gsm/gsm48.h>
+#include <osmocom/gsm/ipa.h>
 #include <osmocom/msc/gsm_subscriber.h>
 #include <osmocom/gsupclient/gsup_client.h>
 #include <osmocom/msc/vlr.h>
@@ -1210,6 +1211,30 @@
        return vlr;
 }

+static void vlr_init(struct vlr_instance *vlr)
+{
+       vlr->gsup_client->data = vlr;
+
+       osmo_timer_setup(&vlr->lu_expire_timer, vlr_subscr_expire_lu, vlr);
+       osmo_timer_schedule(&vlr->lu_expire_timer, 
VLR_SUBSCRIBER_LU_EXPIRATION_INTERVAL, 0);
+}
+
+int vlr_start2(struct ipaccess_unit *ipa_dev, struct vlr_instance *vlr,
+              const char *gsup_server_addr_str, uint16_t gsup_server_port)
+{
+       OSMO_ASSERT(vlr);
+
+       vlr->gsup_client = osmo_gsup_client_create2(vlr, ipa_dev,
+                                                   gsup_server_addr_str,
+                                                   gsup_server_port,
+                                                   &vlr_gsupc_read_cb, NULL);
+       if (!vlr->gsup_client)
+               return -ENOMEM;
+
+       vlr_init(vlr);
+       return 0;
+}
+
 int vlr_start(const char *gsup_unit_name, struct vlr_instance *vlr,
              const char *gsup_server_addr_str, uint16_t gsup_server_port)
 {
@@ -1221,10 +1246,8 @@
                                                   &vlr_gsupc_read_cb, NULL);
        if (!vlr->gsup_client)
                return -ENOMEM;
-       vlr->gsup_client->data = vlr;

-       osmo_timer_setup(&vlr->lu_expire_timer, vlr_subscr_expire_lu, vlr);
-       osmo_timer_schedule(&vlr->lu_expire_timer, 
VLR_SUBSCRIBER_LU_EXPIRATION_INTERVAL, 0);
+       vlr_init(vlr);
        return 0;
 }

diff --git a/tests/msc_vlr/Makefile.am b/tests/msc_vlr/Makefile.am
index 1d1956a..b38ea79 100644
--- a/tests/msc_vlr/Makefile.am
+++ b/tests/msc_vlr/Makefile.am
@@ -20,6 +20,7 @@

 AM_LDFLAGS = \
        -Wl,--wrap=osmo_gsup_client_create \
+       -Wl,--wrap=osmo_gsup_client_create2 \
        -Wl,--wrap=osmo_gsup_client_send \
        -Wl,--wrap=a_iface_tx_dtap \
        -Wl,--wrap=a_iface_tx_clear_cmd \
diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.err 
b/tests/msc_vlr/msc_vlr_test_authen_reuse.err
index 4941550..e6a7242 100644
--- a/tests/msc_vlr/msc_vlr_test_authen_reuse.err
+++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.err
@@ -1,5 +1,5 @@
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_auth_use_twice_geran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -418,7 +418,7 @@
 ===== test_auth_use_twice_geran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_auth_use_twice_utran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -875,7 +875,7 @@
 ===== test_auth_use_twice_utran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_auth_use_infinitely_geran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1374,7 +1374,7 @@
 ===== test_auth_use_infinitely_geran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_auth_use_infinitely_utran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1924,7 +1924,7 @@
 ===== test_auth_use_infinitely_utran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_no_auth_reuse_geran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -2249,7 +2249,7 @@
 ===== test_no_auth_reuse_geran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_no_auth_reuse_utran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -2599,8 +2599,8 @@
 ===== test_no_auth_reuse_utran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

diff --git a/tests/msc_vlr/msc_vlr_test_call.err 
b/tests/msc_vlr/msc_vlr_test_call.err
index a3ff277..b444837 100644
--- a/tests/msc_vlr/msc_vlr_test_call.err
+++ b/tests/msc_vlr/msc_vlr_test_call.err
@@ -1,5 +1,5 @@
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_call_mo
 - Total time passed: 0.000000 s
@@ -387,7 +387,7 @@
 ===== test_call_mo: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_call_mt
 - Total time passed: 0.000000 s
@@ -774,7 +774,7 @@
 ===== test_call_mt: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_call_mt2
 - Total time passed: 0.000000 s
@@ -1127,7 +1127,7 @@
 ===== test_call_mt2: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_call_mo_to_unknown
 - Total time passed: 0.000000 s
@@ -1477,7 +1477,7 @@
 ===== test_call_mo_to_unknown: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_call_mo_to_unknown_timeout
 - Total time passed: 0.000000 s
@@ -1824,8 +1824,8 @@
 ===== test_call_mo_to_unknown_timeout: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err 
b/tests/msc_vlr/msc_vlr_test_gsm_authen.err
index 1014bb2..c302021 100644
--- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err
+++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err
@@ -1,5 +1,5 @@
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_gsm_authen
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -450,7 +450,7 @@
 ===== test_gsm_authen: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_gsm_authen_tmsi
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1110,7 +1110,7 @@
 ===== test_gsm_authen_tmsi: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_gsm_authen_imei
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1347,7 +1347,7 @@
 ===== test_gsm_authen_imei: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_gsm_authen_tmsi_imei
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1616,7 +1616,7 @@
 ===== test_gsm_authen_tmsi_imei: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_gsm_milenage_authen
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -2048,7 +2048,7 @@
 ===== test_gsm_milenage_authen: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_wrong_sres_length
 - Total time passed: 0.000000 s
@@ -2166,8 +2166,8 @@
 ===== test_wrong_sres_length: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err 
b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err
index 5bc57e0..e964972 100644
--- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err
+++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err
@@ -1,5 +1,5 @@
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_ciph
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -502,7 +502,7 @@
 ===== test_ciph: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_ciph_tmsi
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1042,7 +1042,7 @@
 ===== test_ciph_tmsi: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_ciph_imei
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1283,7 +1283,7 @@
 ===== test_ciph_imei: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_ciph_imeisv
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1513,7 +1513,7 @@
 ===== test_ciph_imeisv: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_ciph_tmsi_imei
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1786,7 +1786,7 @@
 ===== test_ciph_tmsi_imei: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_gsm_ciph_in_umts_env
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -2258,7 +2258,7 @@
 ===== test_gsm_ciph_in_umts_env: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_a5_3_supported
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -2758,7 +2758,7 @@
 ===== test_a5_3_supported: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_cm_service_needs_classmark_update
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -3249,8 +3249,8 @@
 ===== test_cm_service_needs_classmark_update: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

diff --git a/tests/msc_vlr/msc_vlr_test_hlr_reject.err 
b/tests/msc_vlr/msc_vlr_test_hlr_reject.err
index ba4db3e..be54264 100644
--- a/tests/msc_vlr/msc_vlr_test_hlr_reject.err
+++ b/tests/msc_vlr/msc_vlr_test_hlr_reject.err
@@ -1,5 +1,5 @@
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_hlr_rej_auth_info_unknown_imsi
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -79,7 +79,7 @@
 ===== test_hlr_rej_auth_info_unknown_imsi: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_hlr_rej_auth_info_net_fail
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -159,7 +159,7 @@
 ===== test_hlr_rej_auth_info_net_fail: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_hlr_rej_auth_info_net_fail_reuse_tuples
 ---
@@ -472,7 +472,7 @@
 ===== test_hlr_rej_auth_info_net_fail_reuse_tuples: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_hlr_rej_auth_info_net_fail_no_reuse_tuples
 ---
@@ -709,7 +709,7 @@
 ===== test_hlr_rej_auth_info_net_fail_no_reuse_tuples: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_hlr_rej_auth_info_unkown_imsi_no_reuse_tuples
 ---
@@ -947,7 +947,7 @@
 ===== test_hlr_rej_auth_info_unkown_imsi_no_reuse_tuples: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_hlr_acc_but_no_auth_tuples
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1026,7 +1026,7 @@
 ===== test_hlr_acc_but_no_auth_tuples: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_hlr_rej_lu
 - Location Update request causes a GSUP LU request to HLR
@@ -1108,7 +1108,7 @@
 ===== test_hlr_rej_lu: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_hlr_no_insert_data
 - Location Update request causes a GSUP LU request to HLR
@@ -1213,8 +1213,8 @@
 ===== test_hlr_no_insert_data: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

diff --git a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err 
b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err
index 60bb8cb..2fa0719 100644
--- a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err
+++ b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err
@@ -1,5 +1,5 @@
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_hlr_timeout_lu_auth_info
 - Total time passed: 0.000000 s
@@ -87,7 +87,7 @@
 ===== test_hlr_timeout_lu_auth_info: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_hlr_timeout_lu_upd_loc_result
 - Total time passed: 0.000000 s
@@ -194,8 +194,8 @@
 ===== test_hlr_timeout_lu_upd_loc_result: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.err 
b/tests/msc_vlr/msc_vlr_test_ms_timeout.err
index bf3a0ed..957cfc8 100644
--- a/tests/msc_vlr/msc_vlr_test_ms_timeout.err
+++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.err
@@ -1,5 +1,5 @@
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_ms_timeout_lu_auth_resp
 - Total time passed: 0.000000 s
@@ -107,7 +107,7 @@
 ===== test_ms_timeout_lu_auth_resp: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_ms_timeout_cm_auth_resp
 - Total time passed: 0.000000 s
@@ -353,7 +353,7 @@
 ===== test_ms_timeout_cm_auth_resp: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_ms_timeout_paging
 - Total time passed: 0.000000 s
@@ -561,7 +561,7 @@
 ===== test_ms_timeout_paging: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_classmark_update_timeout
 - Total time passed: 0.000000 s
@@ -691,8 +691,8 @@
 ===== test_classmark_update_timeout: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.err 
b/tests/msc_vlr/msc_vlr_test_no_authen.err
index 3f024e0..e692fcf 100644
--- a/tests/msc_vlr/msc_vlr_test_no_authen.err
+++ b/tests/msc_vlr/msc_vlr_test_no_authen.err
@@ -1,5 +1,5 @@
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_no_authen
 - Location Update request causes a GSUP LU request to HLR
@@ -322,7 +322,7 @@
 ===== test_no_authen: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_no_authen_tmsi
 - Location Update request causes a GSUP LU request to HLR
@@ -837,7 +837,7 @@
 ===== test_no_authen_tmsi: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_no_authen_imei
 - Location Update request causes a GSUP LU request to HLR
@@ -1026,7 +1026,7 @@
 ===== test_no_authen_imei: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_no_authen_tmsi_imei
 - Location Update request causes a GSUP LU request to HLR
@@ -1241,7 +1241,7 @@
 ===== test_no_authen_tmsi_imei: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_no_authen_imeisv
 - Location Update request causes an IMEISV ID request back to the MS
@@ -1416,7 +1416,7 @@
 ===== test_no_authen_imeisv: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_no_authen_imeisv_imei
 - Location Update request causes an IMEISV ID request back to the MS
@@ -1623,7 +1623,7 @@
 ===== test_no_authen_imeisv_imei: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_no_authen_imeisv_tmsi
 - Location Update request causes an IMEISV ID request back to the MS
@@ -2001,7 +2001,7 @@
 ===== test_no_authen_imeisv_tmsi: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_no_authen_imeisv_tmsi_imei
 - Location Update request causes an IMEISV ID request back to the MS
@@ -2235,7 +2235,7 @@
 ===== test_no_authen_imeisv_tmsi_imei: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_no_authen_subscr_expire
 - Total time passed: 0.000000 s
@@ -2361,8 +2361,8 @@
 ===== test_no_authen_subscr_expire: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err 
b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err
index 90c6f06..40ae5e5 100644
--- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err
+++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err
@@ -1,5 +1,5 @@
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_reject_2nd_conn
 - Location Update Request on one connection
@@ -158,7 +158,7 @@
 ===== test_reject_2nd_conn: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_reject_lu_during_lu
 - Location Update Request
@@ -288,7 +288,7 @@
 ===== test_reject_lu_during_lu: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_reject_cm_during_lu
 - Location Update Request
@@ -425,7 +425,7 @@
 ===== test_reject_cm_during_lu: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_reject_paging_resp_during_lu
 - Location Update Request
@@ -555,7 +555,7 @@
 ===== test_reject_paging_resp_during_lu: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_reject_lu_during_cm
 ---
@@ -752,7 +752,7 @@
 ===== test_reject_lu_during_cm: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_reject_cm_during_cm
 ---
@@ -952,7 +952,7 @@
 ===== test_reject_cm_during_cm: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_reject_paging_resp_during_cm
 ---
@@ -1140,7 +1140,7 @@
 ===== test_reject_paging_resp_during_cm: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_reject_lu_during_paging_resp
 ---
@@ -1367,7 +1367,7 @@
 ===== test_reject_lu_during_paging_resp: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_accept_cm_during_paging_resp
 ---
@@ -1614,7 +1614,7 @@
 ===== test_accept_cm_during_paging_resp: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_reject_paging_resp_during_paging_resp
 ---
@@ -1839,8 +1839,8 @@
 ===== test_reject_paging_resp_during_paging_resp: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

diff --git a/tests/msc_vlr/msc_vlr_test_rest.err 
b/tests/msc_vlr/msc_vlr_test_rest.err
index 711633b..0ea0d70 100644
--- a/tests/msc_vlr/msc_vlr_test_rest.err
+++ b/tests/msc_vlr/msc_vlr_test_rest.err
@@ -1,5 +1,5 @@
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_early_stage
 - NULL conn
@@ -48,7 +48,7 @@
 ===== test_early_stage: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_cm_service_without_lu
 - CM Service Request without a prior Location Updating
@@ -91,7 +91,7 @@
 ===== test_cm_service_without_lu: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_two_lu
 - Location Update request causes a GSUP LU request to HLR
@@ -368,7 +368,7 @@
 ===== test_two_lu: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_lu_unknown_tmsi
 - Location Update request with unknown TMSI sends ID Request for IMSI
@@ -522,8 +522,8 @@
 ===== test_lu_unknown_tmsi: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

diff --git a/tests/msc_vlr/msc_vlr_test_ss.err 
b/tests/msc_vlr/msc_vlr_test_ss.err
index 15b2888..9db94b4 100644
--- a/tests/msc_vlr/msc_vlr_test_ss.err
+++ b/tests/msc_vlr/msc_vlr_test_ss.err
@@ -1,5 +1,5 @@
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_ss_ussd_mo_geran
 - Location Update request causes a GSUP LU request to HLR
@@ -203,7 +203,7 @@
 ===== test_ss_ussd_mo_geran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_ss_ussd_no_geran
 - Location Update request causes a GSUP LU request to HLR
@@ -436,8 +436,8 @@
 ===== test_ss_ussd_no_geran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.err 
b/tests/msc_vlr/msc_vlr_test_umts_authen.err
index f5b7d02..1949a7c 100644
--- a/tests/msc_vlr/msc_vlr_test_umts_authen.err
+++ b/tests/msc_vlr/msc_vlr_test_umts_authen.err
@@ -1,5 +1,5 @@
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_umts_authen_geran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -464,7 +464,7 @@
 ===== test_umts_authen_geran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_umts_authen_utran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -967,7 +967,7 @@
 ===== test_umts_authen_utran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_umts_authen_resync_geran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1186,7 +1186,7 @@
 ===== test_umts_authen_resync_geran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_umts_authen_resync_utran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1417,7 +1417,7 @@
 ===== test_umts_authen_resync_utran: SUCCESS
 
 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_umts_authen_too_short_res_geran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1515,7 +1515,7 @@
 ===== test_umts_authen_too_short_res_geran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_umts_authen_too_short_res_utran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1613,7 +1613,7 @@
 ===== test_umts_authen_too_short_res_utran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_umts_authen_too_long_res_geran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1711,7 +1711,7 @@
 ===== test_umts_authen_too_long_res_geran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_umts_authen_too_long_res_utran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1809,7 +1809,7 @@
 ===== test_umts_authen_too_long_res_utran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_umts_authen_only_sres_geran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -1907,7 +1907,7 @@
 ===== test_umts_authen_only_sres_geran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 ===== test_umts_authen_only_sres_utran
 - Location Update request causes a GSUP Send Auth Info request to HLR
@@ -2005,8 +2005,8 @@
 ===== test_umts_authen_only_sres_utran: SUCCESS

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

 full talloc report on 'msgb' (total      0 bytes in   1 blocks)
-talloc_total_blocks(tall_bsc_ctx) == 12
+talloc_total_blocks(tall_bsc_ctx) == 13

diff --git a/tests/msc_vlr/msc_vlr_tests.c b/tests/msc_vlr/msc_vlr_tests.c
index 29ffdbf..459a151 100644
--- a/tests/msc_vlr/msc_vlr_tests.c
+++ b/tests/msc_vlr/msc_vlr_tests.c
@@ -562,6 +562,23 @@
        return gsupc;
 }

+/* override, requires '-Wl,--wrap=osmo_gsup_client_create2' */
+struct osmo_gsup_client *
+__real_osmo_gsup_client_create2(struct ipaccess_unit *ipa_dev, const char 
*ip_addr,
+                         unsigned int tcp_port, osmo_gsup_client_read_cb_t 
read_cb,
+                         struct osmo_oap_client_config *oap_config);
+struct osmo_gsup_client *
+__wrap_osmo_gsup_client_create2(struct ipaccess_unit *ipa_dev, const char 
*ip_addr,
+                          unsigned int tcp_port, osmo_gsup_client_read_cb_t 
read_cb,
+                         struct osmo_oap_client_config *oap_config)
+{
+       struct osmo_gsup_client *gsupc;
+       gsupc = talloc_zero(msc_vlr_tests_ctx, struct osmo_gsup_client);
+       OSMO_ASSERT(gsupc);
+       return gsupc;
+}
+
+
 /* override, requires '-Wl,--wrap=gsup_client_send' */
 int __real_osmo_gsup_client_send(struct osmo_gsup_client *gsupc, struct msgb 
*msg);
 int __wrap_osmo_gsup_client_send(struct osmo_gsup_client *gsupc, struct msgb 
*msg)
@@ -882,24 +899,25 @@
        /* Verifying that the msgb context is empty */
        talloc_report_full(msgb_ctx, stderr);
        /* Expecting these to stick around in msc_vlr_tests_ctx:
-        * talloc_total_blocks(tall_bsc_ctx) == 12
-        * full talloc report on 'msc_vlr_tests_ctx' (total   3636 bytes in  12 
blocks)
-        *     struct osmo_gsup_client        contains    248 bytes in   1 
blocks (ref 0) 0x563a489c05f0
-        *     struct gsm_network             contains   2031 bytes in   4 
blocks (ref 0) 0x563a489bfbb0
-        *         struct vlr_instance            contains    168 bytes in   1 
blocks (ref 0) 0x563a489c04e0
-        *         no_gsup_server                 contains     15 bytes in   1 
blocks (ref 0) 0x563a489c0460
-        *         ../../../src/libosmocore/src/rate_ctr.c:228 contains   1552 
bytes in   1 blocks (ref 0) 0x563a489bfd40
-        *     logging                        contains   1357 bytes in   5 
blocks (ref 0) 0x563a489bf440
-        *         struct log_target              contains    228 bytes in   2 
blocks (ref 0) 0x563a489bf9f0
-        *             struct log_category            contains     68 bytes in  
 1 blocks (ref 0) 0x563a489bfb00
-        *         struct log_info                contains   1128 bytes in   2 
blocks (ref 0) 0x563a489bf4b0
-        *             struct log_info_cat            contains   1088 bytes in  
 1 blocks (ref 0) 0x563a489bf540
-        *     msgb                           contains      0 bytes in   1 
blocks (ref 0) 0x563a489bf3d0
-        * (That's 12 counting the root ctx)
+        * talloc_total_blocks(tall_bsc_ctx) == 13
+        * full talloc report on 'msc_vlr_tests_ctx' (total   4638 bytes in  13 
blocks)
+        *     struct osmo_gsup_client        contains    256 bytes in   1 
blocks (ref 0) 0x61300000dd20
+        *     struct gsm_network             contains   2983 bytes in   5 
blocks (ref 0) 0x61400000fea0
+        *         struct vlr_instance            contains    320 bytes in   2 
blocks (ref 0) 0x61300000dee0
+        *             struct ipaccess_unit           contains     64 bytes in  
 1 blocks (ref 0) 0x60e0000244c0
+        *         no_gsup_server                 contains     15 bytes in   1 
blocks (ref 0) 0x60b00000af40
+        *         rate_ctr.c:234                 contains   2352 bytes in   1 
blocks (ref 0) 0x61e00000f0e0
+        *     logging                        contains   1399 bytes in   5 
blocks (ref 0) 0x60b00000aff0
+        *         struct log_target              contains    238 bytes in   2 
blocks (ref 0) 0x61200000bf20
+        *             struct log_category            contains     70 bytes in  
 1 blocks (ref 0) 0x60f00000efb0
+        *         struct log_info                contains   1160 bytes in   2 
blocks (ref 0) 0x60d00000cfd0
+        *             struct log_info_cat            contains   1120 bytes in  
 1 blocks (ref 0) 0x61a00001f2e0
+        *     msgb                           contains      0 bytes in   1 
blocks (ref 0) 0x60800000bf80
+        * (That's 13 counting the root ctx)
         */
        fprintf(stderr, "talloc_total_blocks(tall_bsc_ctx) == %zu\n",
                talloc_total_blocks(msc_vlr_tests_ctx));
-       if (talloc_total_blocks(msc_vlr_tests_ctx) != 12)
+       if (talloc_total_blocks(msc_vlr_tests_ctx) != 13)
                talloc_report_full(msc_vlr_tests_ctx, stderr);
        fprintf(stderr, "\n");
 }

--
To view, visit https://gerrit.osmocom.org/12177
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I317d6c59f77e92fbb2b875a83dc0ec2fa5cb6006
Gerrit-Change-Number: 12177
Gerrit-PatchSet: 1
Gerrit-Owner: Stefan Sperling <[email protected]>

Reply via email to