diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2013-10-24 01:33:23 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-10-24 10:01:18 +0200 |
commit | 5405a104bbe7d3711fe6f19ea7d0fce50ef91147 (patch) | |
tree | d0bac56348b47cb2bf698e8d794d2cb1bc2c8801 /tests/gb/gprs_ns_test.c | |
parent | 81d7c14756ee17c2748c3d34a198c640655fd0c6 (diff) |
gb: Fix NS RESET/RESET_ACK abnormal cases
This changes the implementations for the reception of RESET and
RESET_ACK to be compatible with 3GPP TS 08.16, 7.3.1:
- Just send a RESET_ACK with correct values back to the SGSN when a
RESET with an invalid NSVCI or NSEI has been received.
- Check RESET_ACK for matching NSEI and NSVCI.
- Ignore unexpected RESET_ACKs.
In addition, use RESET_ACK from a BSS to update the BSS source
address based on the NSVCI to be tolerant with changing UDP source
addresses/ports.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'tests/gb/gprs_ns_test.c')
-rw-r--r-- | tests/gb/gprs_ns_test.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/gb/gprs_ns_test.c b/tests/gb/gprs_ns_test.c index 3d0293eb..546c20a3 100644 --- a/tests/gb/gprs_ns_test.c +++ b/tests/gb/gprs_ns_test.c @@ -357,6 +357,12 @@ static int test_signal(unsigned int subsys, unsigned int signal, gprs_ns_ll_str(nssd->old_nsvc)); break; + case S_NS_MISMATCH: + printf("==> got signal NS_MISMATCH: 0x%04x/%s pdu=%d, ie=%d\n", + nssd->nsvc->nsvci, gprs_ns_ll_str(nssd->nsvc), + nssd->pdu_type, nssd->ie_type); + break; + default: printf("==> got signal %d, NS-VC 0x%04x/%s\n", signal, nssd->nsvc->nsvci, |