aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/gb_proxy.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-05-11 18:29:44 +0200
committerHarald Welte <laforge@gnumonks.org>2010-05-11 18:29:44 +0200
commitf69c059a0ebf9a5b1e5f11bff8527a8ba9ed0a16 (patch)
tree7071911cbfbcd3e1db60ad58c51da02c352d63b0 /openbsc/src/gprs/gb_proxy.c
parentd7c02ad9dfeb8d7d893b211bbb99d7032ae872d4 (diff)
[gprs] gb_proxy: Fix detecting the SGSN-facing ns-vc by its NSEI
make sure we mark the NS connection as 'SGSN-facing' if the NSEI matches
Diffstat (limited to 'openbsc/src/gprs/gb_proxy.c')
-rw-r--r--openbsc/src/gprs/gb_proxy.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/openbsc/src/gprs/gb_proxy.c b/openbsc/src/gprs/gb_proxy.c
index ea992e950..6c912db4c 100644
--- a/openbsc/src/gprs/gb_proxy.c
+++ b/openbsc/src/gprs/gb_proxy.c
@@ -458,6 +458,14 @@ int gbprox_signal(unsigned int subsys, unsigned int signal,
if (subsys != SS_NS)
return 0;
+ if (signal == S_NS_RESET && nsvc->nsei == gbcfg.nsip_sgsn_nsei) {
+ /* We have received a NS-RESET from the NSEI and NSVC
+ * of the SGSN. This might happen with SGSN that start
+ * their own NS-RESET procedure without waiting for our
+ * NS-RESET */
+ nsvc->remote_end_is_sgsn = 1;
+ }
+
/* We currently only care about signals from the SGSN */
if (!nsvc->remote_end_is_sgsn)
return 0;