Loading ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2460Root_Functions.ttcn +16 −14 Original line number Diff line number Diff line Loading @@ -62,7 +62,8 @@ var Ipv6Address v_homeAddress := c_16ZeroBytes; //select ext hdrs that need special calculation for (i:=0; i<=sizeof(p_generalIpv6.extHdrList);i:=i+1) { if (ispresent(p_generalIpv6.extHdrList)) { for (i:=0; i<sizeof(p_generalIpv6.extHdrList);i:=i+1) { if (ischosen(p_generalIpv6.extHdrList[i].mipHeader)) { if (f_isPresentHomeAddressOption(p_generalIpv6.extHdrList, v_homeAddress) == e_success) { f_setMipHeader( v_homeAddress, Loading @@ -79,6 +80,7 @@ f_setSecurityHdr(); } */ } } return e_success; }//end f_setGeneralIpv6ExtensionHeaders Loading ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2460Root_Templates.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -325,7 +325,7 @@ * @param p_ipv6Address First IPv6 address in the routing header */ template RoutingHeaderData m_routingHeaderData_ipv6AddressList_1Elem ( template Ipv6Address p_ipv6Address ) := { ipv6AddressList := { rtHdrDataIpv6AddressList := { p_ipv6Address } } Loading ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2460Root_TypesAndValues.ttcn +16 −5 Original line number Diff line number Diff line Loading @@ -68,13 +68,23 @@ encode (nextHeader) "tag='nextHeader';"; } /* * @desc Derived from RFC 2460 Section 3 * @url http://www.ietf.org/rfc/rfc2460.txt */ type Ipv6Header TunneledIpv6Header with { encode "present=isEOF()== false && (valueOf(dec.getTag('nextHeader'))==41);"; } } // end ipv6HeaderRelatedTypes group extensionHeaders { type set length(1 .. c_maxIpv6ExtHdrs) of ExtensionHeader ExtensionHeaderList with { encode "present=isEOF()== false && ((valueOf(dec.getTag('nextHeader'))==0) || (valueOf(dec.getTag('nextHeader'))==43) || (valueOf(dec.getTag('nextHeader'))==44) || (valueOf(dec.getTag('nextHeader'))==60) || (valueOf(dec.getTag('nextHeader'))==51) || (valueOf(dec.getTag('nextHeader'))==50) || (valueOf(dec.getTag('nextHeader'))==41))"; encode "present=isEOF()== false && ((valueOf(dec.getTag('nextHeader'))==0) || (valueOf(dec.getTag('nextHeader'))==43) || (valueOf(dec.getTag('nextHeader'))==44) || (valueOf(dec.getTag('nextHeader'))==60) || (valueOf(dec.getTag('nextHeader'))==51) || (valueOf(dec.getTag('nextHeader'))==50) || (valueOf(dec.getTag('nextHeader'))==41) || (valueOf(dec.getTag('nextHeader'))==135))"; } /* Loading @@ -89,7 +99,8 @@ FragmentHeader fragmentHeader, DestOptionHeader destinationOptionHeader, //tunneledIpv6 Ipv6Header tunnelIpv6, // Ipv6Header tunnelIpv6, TunneledIpv6Header tunnelIpv6, MipHeader mipHeader,//defined in LibIpv6_MultiRfcs_TypesAndValues AuthHeader authHeader, //defined in LibIpv6_MultiRfcs_TypesAndValues EspHeader espHeader/*, //defined in LibIpv6_MultiRfcs_TypesAndValues Loading @@ -97,7 +108,7 @@ */ } with { encode "present=isEOF()== false && ((valueOf(dec.getTag('nextHeader'))==0) || (valueOf(dec.getTag('nextHeader'))==43) || (valueOf(dec.getTag('nextHeader'))==44) || (valueOf(dec.getTag('nextHeader'))==60) || (valueOf(dec.getTag('nextHeader'))==51) || (valueOf(dec.getTag('nextHeader'))==50) || (valueOf(dec.getTag('nextHeader'))==41))"; encode "present=isEOF()== false && ((valueOf(dec.getTag('nextHeader'))==0) || (valueOf(dec.getTag('nextHeader'))==43) || (valueOf(dec.getTag('nextHeader'))==44) || (valueOf(dec.getTag('nextHeader'))==60) || (valueOf(dec.getTag('nextHeader'))==51) || (valueOf(dec.getTag('nextHeader'))==50) || (valueOf(dec.getTag('nextHeader'))==41) || (valueOf(dec.getTag('nextHeader'))==135))"; } /* Loading Loading @@ -139,7 +150,7 @@ * and to mipDate when 2 (Length req. to be checked!!) */ type union RoutingHeaderData{ Ipv6AddressList ipv6AddressList, RtHdrDataIpv6AddressList rtHdrDataIpv6AddressList, MipData mipData } Loading ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2461NeighborDiscovery_TypesAndValues.ttcn +10 −5 Original line number Diff line number Diff line Loading @@ -179,10 +179,15 @@ SrcLinkLayerAddress srcLinkLayerAddr optional, MtuOption mtuOption optional, PrefixInfoList prefixInfoList optional, AdvertisementInterval advertisementInterval optional, HomeAgentInfo homeAgentInfo optional, octetstring otherOption optional } type set length (1..c_maxNrPrefixInfo) of PrefixInfo PrefixInfoList; type set length (1..c_maxNrPrefixInfo) of PrefixInfo PrefixInfoList with { encode "present=bytes(1, 0x03)" } /* * @desc Derived from RFC 2461 clause 4.6.2 Loading ttcn3/EtsiLibrary/LibIpv6/LibMobility/LibIpv6_Rfc3775Mipv6_Functions.ttcn +61 −37 Original line number Diff line number Diff line Loading @@ -82,7 +82,8 @@ module LibIpv6_Rfc3775Mipv6_Functions { var Ipv6Address v_homeAddress := c_16ZeroBytes; //select ext hdrs that need special calculation for (i:=0; i<=sizeof(p_haAddrDreq.extHdrList);i:=i+1) { if (ispresent(p_haAddrDreq.extHdrList)) { for (i:=0; i<sizeof(p_haAddrDreq.extHdrList);i:=i+1) { if (ischosen(p_haAddrDreq.extHdrList[i].mipHeader)) { if (f_isPresentHomeAddressOption(p_haAddrDreq.extHdrList, v_homeAddress) == e_success) { f_setMipHeader( v_homeAddress, Loading @@ -99,6 +100,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { f_setSecurityHdr(); } */ } } return e_success; }//end f_setHaAddrDreqExtensionHeaders Loading Loading @@ -161,7 +163,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { p_haGlaNut, m_extHdrList_2Elem( m_extHdr_dstOptHeader( c_mipHdr, c_optLen16, c_optLen2, m_dstOptList_2Elem( m_dstOpt_padN(m_optPad4), m_dstOpt_homeAddr(p_mnHoaTn))), Loading @@ -170,9 +172,9 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_bindingUpdate(c_defSeqNo, c_aFlag1, c_hFlag1, c_lFlag1, c_kFlag1, c_zeroTimeUnits, c_lFlag0, c_kFlag0, c_100TimeUnits, m_mipOptList_1Elem( m_mipOpt_padN(m_optPad4))))))); if ( v_ret != e_success ) {return v_ret;} Loading @@ -193,6 +195,16 @@ module LibIpv6_Rfc3775Mipv6_Functions { tc_ac.stop; v_ret := e_success ; } [] ipPort.receive(mw_generalIpv6_srcDst( c_mipHdr, p_haGlaNut, p_mnCoaTn, m_extHdrList_1Elem( mw_extHdr_mipHeader ( c_noNextHdr, c_bindingError, mw_bindingError)))) { tc_ac.stop; v_ret := e_error ; } [] tc_ac.timeout{ v_ret := e_timeout; log("**** f_registerMnToHa: ERROR: tc_ac.timeout **** "); Loading Loading @@ -414,7 +426,8 @@ module LibIpv6_Rfc3775Mipv6_Functions { var Ipv6Address v_homeAddress := c_16ZeroBytes; //select ext hdrs that need special calculation for (i:=0; i<=sizeof(p_mipPrefixSol.extHdrList);i:=i+1) { if (ispresent(p_mipPrefixSol.extHdrList)) { for (i:=0; i<sizeof(p_mipPrefixSol.extHdrList);i:=i+1) { if (ischosen(p_mipPrefixSol.extHdrList[i].mipHeader)) { if (f_isPresentHomeAddressOption(p_mipPrefixSol.extHdrList, v_homeAddress) == e_success) { f_setMipHeader( v_homeAddress, Loading @@ -431,6 +444,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { f_setSecurityHdr(); } */ } } return e_success; }//end f_setMipPrefixSolExtensionHeaders Loading @@ -454,7 +468,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_extHdrList_1Elem( m_extHdr_dstOptHeader( c_icmpHdr, c_optLen16, c_optLen2, m_dstOptList_2Elem( m_dstOpt_padN(m_optPad4), m_dstOpt_homeAddr(p_mnHoaTn)))))); Loading @@ -475,6 +489,16 @@ module LibIpv6_Rfc3775Mipv6_Functions { tc_ac.stop; v_ret := e_success ; } [] ipPort.receive(mw_generalIpv6_srcDst( c_mipHdr, p_haGla, p_mnCoaTn, m_extHdrList_1Elem( mw_extHdr_mipHeader ( c_noNextHdr, c_bindingError, mw_bindingError)))) { tc_ac.stop; v_ret := e_error ; } [] tc_ac.timeout{ v_ret := e_timeout; log("**** f_sendMipPrefixSolAndWaitForReply: ERROR: tc_ac.timeout **** "); Loading Loading
ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2460Root_Functions.ttcn +16 −14 Original line number Diff line number Diff line Loading @@ -62,7 +62,8 @@ var Ipv6Address v_homeAddress := c_16ZeroBytes; //select ext hdrs that need special calculation for (i:=0; i<=sizeof(p_generalIpv6.extHdrList);i:=i+1) { if (ispresent(p_generalIpv6.extHdrList)) { for (i:=0; i<sizeof(p_generalIpv6.extHdrList);i:=i+1) { if (ischosen(p_generalIpv6.extHdrList[i].mipHeader)) { if (f_isPresentHomeAddressOption(p_generalIpv6.extHdrList, v_homeAddress) == e_success) { f_setMipHeader( v_homeAddress, Loading @@ -79,6 +80,7 @@ f_setSecurityHdr(); } */ } } return e_success; }//end f_setGeneralIpv6ExtensionHeaders Loading
ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2460Root_Templates.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -325,7 +325,7 @@ * @param p_ipv6Address First IPv6 address in the routing header */ template RoutingHeaderData m_routingHeaderData_ipv6AddressList_1Elem ( template Ipv6Address p_ipv6Address ) := { ipv6AddressList := { rtHdrDataIpv6AddressList := { p_ipv6Address } } Loading
ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2460Root_TypesAndValues.ttcn +16 −5 Original line number Diff line number Diff line Loading @@ -68,13 +68,23 @@ encode (nextHeader) "tag='nextHeader';"; } /* * @desc Derived from RFC 2460 Section 3 * @url http://www.ietf.org/rfc/rfc2460.txt */ type Ipv6Header TunneledIpv6Header with { encode "present=isEOF()== false && (valueOf(dec.getTag('nextHeader'))==41);"; } } // end ipv6HeaderRelatedTypes group extensionHeaders { type set length(1 .. c_maxIpv6ExtHdrs) of ExtensionHeader ExtensionHeaderList with { encode "present=isEOF()== false && ((valueOf(dec.getTag('nextHeader'))==0) || (valueOf(dec.getTag('nextHeader'))==43) || (valueOf(dec.getTag('nextHeader'))==44) || (valueOf(dec.getTag('nextHeader'))==60) || (valueOf(dec.getTag('nextHeader'))==51) || (valueOf(dec.getTag('nextHeader'))==50) || (valueOf(dec.getTag('nextHeader'))==41))"; encode "present=isEOF()== false && ((valueOf(dec.getTag('nextHeader'))==0) || (valueOf(dec.getTag('nextHeader'))==43) || (valueOf(dec.getTag('nextHeader'))==44) || (valueOf(dec.getTag('nextHeader'))==60) || (valueOf(dec.getTag('nextHeader'))==51) || (valueOf(dec.getTag('nextHeader'))==50) || (valueOf(dec.getTag('nextHeader'))==41) || (valueOf(dec.getTag('nextHeader'))==135))"; } /* Loading @@ -89,7 +99,8 @@ FragmentHeader fragmentHeader, DestOptionHeader destinationOptionHeader, //tunneledIpv6 Ipv6Header tunnelIpv6, // Ipv6Header tunnelIpv6, TunneledIpv6Header tunnelIpv6, MipHeader mipHeader,//defined in LibIpv6_MultiRfcs_TypesAndValues AuthHeader authHeader, //defined in LibIpv6_MultiRfcs_TypesAndValues EspHeader espHeader/*, //defined in LibIpv6_MultiRfcs_TypesAndValues Loading @@ -97,7 +108,7 @@ */ } with { encode "present=isEOF()== false && ((valueOf(dec.getTag('nextHeader'))==0) || (valueOf(dec.getTag('nextHeader'))==43) || (valueOf(dec.getTag('nextHeader'))==44) || (valueOf(dec.getTag('nextHeader'))==60) || (valueOf(dec.getTag('nextHeader'))==51) || (valueOf(dec.getTag('nextHeader'))==50) || (valueOf(dec.getTag('nextHeader'))==41))"; encode "present=isEOF()== false && ((valueOf(dec.getTag('nextHeader'))==0) || (valueOf(dec.getTag('nextHeader'))==43) || (valueOf(dec.getTag('nextHeader'))==44) || (valueOf(dec.getTag('nextHeader'))==60) || (valueOf(dec.getTag('nextHeader'))==51) || (valueOf(dec.getTag('nextHeader'))==50) || (valueOf(dec.getTag('nextHeader'))==41) || (valueOf(dec.getTag('nextHeader'))==135))"; } /* Loading Loading @@ -139,7 +150,7 @@ * and to mipDate when 2 (Length req. to be checked!!) */ type union RoutingHeaderData{ Ipv6AddressList ipv6AddressList, RtHdrDataIpv6AddressList rtHdrDataIpv6AddressList, MipData mipData } Loading
ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2461NeighborDiscovery_TypesAndValues.ttcn +10 −5 Original line number Diff line number Diff line Loading @@ -179,10 +179,15 @@ SrcLinkLayerAddress srcLinkLayerAddr optional, MtuOption mtuOption optional, PrefixInfoList prefixInfoList optional, AdvertisementInterval advertisementInterval optional, HomeAgentInfo homeAgentInfo optional, octetstring otherOption optional } type set length (1..c_maxNrPrefixInfo) of PrefixInfo PrefixInfoList; type set length (1..c_maxNrPrefixInfo) of PrefixInfo PrefixInfoList with { encode "present=bytes(1, 0x03)" } /* * @desc Derived from RFC 2461 clause 4.6.2 Loading
ttcn3/EtsiLibrary/LibIpv6/LibMobility/LibIpv6_Rfc3775Mipv6_Functions.ttcn +61 −37 Original line number Diff line number Diff line Loading @@ -82,7 +82,8 @@ module LibIpv6_Rfc3775Mipv6_Functions { var Ipv6Address v_homeAddress := c_16ZeroBytes; //select ext hdrs that need special calculation for (i:=0; i<=sizeof(p_haAddrDreq.extHdrList);i:=i+1) { if (ispresent(p_haAddrDreq.extHdrList)) { for (i:=0; i<sizeof(p_haAddrDreq.extHdrList);i:=i+1) { if (ischosen(p_haAddrDreq.extHdrList[i].mipHeader)) { if (f_isPresentHomeAddressOption(p_haAddrDreq.extHdrList, v_homeAddress) == e_success) { f_setMipHeader( v_homeAddress, Loading @@ -99,6 +100,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { f_setSecurityHdr(); } */ } } return e_success; }//end f_setHaAddrDreqExtensionHeaders Loading Loading @@ -161,7 +163,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { p_haGlaNut, m_extHdrList_2Elem( m_extHdr_dstOptHeader( c_mipHdr, c_optLen16, c_optLen2, m_dstOptList_2Elem( m_dstOpt_padN(m_optPad4), m_dstOpt_homeAddr(p_mnHoaTn))), Loading @@ -170,9 +172,9 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_bindingUpdate(c_defSeqNo, c_aFlag1, c_hFlag1, c_lFlag1, c_kFlag1, c_zeroTimeUnits, c_lFlag0, c_kFlag0, c_100TimeUnits, m_mipOptList_1Elem( m_mipOpt_padN(m_optPad4))))))); if ( v_ret != e_success ) {return v_ret;} Loading @@ -193,6 +195,16 @@ module LibIpv6_Rfc3775Mipv6_Functions { tc_ac.stop; v_ret := e_success ; } [] ipPort.receive(mw_generalIpv6_srcDst( c_mipHdr, p_haGlaNut, p_mnCoaTn, m_extHdrList_1Elem( mw_extHdr_mipHeader ( c_noNextHdr, c_bindingError, mw_bindingError)))) { tc_ac.stop; v_ret := e_error ; } [] tc_ac.timeout{ v_ret := e_timeout; log("**** f_registerMnToHa: ERROR: tc_ac.timeout **** "); Loading Loading @@ -414,7 +426,8 @@ module LibIpv6_Rfc3775Mipv6_Functions { var Ipv6Address v_homeAddress := c_16ZeroBytes; //select ext hdrs that need special calculation for (i:=0; i<=sizeof(p_mipPrefixSol.extHdrList);i:=i+1) { if (ispresent(p_mipPrefixSol.extHdrList)) { for (i:=0; i<sizeof(p_mipPrefixSol.extHdrList);i:=i+1) { if (ischosen(p_mipPrefixSol.extHdrList[i].mipHeader)) { if (f_isPresentHomeAddressOption(p_mipPrefixSol.extHdrList, v_homeAddress) == e_success) { f_setMipHeader( v_homeAddress, Loading @@ -431,6 +444,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { f_setSecurityHdr(); } */ } } return e_success; }//end f_setMipPrefixSolExtensionHeaders Loading @@ -454,7 +468,7 @@ module LibIpv6_Rfc3775Mipv6_Functions { m_extHdrList_1Elem( m_extHdr_dstOptHeader( c_icmpHdr, c_optLen16, c_optLen2, m_dstOptList_2Elem( m_dstOpt_padN(m_optPad4), m_dstOpt_homeAddr(p_mnHoaTn)))))); Loading @@ -475,6 +489,16 @@ module LibIpv6_Rfc3775Mipv6_Functions { tc_ac.stop; v_ret := e_success ; } [] ipPort.receive(mw_generalIpv6_srcDst( c_mipHdr, p_haGla, p_mnCoaTn, m_extHdrList_1Elem( mw_extHdr_mipHeader ( c_noNextHdr, c_bindingError, mw_bindingError)))) { tc_ac.stop; v_ret := e_error ; } [] tc_ac.timeout{ v_ret := e_timeout; log("**** f_sendMipPrefixSolAndWaitForReply: ERROR: tc_ac.timeout **** "); Loading