WIP: attempt at IPA extended StreamID support
diff --git a/library/IPA_CodecPort.ttcn b/library/IPA_CodecPort.ttcn
index ad94a92..de47a16 100644
--- a/library/IPA_CodecPort.ttcn
+++ b/library/IPA_CodecPort.ttcn
@@ -7,12 +7,14 @@
type record IPA_RecvFrom {
ConnectionId connId,
IpaStreamId streamId,
+ IpaExtStreamId streamIdExt optional,
octetstring msg
}
type record IPA_Send {
ConnectionId connId,
IpaStreamId streamId,
+ IpaExtStreamId streamIdExt optional,
octetstring msg
}
@@ -33,11 +35,12 @@
var PDU_IPA ipa := dec_PDU_IPA(pin.msg);
pout.connId := pin.connId;
pout.streamId := ipa.streamId
+ pout.streamIdExt := ipa.streamIdExt
pout.msg := ipa.payloadData;
} with { extension "prototype(fast)" }
private function IPA_to_IPL4_Send(in IPA_Send pin, out ASP_Send pout) {
- var PDU_IPA ipa := { 0, pin.streamId, pin.msg };
+ var PDU_IPA ipa := { 0, pin.streamId, pin.streamIdExt, pin.msg };
pout.connId := pin.connId;
pout.proto := { tcp := {} };
pout.msg := enc_PDU_IPA(ipa);
diff --git a/library/IPA_Emulation.ttcn b/library/IPA_Emulation.ttcn
index ed51110..57edb00 100644
--- a/library/IPA_Emulation.ttcn
+++ b/library/IPA_Emulation.ttcn
@@ -19,6 +19,7 @@
type record ASP_IPA_Unitdata {
IpaStreamId streamId,
+ IpaStreamIdExt streamIdExt optional,
octetstring payload
}
@@ -105,6 +106,7 @@
var IPA_Send ipa_tx := {
connId := g_ipa_conn_id,
streamId := IPAC_PROTO_CCM,
+ streamIdExt := omit,
msg := enc_PDU_IPA_CCM(ccm)
}
log("CCM Tx:", ccm);
@@ -151,6 +153,7 @@
private function f_to_asp(IPA_RecvFrom ipa_rx) return ASP_IPA_Unitdata {
var ASP_IPA_Unitdata ret := {
streamId := ipa_rx.streamId,
+ streamIdExt := ipa_rx.streamIdExt,
payload := ipa_rx.msg
}
return ret;
@@ -160,6 +163,7 @@
var IPA_Send ret := {
connId := connId,
streamId := ipa_tx.streamId,
+ streamIdExt := ipa_tx.streamIdExt,
msg := ipa_tx.payload
}
return ret;
diff --git a/library/IPA_Types.ttcn b/library/IPA_Types.ttcn
index 1636f44..eb8081c 100644
--- a/library/IPA_Types.ttcn
+++ b/library/IPA_Types.ttcn
@@ -37,11 +37,13 @@
{
uint16_t lengthInd,
IpaStreamId streamId,
+ IpaExtStreamId streamIdExt optional,
octetstring payloadData
} with {
variant (lengthInd) "LENGTHTO(payloadData)";
variant (lengthInd) "FIELDLENGTH(16)";
variant (lengthInd) "BYTEORDER(last)";
+ variant (streamIdExt) "PRESENCE(streamId=IPAC_PROTO_OSMO)";
}