Loading ttcn3/EtsiLibrary/LibIpv6/LibMobility/LibIpv6_Rfc3775Mipv6_Functions.ttcn +1253 −1250 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ module LibIpv6_Rfc3775Mipv6_Functions { import from LibIpv6_Interface_TypesAndValues all ; import from LibIpv6_Interface_Templates all; import from LibIpv6_Interface_Functions all; import from LibIpv6_Interface_Functions all; import from LibIpv6_CommonRfcs_TypesAndValues all; import from LibIpv6_CommonRfcs_Templates all; import from LibIpv6_CommonRfcs_Functions all; Loading @@ -32,9 +31,6 @@ module LibIpv6_Rfc3775Mipv6_Functions { import from LibIpv6_Rfc2463Icmpv6_TypesAndValues all; import from LibIpv6_Rfc3775Mipv6_TypesAndValues all; import from LibIpv6_Rfc3775Mipv6_Templates all; import from LibIpv6_Interface_TypesAndValues all; import from LibIpv6_Interface_Templates all; import from LibIpv6_Interface_Functions all; //AtsIpv6 import from AtsIpv6_TestSystem all; import from AtsIpv6_TestConfiguration_TypesAndValues all; Loading Loading @@ -106,7 +102,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { var FncRetCode v_ret; var NeighborSolicitation v_nbrSol; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr(c_mipHdr, v_ret := f_sendBU(m_generalIpv6_extHdr(c_mipHdr, p_mnHoaTn, p_haGlaNut, m_extHdrList_1Elem( Loading Loading @@ -174,7 +170,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { return FncRetCode { var FncRetCode v_ret; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr(c_dstHdr, v_ret := f_sendBU(m_generalIpv6_extHdr(c_dstHdr, p_mnCoaTn, p_haGlaNut, m_extHdrList_2Elem( Loading Loading @@ -242,9 +238,10 @@ module LibIpv6_Rfc3775Mipv6_Functions { var Ipv6Packet v_ipv6Packet; var ExtensionHeader v_extHdr_espHeader; // Build espPayloadData var PlaintextData v_plaintextData := valueof( m_plaintextData( var EspIpDatagram v_espIpDatagram := valueof( m_espIpDatagram( m_extHdrList_1Elem( m_extHdr_mipHeader ( c_noNextHdr, Loading @@ -261,23 +258,28 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOpt_altCoa(m_altCoA(p_mnCoaTn)))))), omit) ); v_ret := f_buildEspExtHdr( vc_sad[0], v_plaintextData, v_extHdr_espHeader); if ( v_ret != e_success ) {return v_ret;} // v_ret := f_buildEspExtHdr( vc_sad[0], // v_plaintextData, // v_extHdr_espHeader); // if ( v_ret != e_success ) {return v_ret;} v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr(c_dstHdr, v_ret := f_sendBU(m_generalIpv6_extHdr(c_dstHdr, p_mnCoaTn, p_haGlaNut, m_extHdrList_2Elem( m_extHdr_dstOptHeader( c_espHdr, m_extHdr_dstOptHeader( c_espHdr, c_optLen2, m_dstOptList_2Elem( m_dstOpt_padN(m_optPad4), m_dstOpt_homeAddr(p_mnHoaTn))), v_extHdr_espHeader))); m_extHdr_espHeader( vc_sad[0].spi, vc_sad[0].seqNr, v_espIpDatagram, c_mipHdr)))); if ( v_ret != e_success ) {return v_ret;} /* if ( v_ret != e_success ) {return v_ret;} tc_ac.start; alt { //the test adapter process consists of decrypt and integrity check Loading Loading @@ -328,7 +330,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { log("**** f_sendBindUpAndWaitForBindAckOffHome_espTunnelMode: ERROR: tc_ac.timeout **** "); } } // end alt */ return v_ret; }//end f_sendBindUpAndWaitForBindAckOffHome_espTransportMode Loading Loading @@ -442,6 +444,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { // c_bindingAck, // mw_bindingAck(p_seqNr))), // v_decryptedEspHeaderData.espPayloadData) ; //Check concept: encode (message), then compare with received octetstring tc_ac.stop; v_ret := e_success ; Loading Loading @@ -504,7 +507,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { return FncRetCode { var FncRetCode v_ret; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr(c_dstHdr, v_ret := f_sendBU(m_generalIpv6_extHdr(c_dstHdr, p_mnCoaTn, p_haGlaNut, m_extHdrList_2Elem( Loading Loading @@ -653,16 +656,16 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOpt_padN(m_optPad2), m_mipOpt_altCoa(mw_altCoA_any))))))) -> value v_ipv6Packet { //Get SeqNr v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber; v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.sequenceNumber; //Get Lifetime v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.lifeTime; v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.lifeTime; //Get CareOfAddress v_mnCareOfAddr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.mipOptions[1].mipOptAltCoA.alternateCoA; v_mnCareOfAddr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.mipOptions[1].mipOptAltCoA.alternateCoA; //GetHomeAddress v_mnHomeAddr := v_ipv6Packet.extHdrList[0].destinationOptionHeader.destOptionList[1].homeAddressOption.homeAddress; v_ret := e_success; v_ret := f_sendGeneralIpv6 ( v_ret := f_sendBA ( m_generalIpv6_extHdr ( c_routeHdr, p_paramsRt.haGlas[0], Loading Loading @@ -706,16 +709,16 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOptList_1Elem( m_mipOpt_padN(m_optPad4))))))) -> value v_ipv6Packet { //Get SeqNr v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber; v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.sequenceNumber; //Get Lifetime v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.lifeTime; v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.lifeTime; //Get CareOfAddress v_mnCareOfAddr := v_ipv6Packet.ipv6Hdr.sourceAddress; //GetHomeAddress v_mnHomeAddr := v_ipv6Packet.extHdrList[0].destinationOptionHeader.destOptionList[1].homeAddressOption.homeAddress; v_ret := e_success; v_ret := f_sendGeneralIpv6 ( v_ret := f_sendBA ( m_generalIpv6_extHdr ( c_routeHdr, p_paramsRt.haGlas[0], Loading Loading @@ -823,7 +826,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_extHdrList_1Elem( mw_extHdr_mipHeader ( c_noNextHdr, c_homeTestInit, mw_hoti)))) -> value v_ipv6Packet { vc_mipSec.cnSimuParams.receivedHomeInitCookie := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTestInit.homeInitCookie; vc_mipSec.cnSimuParams.receivedHomeInitCookie := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTestInitMsg.homeInitCookie; vc_mipSec.cnSimuParams.homeKeygenToken := f_createHomeKeygenToken( vc_mipSec.cnSimuParams.kcnList[vc_mipSec.cnSimuParams.nonceIndex], valueof(p_mnHoa), Loading @@ -838,7 +841,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { } } // end alt v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr (c_mipHdr, v_ret := f_sendHot(m_generalIpv6_extHdr (c_mipHdr, p_cnGla, p_mnHoa, m_extHdrList_1Elem( m_extHdr_mipHeader ( c_noNextHdr, Loading Loading @@ -926,7 +929,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { var FncRetCode v_ret; var Ipv6Packet v_ipv6Packet; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr ( v_ret := f_sendHoti(m_generalIpv6_extHdr ( c_tunneledIpHdr, p_mnCoa, //TODO, it should be the home address p_haGlaNut, Loading @@ -948,10 +951,10 @@ module LibIpv6_Rfc3775Mipv6_Functions { c_homeTest, mw_hot)))) -> value v_ipv6Packet { tc_ac.stop; if (v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.homeTest.homeInitCookie if (v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.homeTestMsg.homeInitCookie == vc_mipSec.mnSimuParams.homeInitCookie) { vc_mipSec.mnSimuParams.receivedHomeNonceIndex := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.homeTest.homeNonceIndex; vc_mipSec.mnSimuParams.receivedHomeKeygenToken := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.homeTest.homeKeygenToken; vc_mipSec.mnSimuParams.receivedHomeNonceIndex := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.homeTestMsg.homeNonceIndex; vc_mipSec.mnSimuParams.receivedHomeKeygenToken := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.homeTestMsg.homeKeygenToken; } else { v_ret := e_error; Loading Loading @@ -981,7 +984,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { var FncRetCode v_ret; var Ipv6Packet v_ipv6Packet; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr ( v_ret := f_sendHoti(m_generalIpv6_extHdr ( c_mipHdr, p_mnHoa, p_cnGla, Loading @@ -1001,10 +1004,10 @@ module LibIpv6_Rfc3775Mipv6_Functions { c_homeTest, mw_hot)))) -> value v_ipv6Packet { tc_ac.stop; if (v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTest.homeInitCookie if (v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTestMsg.homeInitCookie == vc_mipSec.mnSimuParams.homeInitCookie) { vc_mipSec.mnSimuParams.receivedHomeNonceIndex := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTest.homeNonceIndex; vc_mipSec.mnSimuParams.receivedHomeKeygenToken := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTest.homeKeygenToken; vc_mipSec.mnSimuParams.receivedHomeNonceIndex := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTestMsg.homeNonceIndex; vc_mipSec.mnSimuParams.receivedHomeKeygenToken := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTestMsg.homeKeygenToken; } else { v_ret := e_error; Loading Loading @@ -1040,7 +1043,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { var FncRetCode v_ret; var Ipv6Packet v_ipv6Packet; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr ( v_ret := f_sendCoti(m_generalIpv6_extHdr ( c_mipHdr, p_mnCoa, p_cnGla, Loading @@ -1060,10 +1063,10 @@ module LibIpv6_Rfc3775Mipv6_Functions { c_careOfTest, mw_cot)))) -> value v_ipv6Packet { tc_ac.stop; if (v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.careOfTest.careOfInitCookie if (v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.careOfTestMsg.careOfInitCookie == vc_mipSec.mnSimuParams.careOfInitCookie) { vc_mipSec.mnSimuParams.receivedCareOfNonceIndex := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.careOfTest.careOfNonceIndex; vc_mipSec.mnSimuParams.receivedCareOfKeygenToken := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.careOfTest.careOfKeygenToken; vc_mipSec.mnSimuParams.receivedCareOfNonceIndex := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.careOfTestMsg.careOfNonceIndex; vc_mipSec.mnSimuParams.receivedCareOfKeygenToken := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.careOfTestMsg.careOfKeygenToken; } else { v_ret := e_error; Loading Loading @@ -1746,14 +1749,14 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOpt_padN(m_optPad2), m_mipOpt_altCoa(mw_altCoA_any))))))) -> value v_ipv6Packet { //Get SeqNr v_seqNr := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdate.sequenceNumber; v_seqNr := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdateMsg.sequenceNumber; //Get Lifetime v_lifetime := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdate.lifeTime; v_lifetime := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdateMsg.lifeTime; //Get HomeAddress v_mnHomeAddr := v_ipv6Packet.ipv6Hdr.sourceAddress; //TODO SMU read v_mnCareOfAddr from MipOptions v_ret := e_success ; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr( c_mipHdr, v_ret := f_sendBA(m_generalIpv6_extHdr( c_mipHdr, p_paramsTn.haGlas[0],//p_haGlaTn, v_mnHomeAddr, m_extHdrList_1Elem( Loading @@ -1780,13 +1783,13 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOptList_1Elem( m_mipOpt_padN(m_optPad4))))))) -> value v_ipv6Packet { //Get SeqNr v_seqNr := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdate.sequenceNumber; v_seqNr := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdateMsg.sequenceNumber; //Get Lifetime v_lifetime := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdate.lifeTime; v_lifetime := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdateMsg.lifeTime; //Get HomeAddress v_mnHomeAddr := v_ipv6Packet.ipv6Hdr.sourceAddress; v_ret := e_success ; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr( c_mipHdr, v_ret := f_sendBA(m_generalIpv6_extHdr( c_mipHdr, p_paramsTn.haGlas[0],//p_haGlaTn, v_mnHomeAddr, m_extHdrList_1Elem( Loading Loading @@ -1858,17 +1861,17 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOpt_padN(m_optPad2), m_mipOpt_altCoa(mw_altCoA_any))))))) -> value v_ipv6Packet { //Get SeqNr v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber; v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.sequenceNumber; //Get Lifetime v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.lifeTime; v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.lifeTime; //Get CareOfAddress //mnCareOfAddr1 := v_ipv6Packet.ipv6Hdr.sourceAddress; v_mnCareOfAddr1 := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.mipOptions[1].mipOptAltCoA.alternateCoA; v_mnCareOfAddr1 := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.mipOptions[1].mipOptAltCoA.alternateCoA; //TODO SMU read v_mnCareOfAddr from MipOptions //GetHomeAddress v_mnHomeAddr := v_ipv6Packet.extHdrList[0].destinationOptionHeader.destOptionList[1].homeAddressOption.homeAddress; v_ret := e_success ; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr( c_routeHdr, v_ret := f_sendBA(m_generalIpv6_extHdr( c_routeHdr, p_paramsTn.haGlas[0],//p_haGlaTn, v_mnCareOfAddr1, m_extHdrList_2Elem( Loading Loading @@ -1909,15 +1912,15 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOptList_1Elem( m_mipOpt_padN(m_optPad4))))))) -> value v_ipv6Packet { //Get SeqNr v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber; v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.sequenceNumber; //Get Lifetime v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.lifeTime; v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.lifeTime; //Get CareOfAddress v_mnCareOfAddr1 := v_ipv6Packet.ipv6Hdr.sourceAddress; //GetHomeAddress v_mnHomeAddr := v_ipv6Packet.extHdrList[0].destinationOptionHeader.destOptionList[1].homeAddressOption.homeAddress; v_ret := e_success ; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr( v_ret := f_sendBA(m_generalIpv6_extHdr( c_routeHdr, p_paramsTn.haGlas[0],//p_haGlaTn, v_mnCareOfAddr1, Loading ttcn3/EtsiLibrary/LibIpv6/LibMobility/LibIpv6_Rfc3775Mipv6_TypesAndValues.ttcn +14 −10 Original line number Diff line number Diff line Loading @@ -62,7 +62,8 @@ UInt16 reserved } with { encode "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 144)"; // encode "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 144)"; variant "present=bytes(1,144)&&(valueOf(getTag('nextHeader'))==58)"; } /* Loading @@ -79,8 +80,8 @@ Ipv6AddressList homeAgentAddresses optional } with { //TODO DTE encode "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 145)"; // variant "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 145)"; variant "present=bytes(1,145)&&(valueOf(getTag('nextHeader'))==58)"; } /* Loading @@ -96,8 +97,8 @@ UInt16 reserved } with { //TODO DTE encode "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 146)"; // variant "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 146)"; variant "present=bytes(1,146)&&(valueOf(getTag('nextHeader'))==58)"; } /* Loading @@ -118,8 +119,8 @@ MipPrefixInfoList mipPrefixInfoList } with { //TODO DTE encode "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 147)"; // variant "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 147)"; variant "present=bytes(1,147)&&(valueOf(getTag('nextHeader'))==58)"; } /* Loading @@ -145,8 +146,8 @@ MipRtAdvOptions mipRtAdvOptions optional } with { //TODO DTE encode "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 134)"; // variant "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 134)"; variant "present=bytes(1,134)&&(valueOf(getTag('nextHeader'))==58)"; } /* Loading @@ -167,7 +168,7 @@ type set length (1..c_maxNrMipPrefixInfo) of MipPrefixInfo MipPrefixInfoList with { encode "present=bytes(1, 0x03);elements=valueOf(getTag('hdrExtLen'));" variant "present=bytes(1, 0x03);elements=valueOf(getTag('hdrExtLen'));" } /* Loading @@ -188,6 +189,9 @@ UInt32 reserved2, Ipv6Address addrPrefix } with { variant "present=bytes(1, 0x03)" } Loading ttcn3/EtsiLibrary/LibIpv6/LibMobility/LibIpv6_Rfc4068FastHandovers_Functions.ttcn +0 −4 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ module LibIpv6_Rfc4068FastHandovers_Functions { import from LibIpv6_Interface_TypesAndValues all ; import from LibIpv6_Interface_Templates all; import from LibIpv6_Interface_Functions all; import from LibIpv6_Interface_Functions all; import from LibIpv6_CommonRfcs_TypesAndValues all; import from LibIpv6_CommonRfcs_Templates all; import from LibIpv6_CommonRfcs_Functions all; Loading @@ -34,9 +33,6 @@ module LibIpv6_Rfc4068FastHandovers_Functions { import from LibIpv6_Rfc3775Mipv6_Templates all; import from LibIpv6_Rfc4068FastHandovers_TypesAndValues all; import from LibIpv6_Rfc4068FastHandovers_Templates all; import from LibIpv6_Interface_TypesAndValues all; import from LibIpv6_Interface_Templates all; import from LibIpv6_Interface_Functions all; //AtsIpv6 import from AtsIpv6_TestSystem all; import from AtsIpv6_TestConfiguration_TypesAndValues all; Loading ttcn3/EtsiLibrary/LibIpv6/LibMobility/LibIpv6_Rfc4068FastHandovers_TypesAndValues.ttcn +36 −16 Original line number Diff line number Diff line Loading @@ -81,10 +81,9 @@ UInt16 identifier, FHRtSolPrOptions fHRtSolPrOptions optional } //TODO // with { // encode ""; // } with { variant "present=bytes(1, 150)&&bytes(4,1,2)"; } /* * @desc Possible options in RouterSolicitationForProxyRtAdvMsg Loading @@ -108,10 +107,10 @@ UInt16 identifier, FHPrRtAdvOptions fHPrRtAdvOptions optional } //TODO // with { // encode ""; // } with { variant "present=bytes(1, 150)&&bytes(4,1,3)"; variant (icmpCode) "intTag='ProxyRouterAdvertisement_icmpCode'"; } /* * @desc Possible options in ProxyRouterAdvertisementMsg Loading @@ -126,6 +125,10 @@ NewRouterPrefixInfo fHNewRouterPrefixInfo optional, IpAddress fHNewCareOfAddress optional } with { variant (fHNewRouterLinkLayerAddress) "present=(getIntTag('ProxyRouterAdvertisement_icmpCode')==0)||(getIntTag('ProxyRouterAdvertisement_icmpCode')==1)"; variant (fHNewRouterIpAddress) "present=(getIntTag('ProxyRouterAdvertisement_icmpCode')==0)||(getIntTag('ProxyRouterAdvertisement_icmpCode')==1)"; } /* * @desc Derived from RFC4068, clause 6.2.1 Loading @@ -141,10 +144,10 @@ UInt16 identifier, FHHoInitOptions fHHoInitOptions optional } //TODO // with { // encode ""; // } with { variant "present=bytes(1, 150)&&bytes(4,1,4)"; variant (icmpCode) "intTag='HandoverInitiate_icmpCode'"; } /* * @desc Possible options in HandoverInitiateMsg Loading @@ -155,6 +158,10 @@ IpAddress fHPreviousCareOfAddress optional, IpAddress fHNewCareOfAddress optional } with { variant (fHPreviousCareOfAddress) "present=getIntTag('HandoverInitiate_icmpCode')==0"; variant (fHNewCareOfAddress) "present=getIntTag('HandoverInitiate_icmpCode')==1"; } /* * @desc Derived from RFC4068, clause 6.1.2 Loading @@ -168,10 +175,9 @@ UInt16 identifier, FHHoAckOptions fHHoAckOptions optional } //TODO // with { // encode ""; // } with { variant "present=bytes(1, 150)&&bytes(4,1,5)"; } /* * @desc Possible options in HandoverAcknowledgeMsg Loading @@ -196,6 +202,9 @@ UInt32 reserved, Ipv6Address ipv6Address } with { variant "present=bytes(1,17)"; } /* * @desc Derived from RFC4068, clause 6.4.2 Loading @@ -208,6 +217,9 @@ UInt32 reserved, Ipv6Address addrPrefix } with { variant "present=bytes(1,18)"; } /* * @desc Derived from RFC4068, clause 6.4.3 Loading @@ -218,6 +230,11 @@ UInt8 optionCode, Oct6to15 linkLayerAddr } with { variant "present=bytes(1,19)"; variant (optionLength) "tag='NewLinkLayerAddress_optionLength';"; variant (data) "length=valueOf(getTag('NewLinkLayerAddress_optionLength'))*8-3;"; } /* * @desc Derived from RFC4068, clause 6.4.5 Loading @@ -230,6 +247,9 @@ UInt32 reserved, Ipv6Address newCoA optional } with { variant "present=bytes(1,20)"; } } // end rfc4068HastHandovers_options Loading Loading
ttcn3/EtsiLibrary/LibIpv6/LibMobility/LibIpv6_Rfc3775Mipv6_Functions.ttcn +1253 −1250 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ module LibIpv6_Rfc3775Mipv6_Functions { import from LibIpv6_Interface_TypesAndValues all ; import from LibIpv6_Interface_Templates all; import from LibIpv6_Interface_Functions all; import from LibIpv6_Interface_Functions all; import from LibIpv6_CommonRfcs_TypesAndValues all; import from LibIpv6_CommonRfcs_Templates all; import from LibIpv6_CommonRfcs_Functions all; Loading @@ -32,9 +31,6 @@ module LibIpv6_Rfc3775Mipv6_Functions { import from LibIpv6_Rfc2463Icmpv6_TypesAndValues all; import from LibIpv6_Rfc3775Mipv6_TypesAndValues all; import from LibIpv6_Rfc3775Mipv6_Templates all; import from LibIpv6_Interface_TypesAndValues all; import from LibIpv6_Interface_Templates all; import from LibIpv6_Interface_Functions all; //AtsIpv6 import from AtsIpv6_TestSystem all; import from AtsIpv6_TestConfiguration_TypesAndValues all; Loading Loading @@ -106,7 +102,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { var FncRetCode v_ret; var NeighborSolicitation v_nbrSol; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr(c_mipHdr, v_ret := f_sendBU(m_generalIpv6_extHdr(c_mipHdr, p_mnHoaTn, p_haGlaNut, m_extHdrList_1Elem( Loading Loading @@ -174,7 +170,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { return FncRetCode { var FncRetCode v_ret; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr(c_dstHdr, v_ret := f_sendBU(m_generalIpv6_extHdr(c_dstHdr, p_mnCoaTn, p_haGlaNut, m_extHdrList_2Elem( Loading Loading @@ -242,9 +238,10 @@ module LibIpv6_Rfc3775Mipv6_Functions { var Ipv6Packet v_ipv6Packet; var ExtensionHeader v_extHdr_espHeader; // Build espPayloadData var PlaintextData v_plaintextData := valueof( m_plaintextData( var EspIpDatagram v_espIpDatagram := valueof( m_espIpDatagram( m_extHdrList_1Elem( m_extHdr_mipHeader ( c_noNextHdr, Loading @@ -261,23 +258,28 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOpt_altCoa(m_altCoA(p_mnCoaTn)))))), omit) ); v_ret := f_buildEspExtHdr( vc_sad[0], v_plaintextData, v_extHdr_espHeader); if ( v_ret != e_success ) {return v_ret;} // v_ret := f_buildEspExtHdr( vc_sad[0], // v_plaintextData, // v_extHdr_espHeader); // if ( v_ret != e_success ) {return v_ret;} v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr(c_dstHdr, v_ret := f_sendBU(m_generalIpv6_extHdr(c_dstHdr, p_mnCoaTn, p_haGlaNut, m_extHdrList_2Elem( m_extHdr_dstOptHeader( c_espHdr, m_extHdr_dstOptHeader( c_espHdr, c_optLen2, m_dstOptList_2Elem( m_dstOpt_padN(m_optPad4), m_dstOpt_homeAddr(p_mnHoaTn))), v_extHdr_espHeader))); m_extHdr_espHeader( vc_sad[0].spi, vc_sad[0].seqNr, v_espIpDatagram, c_mipHdr)))); if ( v_ret != e_success ) {return v_ret;} /* if ( v_ret != e_success ) {return v_ret;} tc_ac.start; alt { //the test adapter process consists of decrypt and integrity check Loading Loading @@ -328,7 +330,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { log("**** f_sendBindUpAndWaitForBindAckOffHome_espTunnelMode: ERROR: tc_ac.timeout **** "); } } // end alt */ return v_ret; }//end f_sendBindUpAndWaitForBindAckOffHome_espTransportMode Loading Loading @@ -442,6 +444,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { // c_bindingAck, // mw_bindingAck(p_seqNr))), // v_decryptedEspHeaderData.espPayloadData) ; //Check concept: encode (message), then compare with received octetstring tc_ac.stop; v_ret := e_success ; Loading Loading @@ -504,7 +507,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { return FncRetCode { var FncRetCode v_ret; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr(c_dstHdr, v_ret := f_sendBU(m_generalIpv6_extHdr(c_dstHdr, p_mnCoaTn, p_haGlaNut, m_extHdrList_2Elem( Loading Loading @@ -653,16 +656,16 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOpt_padN(m_optPad2), m_mipOpt_altCoa(mw_altCoA_any))))))) -> value v_ipv6Packet { //Get SeqNr v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber; v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.sequenceNumber; //Get Lifetime v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.lifeTime; v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.lifeTime; //Get CareOfAddress v_mnCareOfAddr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.mipOptions[1].mipOptAltCoA.alternateCoA; v_mnCareOfAddr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.mipOptions[1].mipOptAltCoA.alternateCoA; //GetHomeAddress v_mnHomeAddr := v_ipv6Packet.extHdrList[0].destinationOptionHeader.destOptionList[1].homeAddressOption.homeAddress; v_ret := e_success; v_ret := f_sendGeneralIpv6 ( v_ret := f_sendBA ( m_generalIpv6_extHdr ( c_routeHdr, p_paramsRt.haGlas[0], Loading Loading @@ -706,16 +709,16 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOptList_1Elem( m_mipOpt_padN(m_optPad4))))))) -> value v_ipv6Packet { //Get SeqNr v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber; v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.sequenceNumber; //Get Lifetime v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.lifeTime; v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.lifeTime; //Get CareOfAddress v_mnCareOfAddr := v_ipv6Packet.ipv6Hdr.sourceAddress; //GetHomeAddress v_mnHomeAddr := v_ipv6Packet.extHdrList[0].destinationOptionHeader.destOptionList[1].homeAddressOption.homeAddress; v_ret := e_success; v_ret := f_sendGeneralIpv6 ( v_ret := f_sendBA ( m_generalIpv6_extHdr ( c_routeHdr, p_paramsRt.haGlas[0], Loading Loading @@ -823,7 +826,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_extHdrList_1Elem( mw_extHdr_mipHeader ( c_noNextHdr, c_homeTestInit, mw_hoti)))) -> value v_ipv6Packet { vc_mipSec.cnSimuParams.receivedHomeInitCookie := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTestInit.homeInitCookie; vc_mipSec.cnSimuParams.receivedHomeInitCookie := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTestInitMsg.homeInitCookie; vc_mipSec.cnSimuParams.homeKeygenToken := f_createHomeKeygenToken( vc_mipSec.cnSimuParams.kcnList[vc_mipSec.cnSimuParams.nonceIndex], valueof(p_mnHoa), Loading @@ -838,7 +841,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { } } // end alt v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr (c_mipHdr, v_ret := f_sendHot(m_generalIpv6_extHdr (c_mipHdr, p_cnGla, p_mnHoa, m_extHdrList_1Elem( m_extHdr_mipHeader ( c_noNextHdr, Loading Loading @@ -926,7 +929,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { var FncRetCode v_ret; var Ipv6Packet v_ipv6Packet; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr ( v_ret := f_sendHoti(m_generalIpv6_extHdr ( c_tunneledIpHdr, p_mnCoa, //TODO, it should be the home address p_haGlaNut, Loading @@ -948,10 +951,10 @@ module LibIpv6_Rfc3775Mipv6_Functions { c_homeTest, mw_hot)))) -> value v_ipv6Packet { tc_ac.stop; if (v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.homeTest.homeInitCookie if (v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.homeTestMsg.homeInitCookie == vc_mipSec.mnSimuParams.homeInitCookie) { vc_mipSec.mnSimuParams.receivedHomeNonceIndex := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.homeTest.homeNonceIndex; vc_mipSec.mnSimuParams.receivedHomeKeygenToken := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.homeTest.homeKeygenToken; vc_mipSec.mnSimuParams.receivedHomeNonceIndex := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.homeTestMsg.homeNonceIndex; vc_mipSec.mnSimuParams.receivedHomeKeygenToken := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.homeTestMsg.homeKeygenToken; } else { v_ret := e_error; Loading Loading @@ -981,7 +984,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { var FncRetCode v_ret; var Ipv6Packet v_ipv6Packet; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr ( v_ret := f_sendHoti(m_generalIpv6_extHdr ( c_mipHdr, p_mnHoa, p_cnGla, Loading @@ -1001,10 +1004,10 @@ module LibIpv6_Rfc3775Mipv6_Functions { c_homeTest, mw_hot)))) -> value v_ipv6Packet { tc_ac.stop; if (v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTest.homeInitCookie if (v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTestMsg.homeInitCookie == vc_mipSec.mnSimuParams.homeInitCookie) { vc_mipSec.mnSimuParams.receivedHomeNonceIndex := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTest.homeNonceIndex; vc_mipSec.mnSimuParams.receivedHomeKeygenToken := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTest.homeKeygenToken; vc_mipSec.mnSimuParams.receivedHomeNonceIndex := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTestMsg.homeNonceIndex; vc_mipSec.mnSimuParams.receivedHomeKeygenToken := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.homeTestMsg.homeKeygenToken; } else { v_ret := e_error; Loading Loading @@ -1040,7 +1043,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { var FncRetCode v_ret; var Ipv6Packet v_ipv6Packet; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr ( v_ret := f_sendCoti(m_generalIpv6_extHdr ( c_mipHdr, p_mnCoa, p_cnGla, Loading @@ -1060,10 +1063,10 @@ module LibIpv6_Rfc3775Mipv6_Functions { c_careOfTest, mw_cot)))) -> value v_ipv6Packet { tc_ac.stop; if (v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.careOfTest.careOfInitCookie if (v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.careOfTestMsg.careOfInitCookie == vc_mipSec.mnSimuParams.careOfInitCookie) { vc_mipSec.mnSimuParams.receivedCareOfNonceIndex := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.careOfTest.careOfNonceIndex; vc_mipSec.mnSimuParams.receivedCareOfKeygenToken := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.careOfTest.careOfKeygenToken; vc_mipSec.mnSimuParams.receivedCareOfNonceIndex := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.careOfTestMsg.careOfNonceIndex; vc_mipSec.mnSimuParams.receivedCareOfKeygenToken := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.careOfTestMsg.careOfKeygenToken; } else { v_ret := e_error; Loading Loading @@ -1746,14 +1749,14 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOpt_padN(m_optPad2), m_mipOpt_altCoa(mw_altCoA_any))))))) -> value v_ipv6Packet { //Get SeqNr v_seqNr := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdate.sequenceNumber; v_seqNr := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdateMsg.sequenceNumber; //Get Lifetime v_lifetime := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdate.lifeTime; v_lifetime := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdateMsg.lifeTime; //Get HomeAddress v_mnHomeAddr := v_ipv6Packet.ipv6Hdr.sourceAddress; //TODO SMU read v_mnCareOfAddr from MipOptions v_ret := e_success ; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr( c_mipHdr, v_ret := f_sendBA(m_generalIpv6_extHdr( c_mipHdr, p_paramsTn.haGlas[0],//p_haGlaTn, v_mnHomeAddr, m_extHdrList_1Elem( Loading @@ -1780,13 +1783,13 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOptList_1Elem( m_mipOpt_padN(m_optPad4))))))) -> value v_ipv6Packet { //Get SeqNr v_seqNr := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdate.sequenceNumber; v_seqNr := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdateMsg.sequenceNumber; //Get Lifetime v_lifetime := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdate.lifeTime; v_lifetime := v_ipv6Packet.extHdrList[0].mipHeader.mipMessage.bindingUpdateMsg.lifeTime; //Get HomeAddress v_mnHomeAddr := v_ipv6Packet.ipv6Hdr.sourceAddress; v_ret := e_success ; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr( c_mipHdr, v_ret := f_sendBA(m_generalIpv6_extHdr( c_mipHdr, p_paramsTn.haGlas[0],//p_haGlaTn, v_mnHomeAddr, m_extHdrList_1Elem( Loading Loading @@ -1858,17 +1861,17 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOpt_padN(m_optPad2), m_mipOpt_altCoa(mw_altCoA_any))))))) -> value v_ipv6Packet { //Get SeqNr v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber; v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.sequenceNumber; //Get Lifetime v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.lifeTime; v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.lifeTime; //Get CareOfAddress //mnCareOfAddr1 := v_ipv6Packet.ipv6Hdr.sourceAddress; v_mnCareOfAddr1 := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.mipOptions[1].mipOptAltCoA.alternateCoA; v_mnCareOfAddr1 := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.mipOptions[1].mipOptAltCoA.alternateCoA; //TODO SMU read v_mnCareOfAddr from MipOptions //GetHomeAddress v_mnHomeAddr := v_ipv6Packet.extHdrList[0].destinationOptionHeader.destOptionList[1].homeAddressOption.homeAddress; v_ret := e_success ; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr( c_routeHdr, v_ret := f_sendBA(m_generalIpv6_extHdr( c_routeHdr, p_paramsTn.haGlas[0],//p_haGlaTn, v_mnCareOfAddr1, m_extHdrList_2Elem( Loading Loading @@ -1909,15 +1912,15 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_mipOptList_1Elem( m_mipOpt_padN(m_optPad4))))))) -> value v_ipv6Packet { //Get SeqNr v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber; v_seqNr := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.sequenceNumber; //Get Lifetime v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdate.lifeTime; v_lifetime := v_ipv6Packet.extHdrList[1].mipHeader.mipMessage.bindingUpdateMsg.lifeTime; //Get CareOfAddress v_mnCareOfAddr1 := v_ipv6Packet.ipv6Hdr.sourceAddress; //GetHomeAddress v_mnHomeAddr := v_ipv6Packet.extHdrList[0].destinationOptionHeader.destOptionList[1].homeAddressOption.homeAddress; v_ret := e_success ; v_ret := f_sendGeneralIpv6(m_generalIpv6_extHdr( v_ret := f_sendBA(m_generalIpv6_extHdr( c_routeHdr, p_paramsTn.haGlas[0],//p_haGlaTn, v_mnCareOfAddr1, Loading
ttcn3/EtsiLibrary/LibIpv6/LibMobility/LibIpv6_Rfc3775Mipv6_TypesAndValues.ttcn +14 −10 Original line number Diff line number Diff line Loading @@ -62,7 +62,8 @@ UInt16 reserved } with { encode "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 144)"; // encode "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 144)"; variant "present=bytes(1,144)&&(valueOf(getTag('nextHeader'))==58)"; } /* Loading @@ -79,8 +80,8 @@ Ipv6AddressList homeAgentAddresses optional } with { //TODO DTE encode "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 145)"; // variant "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 145)"; variant "present=bytes(1,145)&&(valueOf(getTag('nextHeader'))==58)"; } /* Loading @@ -96,8 +97,8 @@ UInt16 reserved } with { //TODO DTE encode "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 146)"; // variant "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 146)"; variant "present=bytes(1,146)&&(valueOf(getTag('nextHeader'))==58)"; } /* Loading @@ -118,8 +119,8 @@ MipPrefixInfoList mipPrefixInfoList } with { //TODO DTE encode "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 147)"; // variant "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 147)"; variant "present=bytes(1,147)&&(valueOf(getTag('nextHeader'))==58)"; } /* Loading @@ -145,8 +146,8 @@ MipRtAdvOptions mipRtAdvOptions optional } with { //TODO DTE encode "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 134)"; // variant "isPDU=LibIpv6_Rfc3775MIPv6_TypesAndValues;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkHeaderAndType(dec, 58, 134)"; variant "present=bytes(1,134)&&(valueOf(getTag('nextHeader'))==58)"; } /* Loading @@ -167,7 +168,7 @@ type set length (1..c_maxNrMipPrefixInfo) of MipPrefixInfo MipPrefixInfoList with { encode "present=bytes(1, 0x03);elements=valueOf(getTag('hdrExtLen'));" variant "present=bytes(1, 0x03);elements=valueOf(getTag('hdrExtLen'));" } /* Loading @@ -188,6 +189,9 @@ UInt32 reserved2, Ipv6Address addrPrefix } with { variant "present=bytes(1, 0x03)" } Loading
ttcn3/EtsiLibrary/LibIpv6/LibMobility/LibIpv6_Rfc4068FastHandovers_Functions.ttcn +0 −4 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ module LibIpv6_Rfc4068FastHandovers_Functions { import from LibIpv6_Interface_TypesAndValues all ; import from LibIpv6_Interface_Templates all; import from LibIpv6_Interface_Functions all; import from LibIpv6_Interface_Functions all; import from LibIpv6_CommonRfcs_TypesAndValues all; import from LibIpv6_CommonRfcs_Templates all; import from LibIpv6_CommonRfcs_Functions all; Loading @@ -34,9 +33,6 @@ module LibIpv6_Rfc4068FastHandovers_Functions { import from LibIpv6_Rfc3775Mipv6_Templates all; import from LibIpv6_Rfc4068FastHandovers_TypesAndValues all; import from LibIpv6_Rfc4068FastHandovers_Templates all; import from LibIpv6_Interface_TypesAndValues all; import from LibIpv6_Interface_Templates all; import from LibIpv6_Interface_Functions all; //AtsIpv6 import from AtsIpv6_TestSystem all; import from AtsIpv6_TestConfiguration_TypesAndValues all; Loading
ttcn3/EtsiLibrary/LibIpv6/LibMobility/LibIpv6_Rfc4068FastHandovers_TypesAndValues.ttcn +36 −16 Original line number Diff line number Diff line Loading @@ -81,10 +81,9 @@ UInt16 identifier, FHRtSolPrOptions fHRtSolPrOptions optional } //TODO // with { // encode ""; // } with { variant "present=bytes(1, 150)&&bytes(4,1,2)"; } /* * @desc Possible options in RouterSolicitationForProxyRtAdvMsg Loading @@ -108,10 +107,10 @@ UInt16 identifier, FHPrRtAdvOptions fHPrRtAdvOptions optional } //TODO // with { // encode ""; // } with { variant "present=bytes(1, 150)&&bytes(4,1,3)"; variant (icmpCode) "intTag='ProxyRouterAdvertisement_icmpCode'"; } /* * @desc Possible options in ProxyRouterAdvertisementMsg Loading @@ -126,6 +125,10 @@ NewRouterPrefixInfo fHNewRouterPrefixInfo optional, IpAddress fHNewCareOfAddress optional } with { variant (fHNewRouterLinkLayerAddress) "present=(getIntTag('ProxyRouterAdvertisement_icmpCode')==0)||(getIntTag('ProxyRouterAdvertisement_icmpCode')==1)"; variant (fHNewRouterIpAddress) "present=(getIntTag('ProxyRouterAdvertisement_icmpCode')==0)||(getIntTag('ProxyRouterAdvertisement_icmpCode')==1)"; } /* * @desc Derived from RFC4068, clause 6.2.1 Loading @@ -141,10 +144,10 @@ UInt16 identifier, FHHoInitOptions fHHoInitOptions optional } //TODO // with { // encode ""; // } with { variant "present=bytes(1, 150)&&bytes(4,1,4)"; variant (icmpCode) "intTag='HandoverInitiate_icmpCode'"; } /* * @desc Possible options in HandoverInitiateMsg Loading @@ -155,6 +158,10 @@ IpAddress fHPreviousCareOfAddress optional, IpAddress fHNewCareOfAddress optional } with { variant (fHPreviousCareOfAddress) "present=getIntTag('HandoverInitiate_icmpCode')==0"; variant (fHNewCareOfAddress) "present=getIntTag('HandoverInitiate_icmpCode')==1"; } /* * @desc Derived from RFC4068, clause 6.1.2 Loading @@ -168,10 +175,9 @@ UInt16 identifier, FHHoAckOptions fHHoAckOptions optional } //TODO // with { // encode ""; // } with { variant "present=bytes(1, 150)&&bytes(4,1,5)"; } /* * @desc Possible options in HandoverAcknowledgeMsg Loading @@ -196,6 +202,9 @@ UInt32 reserved, Ipv6Address ipv6Address } with { variant "present=bytes(1,17)"; } /* * @desc Derived from RFC4068, clause 6.4.2 Loading @@ -208,6 +217,9 @@ UInt32 reserved, Ipv6Address addrPrefix } with { variant "present=bytes(1,18)"; } /* * @desc Derived from RFC4068, clause 6.4.3 Loading @@ -218,6 +230,11 @@ UInt8 optionCode, Oct6to15 linkLayerAddr } with { variant "present=bytes(1,19)"; variant (optionLength) "tag='NewLinkLayerAddress_optionLength';"; variant (data) "length=valueOf(getTag('NewLinkLayerAddress_optionLength'))*8-3;"; } /* * @desc Derived from RFC4068, clause 6.4.5 Loading @@ -230,6 +247,9 @@ UInt32 reserved, Ipv6Address newCoA optional } with { variant "present=bytes(1,20)"; } } // end rfc4068HastHandovers_options Loading