summaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/gb_proxy.c
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2014-09-22 13:30:46 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-10-09 17:56:16 +0200
commitd211d1d999586e10c0e1949862536d378f4fecf7 (patch)
tree4cccd05a5831c2005d2599d4bd77e77c90de6dac /openbsc/src/gprs/gb_proxy.c
parent9c65c8116fac1c99ba6eeb380e2cced26fbb5052 (diff)
gbproxy: Reset IMSI acquisition within gbproxy_unregister_link_info
Currently then link_info is not cleaned up completely, when gbproxy_unregister_link_info is called. This patch adds a function gbproxy_reset_link that must be defined externally. This is done in gb_proxy.c, where it resets the IMSI acquisition. Sponsored-by: On-Waves ehf
Diffstat (limited to 'openbsc/src/gprs/gb_proxy.c')
-rw-r--r--openbsc/src/gprs/gb_proxy.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/openbsc/src/gprs/gb_proxy.c b/openbsc/src/gprs/gb_proxy.c
index 9aeb010be..867364d8f 100644
--- a/openbsc/src/gprs/gb_proxy.c
+++ b/openbsc/src/gprs/gb_proxy.c
@@ -76,6 +76,7 @@ static int gbprox_relay2peer(struct msgb *old_msg, struct gbproxy_peer *peer,
uint16_t ns_bvci);
static int gbprox_relay2sgsn(struct gbproxy_config *cfg, struct msgb *old_msg,
uint16_t ns_bvci, uint16_t sgsn_nsei);
+static void gbproxy_reset_imsi_acquisition(struct gbproxy_link_info* link_info);
static int check_peer_nsei(struct gbproxy_peer *peer, uint16_t nsei)
{
@@ -273,6 +274,11 @@ uint32_t gbproxy_make_sgsn_tlli(struct gbproxy_peer *peer,
return sgsn_tlli;
}
+void gbproxy_reset_link(struct gbproxy_link_info *link_info)
+{
+ gbproxy_reset_imsi_acquisition(link_info);
+}
+
/* Returns != 0 iff IMSI acquisition was in progress */
static int gbproxy_restart_imsi_acquisition(struct gbproxy_link_info* link_info)
{