ggsn: Parametrize T3-RESPONSE and N3-REQUESTS

Since osmo-ggsn.git Ia15c1cfd201d7c43e9a1d6ceb6725ddf392d2c65 osmo-ggsn
supports configuration of X3 timer, which should be set to (T3-RESPONSE
* N3-REQUESTS) configured at the peer.
The default values are 5 and 3 respectively, hence X3 is by default
5*3=15 seconds.
Let's use that default value for now.
Once new osmo-ggsn version is released, we can speed up test duration by
decreasing the values of the module parameters introduced in this commit
and configure VTY gtp timers at osmo-ggsn accordingly.

Related: OS#5485
Change-Id: I02c0982674b43317a5fc8f341c03eeeb1efee77f
This commit is contained in:
Pau Espin 2022-11-04 12:03:17 +01:00 committed by pespin
parent a67730465e
commit bfad97fa2b
1 changed files with 7 additions and 6 deletions

View File

@ -77,6 +77,8 @@ module GGSN_Tests {
* The tests expect to be able to send ping packets between any two simulated MS within the same
* address range. This requires IP forwarding to be enabled on the corresponding tun interfaces.
*/
integer mp_t3_response := 5; /* local T3-RESPONSE timeout, seconds */
integer mp_n3_requests := 3; /* local N3-REQUESTS counter */
GGSN_Impl m_ggsn_impl := GGSN_IMPL_OSMOCOM;
}
@ -296,13 +298,13 @@ module GGSN_Tests {
}
function f_shutdown_helper() runs on GT_CT {
/* Sleep N3_REQUESTS * T3_REQUEST seconds, nowadays 5*3=15s.
/* Sleep (T3-RESPONSE * N3-REQUESTS) seconds.
* This ensures all retransmit queues are cleared before jumping
* into next tests, hence avoding situation where a test resuses
* a seqnum still in the GGSN's resp queue (dup req detector).
* See OS#5485 avout decreasing time. We could also add a new
* VTY command that calls gtp_clear_queues() */
f_sleep(15.0);
f_sleep(int2float(mp_t3_response * mp_n3_requests));
setverdict(pass);
}
@ -2090,16 +2092,15 @@ module GGSN_Tests {
}
/* Send a duplicate echo req. osmo-ggsn maintains a queue for sent
responses (60 seconds): If same delete req is sent and duplicate is
detected, saved duplicate response should be sent back. */
/* Send a duplicate echo req. osmo-ggsn maintains a queue for sent responses (T3-RESPONSE * N3-REQUESTS):
* If same delete req is sent and duplicate is detected, saved duplicate response should be sent back. */
testcase TC_act_deact_retrans_duplicate() runs on GT_CT {
f_init();
var PdpContext ctx := valueof(t_DefinePDP(f_rnd_imsi('26242'H), "1234", c_ApnInternet, valueof(t_EuaIPv4Dyn)));
f_pdp_ctx_act(ctx);
f_pdp_ctx_del(ctx, '1'B);
/* leave some time in between to make sure retransmit response queue keeps packets for a while */
f_sleep(1.0);
f_sleep(int2float(mp_t3_response));
/* g_c_seq_nr was increased during f_pdp_ctx_del(), we want a
duplicate. If it was not a duplicate, osmo-ggsn would answer
with a failure since that PDP ctx was already deleted. */