[MERGED] osmo-ttcn3-hacks[master]: ggsn: Move GTP templates to separate GTP_Templates + Add GTP...
Harald Welte has submitted this change and it was merged. Change subject: ggsn: Move GTP templates to separate GTP_Templates + Add GTP_Emulation .. ggsn: Move GTP templates to separate GTP_Templates + Add GTP_Emulation Change-Id: I384e59738a9e0fc0186b69f0806f217a2a8d8a4b --- M ggsn_tests/GGSN_Tests.ttcn M ggsn_tests/gen_links.sh A library/GTP_Emulation.ttcn A library/GTP_Templates.ttcn 4 files changed, 777 insertions(+), 510 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn index 28f461c..f320c20 100644 --- a/ggsn_tests/GGSN_Tests.ttcn +++ b/ggsn_tests/GGSN_Tests.ttcn @@ -6,6 +6,7 @@ import from IPL4asp_Types all; import from GTP_CodecPort all; import from GTP_CodecPort_CtrlFunct all; + import from GTP_Templates all; import from GTPC_Types all; import from GTPU_Types all; import from IPCP_Types all; @@ -93,515 +94,6 @@ g_restart_ctr := f_rnd_octstring(1); g_c_seq_nr := f_rnd_int(65535); g_d_seq_nr := f_rnd_int(65535); - } - - /* generalized GTP-C receive template */ - template PDU_GTPC tr_GTP1C_PDU(template OCT1 msg_type, template OCT4 teid, template GTPC_PDUs pdu := ?) := { - /* N-PDU Number flag (PN) shall be set to '0'. A GTP-C receiver shall not return an -* error if this flag is set to '1'. */ - pn_bit := '0'B, - /* Sequence number flag (S) shall be set to '1'. */ - s_bit := '1'B, - e_bit := ?, - spare := ?, - /* Protocol Type flag (PT) shall be set to '1'.*/ - pt := '1'B, - /* Version shall be set to decimal 1 ('001'). */ - version := '001'B, - messageType := msg_type, - lengthf := ?, - teid := teid, - opt_part := *, - gtpc_pdu := pdu - } - - /* generalized GTP-C send template */ - template PDU_GTPC ts_GTP1C_PDU(OCT1 msg_type, OCT4 teid, GTPC_PDUs pdu, uint16_t seq_nr) := { - /* N-PDU Number flag (PN) shall be set to '0'. A GTP-C receiver shall not return an -* error if this flag is set to '1'. */ - pn_bit := '0'B, - /* Sequence number flag (S) shall be set to '1'. */ - s_bit := '1'B, - e_bit := '0'B, - spare := '0'B, - /* Protocol Type flag (PT) shall be set to '1'.*/ - pt := '1'B, - /* Version shall be set to decimal 1 ('001'). */ - version := '001'B, - messageType := msg_type, - lengthf := 0, /* we assume encoder overwrites this */ - teid := teid, - opt_part := { - sequenceNumber := int2oct(seq_nr, 2), - npduNumber := '00'O, - nextExtHeader := '00'O, - gTPC_extensionHeader_List := omit - }, - gtpc_pdu := pdu - } - - /* recovery IE */ - template Recovery_gtpc ts_Recovery(OCT1 restart_counter) := { - type_gtpc := '0E'O, - restartCounter := restart_counter - } - - template Recovery_gtpc tr_Recovery(template OCT1 restart_counter) := { - type_gtpc := '0E'O, - restartCounter := restart_counter - } - - /* template matching reception of GTP-C echo-request */ - template Gtp1cUnitdata tr_GTPC_MsgType(template GtpPeer peer, template OCT1 msg_type, template OCT4 teid, template GTPC_PDUs pdus := ?) := { - peer := peer, - gtpc := tr_GTP1C_PDU(msg_type, teid, pdus) - } - - /* template matching reception of GTP-C echo-request */ - template Gtp1cUnitdata tr_GTPC_PING(template GtpPeer peer) := tr_GTPC_MsgType(peer, echoRequest, ''O); - - template GTPC_PDUs tr_EchoRespPDU(template OCT1 restart_counter) := { - echoResponse := { - recovery := tr_Recovery(restart_counter), - private_extension_gtpc := * - } - } - - /* template matching reception of GTP-C echo-response */ - template Gtp1cUnitdata tr_GTPC_PONG(template GtpPeer peer) := tr_GTPC_MsgType(peer, echoResponse, ''O, tr_EchoRespPDU(?)); - - template GTPC_PDUs ts_EchoRespPDU(OCT1 restart_counter) := { - echoResponse := { - recovery := ts_Recovery(restart_counter), - private_extension_gtpc := omit - } - } - - /* master template for senidng a GTP-C echo response */ - template Gtp1cUnitdata ts_GTPC_PONG(GtpPeer peer, uint16_t seq, OCT1
osmo-ttcn3-hacks[master]: ggsn: Move GTP templates to separate GTP_Templates + Add GTP...
Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/6567 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I384e59738a9e0fc0186b69f0806f217a2a8d8a4b Gerrit-PatchSet: 1 Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Owner: Harald WelteGerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-HasComments: No
[PATCH] osmo-ttcn3-hacks[master]: ggsn: Move GTP templates to separate GTP_Templates + Add GTP...
Review at https://gerrit.osmocom.org/6567 ggsn: Move GTP templates to separate GTP_Templates + Add GTP_Emulation Change-Id: I384e59738a9e0fc0186b69f0806f217a2a8d8a4b --- M ggsn_tests/GGSN_Tests.ttcn M ggsn_tests/gen_links.sh A library/GTP_Emulation.ttcn A library/GTP_Templates.ttcn 4 files changed, 777 insertions(+), 510 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/6567/1 diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn index 28f461c..f320c20 100644 --- a/ggsn_tests/GGSN_Tests.ttcn +++ b/ggsn_tests/GGSN_Tests.ttcn @@ -6,6 +6,7 @@ import from IPL4asp_Types all; import from GTP_CodecPort all; import from GTP_CodecPort_CtrlFunct all; + import from GTP_Templates all; import from GTPC_Types all; import from GTPU_Types all; import from IPCP_Types all; @@ -93,515 +94,6 @@ g_restart_ctr := f_rnd_octstring(1); g_c_seq_nr := f_rnd_int(65535); g_d_seq_nr := f_rnd_int(65535); - } - - /* generalized GTP-C receive template */ - template PDU_GTPC tr_GTP1C_PDU(template OCT1 msg_type, template OCT4 teid, template GTPC_PDUs pdu := ?) := { - /* N-PDU Number flag (PN) shall be set to '0'. A GTP-C receiver shall not return an -* error if this flag is set to '1'. */ - pn_bit := '0'B, - /* Sequence number flag (S) shall be set to '1'. */ - s_bit := '1'B, - e_bit := ?, - spare := ?, - /* Protocol Type flag (PT) shall be set to '1'.*/ - pt := '1'B, - /* Version shall be set to decimal 1 ('001'). */ - version := '001'B, - messageType := msg_type, - lengthf := ?, - teid := teid, - opt_part := *, - gtpc_pdu := pdu - } - - /* generalized GTP-C send template */ - template PDU_GTPC ts_GTP1C_PDU(OCT1 msg_type, OCT4 teid, GTPC_PDUs pdu, uint16_t seq_nr) := { - /* N-PDU Number flag (PN) shall be set to '0'. A GTP-C receiver shall not return an -* error if this flag is set to '1'. */ - pn_bit := '0'B, - /* Sequence number flag (S) shall be set to '1'. */ - s_bit := '1'B, - e_bit := '0'B, - spare := '0'B, - /* Protocol Type flag (PT) shall be set to '1'.*/ - pt := '1'B, - /* Version shall be set to decimal 1 ('001'). */ - version := '001'B, - messageType := msg_type, - lengthf := 0, /* we assume encoder overwrites this */ - teid := teid, - opt_part := { - sequenceNumber := int2oct(seq_nr, 2), - npduNumber := '00'O, - nextExtHeader := '00'O, - gTPC_extensionHeader_List := omit - }, - gtpc_pdu := pdu - } - - /* recovery IE */ - template Recovery_gtpc ts_Recovery(OCT1 restart_counter) := { - type_gtpc := '0E'O, - restartCounter := restart_counter - } - - template Recovery_gtpc tr_Recovery(template OCT1 restart_counter) := { - type_gtpc := '0E'O, - restartCounter := restart_counter - } - - /* template matching reception of GTP-C echo-request */ - template Gtp1cUnitdata tr_GTPC_MsgType(template GtpPeer peer, template OCT1 msg_type, template OCT4 teid, template GTPC_PDUs pdus := ?) := { - peer := peer, - gtpc := tr_GTP1C_PDU(msg_type, teid, pdus) - } - - /* template matching reception of GTP-C echo-request */ - template Gtp1cUnitdata tr_GTPC_PING(template GtpPeer peer) := tr_GTPC_MsgType(peer, echoRequest, ''O); - - template GTPC_PDUs tr_EchoRespPDU(template OCT1 restart_counter) := { - echoResponse := { - recovery := tr_Recovery(restart_counter), - private_extension_gtpc := * - } - } - - /* template matching reception of GTP-C echo-response */ - template Gtp1cUnitdata tr_GTPC_PONG(template GtpPeer peer) := tr_GTPC_MsgType(peer, echoResponse, ''O, tr_EchoRespPDU(?)); - - template GTPC_PDUs ts_EchoRespPDU(OCT1 restart_counter) := { - echoResponse := { - recovery := ts_Recovery(restart_counter), - private_extension_gtpc := omit - } - } - - /* master template for senidng a GTP-C echo response */ - template Gtp1cUnitdata ts_GTPC_PONG(GtpPeer peer, uint16_t seq, OCT1 rest_ctr) := { - peer := peer, - gtpc := ts_GTP1C_PDU(echoResponse, ''O, valueof(ts_EchoRespPDU(rest_ctr)), seq) - } - - template