pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/35394?usp=email )
Change subject: mme: Fix TEID values used in test ......................................................................
mme: Fix TEID values used in test
Related: OS#6294 Change-Id: I5a32491a00eb6bad505e4bcf9a88017382073138 --- M library/GTP_Templates.ttcn M mme/MME_Tests.ttcn 2 files changed, 19 insertions(+), 5 deletions(-)
Approvals: pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve
diff --git a/library/GTP_Templates.ttcn b/library/GTP_Templates.ttcn index 839ed28..031d9b2 100644 --- a/library/GTP_Templates.ttcn +++ b/library/GTP_Templates.ttcn @@ -1036,10 +1036,10 @@ private_extension_gtpc := omit } } - template (value) Gtp1cUnitdata ts_GTPC_SGSNContextAck(GtpPeer peer, uint16_t seq, + template (value) Gtp1cUnitdata ts_GTPC_SGSNContextAck(GtpPeer peer, OCT4 teid, uint16_t seq, template (value) GTPC_PDUs SGSNContextAckPDU := ts_SGSNContextAckPDU(GTP_CAUSE_REQUEST_ACCEPTED)) := { peer := peer, - gtpc := ts_GTP1C_PDU(sgsnContextAcknowledge, '00000000'O, valueof(SGSNContextAckPDU), seq) + gtpc := ts_GTP1C_PDU(sgsnContextAcknowledge, teid, valueof(SGSNContextAckPDU), seq) }
/* GTP-C RIM */ diff --git a/mme/MME_Tests.ttcn b/mme/MME_Tests.ttcn index f43bfbd..7266496 100644 --- a/mme/MME_Tests.ttcn +++ b/mme/MME_Tests.ttcn @@ -1232,6 +1232,8 @@ var OCT4 ptmsi; var OCT3 ptmsi_sig; var Gtp1cUnitdata gtpc_pdu; + var OCT4 new_sgsn_local_teid := '12345678'O; + var OCT4 old_mme_local_teid;
f_init_handler(pars); f_gtp_register_imsi(g_pars.ue_pars.imsi); @@ -1241,16 +1243,17 @@ * convert it to P-TMSI and pass P-TMSI below */ guti2rai_ptmsi(g_pars.ue_pars.guti, rai, ptmsi, ptmsi_sig);
- SGSNContextReqPDU := ts_SGSNContextReqPDU(rai, '00000000'O, f_inet_addr(mp_gn_local_ip), + SGSNContextReqPDU := ts_SGSNContextReqPDU(rai, new_sgsn_local_teid, f_inet_addr(mp_gn_local_ip), ptmsi := ts_PTMSI(ptmsi), ptmsi_sig := ts_PTMSI_sig(ptmsi_sig)); GTP.send(ts_GTPC_SGSNContextReq(g_gn_iface_peer, 0, SGSNContextReqPDU));
timer T := 5.0; T.start; alt { - [] GTP.receive(tr_GTPC_SGSNContextResp(g_gn_iface_peer, '00000000'O, + [] GTP.receive(tr_GTPC_SGSNContextResp(g_gn_iface_peer, new_sgsn_local_teid, tr_SGSNContextRespPDU(GTP_CAUSE_REQUEST_ACCEPTED, g_pars.ue_pars.imsi))) -> value gtpc_pdu { + old_mme_local_teid := gtpc_pdu.gtpc.gtpc_pdu.sgsn_ContextResponse.teidControlPlane.teidControlPlane; setverdict(pass); } [] GTP.receive { @@ -1261,7 +1264,8 @@ } }
- GTP.send(ts_GTPC_SGSNContextAck(g_gn_iface_peer, oct2int(gtpc_pdu.gtpc.opt_part.sequenceNumber), + GTP.send(ts_GTPC_SGSNContextAck(g_gn_iface_peer, old_mme_local_teid, + oct2int(gtpc_pdu.gtpc.opt_part.sequenceNumber), ts_SGSNContextAckPDU(GTP_CAUSE_REQUEST_ACCEPTED))); /* Give some time to process the SGSNContextACK: */ f_sleep(3.0);