[MERGED] osmo-ttcn3-hacks[master]: ggsn: Move GTP templates to separate GTP_Templates + Add GTP...

2018-02-18 Thread Harald Welte
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...

2018-02-18 Thread Harald Welte

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 Welte 
Gerrit-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...

2018-02-18 Thread Harald Welte

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