fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38035?usp=email )
Change subject: library/PFCP_Emulation: allow retrieving the Recovery Time Stamp ......................................................................
library/PFCP_Emulation: allow retrieving the Recovery Time Stamp
The Recovery Time Stamp is a mandatory IE for some PDUs, such as:
* Heartbeat Request/Response * PFCP Association Setup Request/Response
Allow the PFCP_ConnHdlr components to retrieve its value, so that they can include it in outgoing (and expect in incoming) PDUs.
Change-Id: I23eb2b4e309460f93183df83cdd35e46a93fbb94 --- M library/PFCP_Emulation.ttcn 1 file changed, 18 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/38035/1
diff --git a/library/PFCP_Emulation.ttcn b/library/PFCP_Emulation.ttcn index 98dad59..280435e 100644 --- a/library/PFCP_Emulation.ttcn +++ b/library/PFCP_Emulation.ttcn @@ -208,6 +208,11 @@ f_PFCPEM_conn_add_or_update({vc_conn, omit, omit}); CLIENT_PROC.reply(PFCPEM_register:{}) to vc_conn; } + + [] CLIENT_PROC.getcall(PFCPEM_get_recovery_timestamp:{?}) -> sender vc_conn { + log("PFCP_Emulation main() CLIENT_PROC.getcall(PFCPEM_get_recovery_timestamp)"); + CLIENT_PROC.reply(PFCPEM_get_recovery_timestamp:{g_recovery_timestamp}) to vc_conn; + } } } } @@ -221,9 +226,11 @@ } with { extension "internal" };
signature PFCPEM_register(); +signature PFCPEM_get_recovery_timestamp(out integer rts);
type port PFCPEM_PROC_PT procedure { inout PFCPEM_register; + inout PFCPEM_get_recovery_timestamp; } with { extension "internal" };
/*********************************************************************** @@ -241,6 +248,17 @@ } }
+function f_pfcp_get_recovery_timestamp() +runs on PFCP_ConnHdlr return integer { + var integer rts; + + PFCP_PROC.call(PFCPEM_get_recovery_timestamp:{-}) { + [] PFCP_PROC.getreply(PFCPEM_get_recovery_timestamp:{?}) -> param(rts) {}; + } + + return rts; +} + altstep as_pfcp_ignore(PFCPEM_PT pt, template PDU_PFCP pfcp_expect := ?) { [] pt.receive(pfcp_expect) {