pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30007 )
Change subject: ggsn: Parametrize T3-RESPONSE and N3-REQUESTS ......................................................................
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 --- M ggsn_tests/GGSN_Tests.ttcn 1 file changed, 7 insertions(+), 6 deletions(-)
Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified
diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn index 21fdec7..6cc9732 100644 --- a/ggsn_tests/GGSN_Tests.ttcn +++ b/ggsn_tests/GGSN_Tests.ttcn @@ -77,6 +77,8 @@ * 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 @@ }
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 @@ }
- /* 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. */