gb: Fix NS-RESET response message order

According to 3GPP TS 08.16, 7.3 "Reset procedure" the entity
receiving a NS-RESET PDU responds with a NS-RESET-ACK and 'then'
starts the test procedure which essentially means, that a NS-ALIVE
gets sent and a timer is started.

Currently the NS-ALIVE is sent before the NS-RESET-ACK.

This patch fixes the implementation by reversing the order in which
these messages are sent.

Sponsored-by: On-Waves ehf
This commit is contained in:
Jacob Erlbeck 2013-10-08 12:04:45 +02:00 committed by Holger Hans Peter Freyther
parent 84cdc70e0b
commit 05395a63b7
2 changed files with 25 additions and 23 deletions

View File

@ -684,15 +684,17 @@ static int gprs_ns_rx_reset(struct gprs_nsvc *nsvc, struct msgb *msg)
nsvc->nsei = ntohs(*nsei);
nsvc->nsvci = ntohs(*nsvci);
/* start the test procedure */
gprs_ns_tx_simple(nsvc, NS_PDUT_ALIVE);
nsvc_start_timer(nsvc, NSVC_TIMER_TNS_TEST);
/* inform interested parties about the fact that this NSVC
* has received RESET */
ns_osmo_signal_dispatch(nsvc, S_NS_RESET, *cause);
return gprs_ns_tx_reset_ack(nsvc);
rc = gprs_ns_tx_reset_ack(nsvc);
/* start the test procedure */
gprs_ns_tx_simple(nsvc, NS_PDUT_ALIVE);
nsvc_start_timer(nsvc, NSVC_TIMER_TNS_TEST);
return rc;
}
static int gprs_ns_rx_block(struct gprs_nsvc *nsvc, struct msgb *msg)

View File

@ -2,12 +2,12 @@
PROCESSING RESET from 0x01020304:1111
02 00 81 01 01 82 11 22 04 82 11 22
RESPONSE, msg length 1
0a
RESPONSE, msg length 9
03 01 82 11 22 04 82 11 22
RESPONSE, msg length 1
0a
result (RESET) = 9
Current NS-VCIs:
@ -42,12 +42,12 @@ result (BSSGP RESET) = 0
PROCESSING RESET from 0x01020304:2222
02 00 81 01 01 82 11 22 04 82 11 22
RESPONSE, msg length 1
0a
RESPONSE, msg length 9
03 01 82 11 22 04 82 11 22
RESPONSE, msg length 1
0a
result (RESET) = 9
Current NS-VCIs:
@ -58,12 +58,12 @@ Current NS-VCIs:
PROCESSING RESET from 0x01020304:3333
02 00 81 01 01 82 33 44 04 82 11 22
RESPONSE, msg length 1
0a
RESPONSE, msg length 9
03 01 82 33 44 04 82 11 22
RESPONSE, msg length 1
0a
result (RESET) = 9
Current NS-VCIs:
@ -74,12 +74,12 @@ Current NS-VCIs:
PROCESSING RESET from 0x01020304:4444
02 00 81 01 01 82 11 22 04 82 33 44
RESPONSE, msg length 1
0a
RESPONSE, msg length 9
03 01 82 11 22 04 82 33 44
RESPONSE, msg length 1
0a
result (RESET) = 9
Current NS-VCIs:
@ -91,12 +91,12 @@ Current NS-VCIs:
PROCESSING RESET from 0x01020304:3333
02 00 81 01 01 82 11 22 04 82 11 22
RESPONSE, msg length 1
0a
RESPONSE, msg length 9
03 01 82 11 22 04 82 11 22
RESPONSE, msg length 1
0a
result (RESET) = 9
Current NS-VCIs:
@ -108,12 +108,12 @@ Current NS-VCIs:
PROCESSING RESET from 0x01020304:4444
02 00 81 01 01 82 11 22 04 82 11 22
RESPONSE, msg length 1
0a
RESPONSE, msg length 9
03 01 82 11 22 04 82 11 22
RESPONSE, msg length 1
0a
result (RESET) = 9
Current NS-VCIs: