fixeria has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37197?usp=email )


Change subject: library: de-duplicate SCTP related templates
......................................................................

library: de-duplicate SCTP related templates

Change-Id: Ic2a0cba0cfb1909ccbd1ade9565d508fd239f78c
Related: SYS#6772
---
M library/DIAMETER_Emulation.ttcn
M library/GTPv2_Emulation.ttcn
M library/Iuh_Emulation.ttcn
M library/S1AP_Emulation.ttcn
M library/SGsAP_Emulation.ttcn
M library/sbcap/SBC_AP_Adapter.ttcn
M library/sbcap/SBC_AP_CodecPort.ttcn
M stp/STP_Tests_M3UA.ttcn
8 files changed, 46 insertions(+), 130 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/97/37197/1

diff --git a/library/DIAMETER_Emulation.ttcn b/library/DIAMETER_Emulation.ttcn
index 69107d4..e5698fd 100644
--- a/library/DIAMETER_Emulation.ttcn
+++ b/library/DIAMETER_Emulation.ttcn
@@ -39,6 +39,7 @@
 import from IPL4asp_Types all;
 import from TCCConversion_Functions all;
 import from Native_Functions all;
+import from SCTP_Templates all;

 type hexstring IMSI;

@@ -308,24 +309,6 @@
        }
 }

-private template (value) SctpTuple ts_SCTP(template (omit) integer ppid := 
omit) := {
-       sinfo_stream := omit,
-       sinfo_ppid := ppid,
-       remSocks := omit,
-       assocId := omit
-};
-
-private template PortEvent tr_SctpAssocChange := {
-       sctpEvent := {
-               sctpAssocChange := ?
-       }
-}
-private template PortEvent tr_SctpPeerAddrChange := {
-       sctpEvent := {
-               sctpPeerAddrChange := ?
-       }
-}
-
 private function f_diameter_xceive(template (value) PDU_DIAMETER tx,
                                   template PDU_DIAMETER rx_t := ?)
 runs on DIAMETER_Emulation_CT return PDU_DIAMETER {
@@ -341,7 +324,7 @@
                mtc.stop;
                }
        [] DIAMETER.receive(tr_SctpAssocChange) { repeat; }
-       [] DIAMETER.receive(tr_SctpPeerAddrChange)  { repeat; }
+       [] DIAMETER.receive(tr_SctpPeerAddrChange) { repeat; }
        [] T.timeout {
                setverdict(fail, "Timeout waiting for ", rx_t);
                mtc.stop;
@@ -360,10 +343,12 @@

        map(self:DIAMETER, system:DIAMETER_CODEC_PT);
        if (server_mode) {
-               res := DIAMETER_CodecPort_CtrlFunct.f_IPL4_listen(DIAMETER, 
p.local_ip, p.local_sctp_port, { sctp := valueof(ts_SCTP) });
+               res := DIAMETER_CodecPort_CtrlFunct.f_IPL4_listen(DIAMETER, 
p.local_ip, p.local_sctp_port,
+                                                                 { sctp := 
valueof(ts_SctpTuple) });
        } else {
                res := DIAMETER_CodecPort_CtrlFunct.f_IPL4_connect(DIAMETER, 
p.remote_ip, p.remote_sctp_port,
-                                                               p.local_ip, 
p.local_sctp_port, -1, { sctp := valueof(ts_SCTP) });
+                                                               p.local_ip, 
p.local_sctp_port, -1,
+                                                               { sctp := 
valueof(ts_SctpTuple) });
        }
        if (not ispresent(res.connId)) {
                setverdict(fail, "Could not connect DIAMETER socket, check your 
configuration");
@@ -459,7 +444,7 @@
                        }
                        }
                [] DIAMETER.receive(tr_SctpAssocChange) { }
-               [] DIAMETER.receive(tr_SctpPeerAddrChange)  { }
+               [] DIAMETER.receive(tr_SctpPeerAddrChange) { }
                [] DIAMETER_PROC.getcall(DIAMETEREM_register_imsi:{?,?}) -> 
param(imsi, vc_conn) {
                        f_create_expect(imsi, vc_conn);
                        DIAMETER_PROC.reply(DIAMETEREM_register_imsi:{imsi, 
vc_conn}) to vc_conn;
diff --git a/library/GTPv2_Emulation.ttcn b/library/GTPv2_Emulation.ttcn
index f3f09f8..15720f9 100644
--- a/library/GTPv2_Emulation.ttcn
+++ b/library/GTPv2_Emulation.ttcn
@@ -21,6 +21,7 @@
 import from GTPv2_Templates all;
 import from GTPv2_CodecPort all;
 import from GTPv2_CodecPort_CtrlFunct all;
+import from SCTP_Templates all;

 import from UECUPS_Types all;
 import from UECUPS_CodecPort all;
@@ -431,13 +432,6 @@
        return false;
 }

-private template (value) SctpTuple ts_SCTP(template (omit) integer ppid := 
omit) := {
-       sinfo_stream := omit,
-       sinfo_ppid := ppid,
-       remSocks := omit,
-       assocId := omit
-};
-
 function tr_UECUPS_RecvFrom_R(template PDU_UECUPS msg)
 runs on GTPv2_Emulation_CT return template UECUPS_RecvFrom {
        var template UECUPS_RecvFrom mrf := {
@@ -452,17 +446,6 @@
 }


-private template PortEvent tr_SctpAssocChange := {
-       sctpEvent := {
-               sctpAssocChange := ?
-       }
-}
-private template PortEvent tr_SctpPeerAddrChange := {
-       sctpEvent := {
-               sctpPeerAddrChange := ?
-       }
-}
-
 private function f_uecups_xceive(template (value) PDU_UECUPS tx,
                                template PDU_UECUPS rx_t := ?, float time_out 
:= 10.0)
 runs on GTPv2_Emulation_CT  return PDU_UECUPS {
@@ -474,7 +457,7 @@
        alt {
        [] UECUPS.receive(tr_UECUPS_RecvFrom_R(rx_t)) -> value mrf { }
        [] UECUPS.receive(tr_SctpAssocChange) { repeat; }
-       [] UECUPS.receive(tr_SctpPeerAddrChange)  { repeat; }
+       [] UECUPS.receive(tr_SctpPeerAddrChange) { repeat; }
        [] T.timeout {
                setverdict(fail, "Timeout waiting for ", rx_t);
                mtc.stop;
@@ -504,7 +487,8 @@

        if (g_gtp2_cfg.use_gtpu_daemon) {
                map(self:UECUPS, system:UECUPS);
-               res := UECUPS_CodecPort_CtrlFunct.f_IPL4_connect(UECUPS, 
mp_uecups_host, mp_uecups_port, "", -1, -1, { sctp := valueof(ts_SCTP) });
+               res := UECUPS_CodecPort_CtrlFunct.f_IPL4_connect(UECUPS, 
mp_uecups_host, mp_uecups_port, "", -1, -1,
+                                                                { sctp := 
valueof(ts_SctpTuple) });
                if (not ispresent(res.connId)) {
                        setverdict(fail, "Could not connect UECUPS socket, 
check your configuration");
                        testcase.stop;
diff --git a/library/Iuh_Emulation.ttcn b/library/Iuh_Emulation.ttcn
index e05afe5..e1f283f 100644
--- a/library/Iuh_Emulation.ttcn
+++ b/library/Iuh_Emulation.ttcn
@@ -31,6 +31,7 @@
 import from RUA_IEs all;
 import from RUA_Templates all;
 import from Iuh_Types all;
+import from SCTP_Templates all;

 import from General_Types all;
 import from Misc_Helpers all;
@@ -95,24 +96,6 @@
        return mrf;
 }

-private template (value) SctpTuple ts_SCTP(template (omit) integer ppid := 
omit) := {
-       sinfo_stream := omit,
-       sinfo_ppid := ppid,
-       remSocks := omit,
-       assocId := omit
-};
-
-private template PortEvent tr_SctpAssocChange := {
-       sctpEvent := {
-               sctpAssocChange := ?
-       }
-}
-private template PortEvent tr_SctpPeerAddrChange := {
-       sctpEvent := {
-               sctpPeerAddrChange := ?
-       }
-}
-
 private function emu_is_server() runs on Iuh_Emulation_CT return boolean {
        return g_pars.remote_sctp_port == -1
 }
@@ -148,10 +131,12 @@

        map(self:Iuh, system:Iuh_CODEC_PT);
        if (emu_is_server()) {
-               res := Iuh_CodecPort_CtrlFunct.f_IPL4_listen(Iuh, p.local_ip, 
p.local_sctp_port, { sctp := valueof(ts_SCTP) });
+               res := Iuh_CodecPort_CtrlFunct.f_IPL4_listen(Iuh, p.local_ip, 
p.local_sctp_port,
+                                                            { sctp := 
valueof(ts_SctpTuple) });
        } else {
                res := Iuh_CodecPort_CtrlFunct.f_IPL4_connect(Iuh, p.remote_ip, 
p.remote_sctp_port,
-                                                               p.local_ip, 
p.local_sctp_port, -1, { sctp := valueof(ts_SCTP) });
+                                                             p.local_ip, 
p.local_sctp_port, -1,
+                                                             { sctp := 
valueof(ts_SctpTuple) });
        }
        if (not ispresent(res.connId)) {
                f_shutdown(__FILE__, __LINE__, fail, "Could not connect Iuh 
socket, check your configuration");
diff --git a/library/S1AP_Emulation.ttcn b/library/S1AP_Emulation.ttcn
index 955c690..3cce091 100644
--- a/library/S1AP_Emulation.ttcn
+++ b/library/S1AP_Emulation.ttcn
@@ -40,6 +40,7 @@
 import from S1AP_PDU_Descriptions all;
 import from S1AP_IEs all;
 import from S1AP_Templates all;
+import from SCTP_Templates all;

 import from NAS_EPS_Types all;
 import from NAS_Templates all;
@@ -288,24 +289,6 @@
        }
 }

-private template (value) SctpTuple ts_SCTP(template (omit) integer ppid := 18) 
:= {
-       sinfo_stream := omit,
-       sinfo_ppid := ppid,
-       remSocks := omit,
-       assocId := omit
-};
-
-private template PortEvent tr_SctpAssocChange := {
-       sctpEvent := {
-               sctpAssocChange := ?
-       }
-}
-private template PortEvent tr_SctpPeerAddrChange := {
-       sctpEvent := {
-               sctpPeerAddrChange := ?
-       }
-}
-
 private function f_s1ap_xceive(template (value) S1AP_PDU tx,
                                template S1AP_PDU rx_t := ?)
 runs on S1AP_Emulation_CT  return S1AP_PDU {
@@ -412,10 +395,12 @@

        map(self:S1AP, system:S1AP_CODEC_PT);
        if (p.remote_sctp_port == -1) {
-               res := S1AP_CodecPort_CtrlFunct.f_IPL4_listen(S1AP, p.local_ip, 
p.local_sctp_port, { sctp := valueof(ts_SCTP) });
+               res := S1AP_CodecPort_CtrlFunct.f_IPL4_listen(S1AP, p.local_ip, 
p.local_sctp_port,
+                                                             { sctp := 
valueof(ts_SctpTuple(18)) });
        } else {
                res := S1AP_CodecPort_CtrlFunct.f_IPL4_connect(S1AP, 
p.remote_ip, p.remote_sctp_port,
-                                                               p.local_ip, 
p.local_sctp_port, -1, { sctp := valueof(ts_SCTP) });
+                                                              p.local_ip, 
p.local_sctp_port, -1,
+                                                              { sctp := 
valueof(ts_SctpTuple(18)) });
        }
        if (not ispresent(res.connId)) {
                setverdict(fail, "Could not connect S1AP socket, check your 
configuration");
diff --git a/library/SGsAP_Emulation.ttcn b/library/SGsAP_Emulation.ttcn
index b860fe2..bb125a5 100644
--- a/library/SGsAP_Emulation.ttcn
+++ b/library/SGsAP_Emulation.ttcn
@@ -31,6 +31,7 @@
 import from SGsAP_CodecPort_CtrlFunct all;
 import from SGsAP_Types all;
 import from SGsAP_Templates all;
+import from SCTP_Templates all;
 import from Osmocom_Types all;
 import from IPL4asp_Types all;
 import from DNS_Helpers all;
@@ -245,24 +246,6 @@
        return omit;
 }

-private template (value) SctpTuple ts_SCTP(template (omit) integer ppid := 
omit) := {
-       sinfo_stream := omit,
-       sinfo_ppid := ppid,
-       remSocks := omit,
-       assocId := omit
-};
-
-private template PortEvent tr_SctpAssocChange := {
-       sctpEvent := {
-               sctpAssocChange := ?
-       }
-}
-private template PortEvent tr_SctpPeerAddrChange := {
-       sctpEvent := {
-               sctpPeerAddrChange := ?
-       }
-}
-
 private function f_sgsap_xceive(template (value) PDU_SGsAP tx,
                                template PDU_SGsAP rx_t := ?)
 runs on SGsAP_Emulation_CT  return PDU_SGsAP {
@@ -290,10 +273,12 @@

        map(self:SGsAP, system:SGsAP_CODEC_PT);
        if (p.remote_sctp_port == -1) {
-               res := SGsAP_CodecPort_CtrlFunct.f_IPL4_listen(SGsAP, 
p.local_ip, p.local_sctp_port, { sctp := valueof(ts_SCTP) });
+               res := SGsAP_CodecPort_CtrlFunct.f_IPL4_listen(SGsAP, 
p.local_ip, p.local_sctp_port,
+                                                              { sctp := 
valueof(ts_SctpTuple) });
        } else {
                res := SGsAP_CodecPort_CtrlFunct.f_IPL4_connect(SGsAP, 
p.remote_ip, p.remote_sctp_port,
-                                                               p.local_ip, 
p.local_sctp_port, -1, { sctp := valueof(ts_SCTP) });
+                                                               p.local_ip, 
p.local_sctp_port, -1,
+                                                               { sctp := 
valueof(ts_SctpTuple) });
        }
        if (not ispresent(res.connId)) {
                setverdict(fail, "Could not connect SGsAP socket, check your 
configuration");
diff --git a/library/sbcap/SBC_AP_Adapter.ttcn 
b/library/sbcap/SBC_AP_Adapter.ttcn
index 515a723..5adb648 100644
--- a/library/sbcap/SBC_AP_Adapter.ttcn
+++ b/library/sbcap/SBC_AP_Adapter.ttcn
@@ -21,6 +21,7 @@
 import from IPL4asp_Types all;
 import from IPL4asp_PortType all;
 import from Socket_API_Definitions all;
+import from SCTP_Templates all;
 import from Misc_Helpers all;


@@ -34,25 +35,14 @@
        var IPL4asp_Types.ConnectionId g_SBC_AP_conn_id[NUM_SBC_AP] := { -1, 
-1, -1 };
 }

-private template Socket_API_Definitions.PortEvent 
tr_SctpAssocChange_COMM_UP(IPL4asp_Types.ConnectionId id) := {
-       sctpEvent := {
-               sctpAssocChange := {
-                       clientId := id,
-                       proto := {
-                               sctp := ?
-                       },
-                       sac_state := SCTP_COMM_UP
-               }
-       }
-}
-
 function f_connect(charstring remote_host, IPL4asp_Types.PortNumber 
remote_port,
                   charstring local_host, IPL4asp_Types.PortNumber local_port, 
integer idx := 0)
 runs on SBC_AP_Adapter_CT {
        var IPL4asp_Types.Result res;
        map(self:SBC_AP[idx], system:SBC_AP);
        res := SBC_AP_CodecPort_CtrlFunct.f_IPL4_connect(SBC_AP[idx], 
remote_host, remote_port,
-                                                       local_host, local_port, 
0, { sctp := valueof(ts_SBC_AP_SctpTuple) });
+                                                       local_host, local_port, 
0,
+                                                       { sctp := 
c_SBC_AP_SctpTuple });
        if (not ispresent(res.connId)) {
                setverdict(fail, "Could not connect to SBC_AP port, check your 
configuration");
                mtc.stop;
@@ -61,7 +51,7 @@
        timer Tcommup := 10.0;
        Tcommup.start;
        alt {
-       [] 
SBC_AP[idx].receive(tr_SctpAssocChange_COMM_UP(g_SBC_AP_conn_id[idx])) {}
+       [] SBC_AP[idx].receive(tr_SctpAssocChange(SCTP_COMM_UP, 
g_SBC_AP_conn_id[idx])) {}
        [] Tcommup.timeout {
                Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout 
waiting SCTP_COMM_UP");
        }
@@ -73,7 +63,8 @@
 runs on SBC_AP_Adapter_CT {
        var IPL4asp_Types.Result res;
        map(self:SBC_AP[idx], system:SBC_AP);
-       res := SBC_AP_CodecPort_CtrlFunct.f_IPL4_listen(SBC_AP[idx], 
local_host, local_port, { sctp := valueof(ts_SBC_AP_SctpTuple) });
+       res := SBC_AP_CodecPort_CtrlFunct.f_IPL4_listen(SBC_AP[idx], 
local_host, local_port,
+                                                       { sctp := 
c_SBC_AP_SctpTuple });
        g_SBC_AP_conn_id[idx] := res.connId;
 }

@@ -87,7 +78,7 @@
        timer Tcommup := 10.0;
        Tcommup.start;
        alt {
-       [] 
SBC_AP[idx].receive(tr_SctpAssocChange_COMM_UP(g_SBC_AP_conn_id[idx])) {}
+       [] SBC_AP[idx].receive(tr_SctpAssocChange(SCTP_COMM_UP, 
g_SBC_AP_conn_id[idx])) {}
        [] Tcommup.timeout {
                Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout 
waiting SCTP_COMM_UP");
        }
diff --git a/library/sbcap/SBC_AP_CodecPort.ttcn 
b/library/sbcap/SBC_AP_CodecPort.ttcn
index bd17031..881e189 100644
--- a/library/sbcap/SBC_AP_CodecPort.ttcn
+++ b/library/sbcap/SBC_AP_CodecPort.ttcn
@@ -32,7 +32,7 @@
                SBC_AP_PDU      msg
        };

-       template (value) SctpTuple ts_SBC_AP_SctpTuple := {
+       const SctpTuple c_SBC_AP_SctpTuple := {
                sinfo_stream := omit,
                sinfo_ppid := c_SBC_AP_PPID,
                remSocks := omit,
@@ -65,7 +65,7 @@
        private function SBC_AP_to_IPL4_Send(in SBC_AP_Send pin, out ASP_Send 
pout) {
                pout.connId := pin.connId;
                pout.proto := {
-                       sctp := valueof(ts_SBC_AP_SctpTuple)
+                       sctp := c_SBC_AP_SctpTuple
                };
                pout.msg := enc_SBC_AP_PDU(pin.msg);
        } with { extension "prototype(fast)" };
diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn
index 24b3ae1..9c45a32 100644
--- a/stp/STP_Tests_M3UA.ttcn
+++ b/stp/STP_Tests_M3UA.ttcn
@@ -33,6 +33,7 @@
 import from SCCP_Templates all;
 import from SCCPasp_Types all;
 import from SCCP_Emulation all;
+import from SCTP_Templates all;

 import from STP_Tests_Common all;

@@ -151,16 +152,6 @@
        var integer g_m3ua_conn_id[NR_M3UA+NR_M3UA_SRV];
 }

-private template PortEvent tr_SctpAssocChange := {
-       sctpEvent := {
-               sctpAssocChange := ?
-       }
-}
-private template PortEvent tr_SctpPeerAddrChange := {
-       sctpEvent := {
-               sctpPeerAddrChange := ?
-       }
-}
 private template PortEvent tr_ConnOpened := {
        connOpened := ?
 }

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37197?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ic2a0cba0cfb1909ccbd1ade9565d508fd239f78c
Gerrit-Change-Number: 37197
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <[email protected]>
Gerrit-MessageType: newchange

Reply via email to