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
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. */