Loading ttcn3/EtsiLibrary/LibIpv6/LibCommonRfcs/LibIpv6_CommonRfcs_TypesAndValues.ttcn +0 −1 Original line number Original line Diff line number Diff line Loading @@ -308,7 +308,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { } // end ipv6Options } // end ipv6Options } // end LibIpv6_CommonRfcs_TypesAndValues } // end LibIpv6_CommonRfcs_TypesAndValues //with { //with { // encode "LibIpv6_CommonRfcs_TypesAndValues"; // encode "LibIpv6_CommonRfcs_TypesAndValues"; Loading ttcn3/EtsiLibrary/LibIpv6/LibCommonRfcs/LibIpv6_ExternalFunctions.ttcn +0 −1 Original line number Original line Diff line number Diff line Loading @@ -18,7 +18,6 @@ import from LibIpv6_Interface_TypesAndValues all; import from LibIpv6_Interface_TypesAndValues all; import from LibIpv6_Rfc4306Ikev2_TypesAndValues all; import from LibIpv6_Rfc4306Ikev2_TypesAndValues all; /* @desc This external function translates an IPv6 address string /* @desc This external function translates an IPv6 address string * in its octetstring representation. * in its octetstring representation. * @param p_address charstring representation of an IPv6 address * @param p_address charstring representation of an IPv6 address Loading ttcn3/EtsiLibrary/LibIpv6/LibTransitioning/LibIpv6_Rfc792Icmpv4_Functions.ttcn +203 −12 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,7 @@ import from LibIpv6_ExternalFunctions all; import from LibIpv6_ExternalFunctions all; import from LibIpv6_Rfc792Icmpv4_Templates all; import from LibIpv6_Rfc792Icmpv4_Templates all; import from LibIpv6_Rfc792Icmpv4_TypesAndValues all; import from LibIpv6_Rfc792Icmpv4_TypesAndValues all; import from LibIpv6_Rfc2463Icmpv6_Templates all; /* /* * @desc This sends an ICMPv4 echo request from an dual stack IPv4/IPv6 node to * @desc This sends an ICMPv4 echo request from an dual stack IPv4/IPv6 node to Loading Loading @@ -71,9 +72,19 @@ }//end f_sendIpv4EchoRequest }//end f_sendIpv4EchoRequest /* * @desc This sends an ICMPv4 echo request from an IPv6to4 node to any * NUT, and waits for a echo reply for a fixed amount of time. * This function can be used to verify that the NUT is * up and running. * @remark Time limit is defined by module parameter PX_TAC (see comp type) * @param p_tnAddr IPv4 address of testing node which calls this function * @param p_nutAddr IPv4 address of node under test * @return execution status */ function f_ipv4EchoProcUp( function f_ipv4EchoProcUp( in Ipv4Address p_srcAddr, in template Ipv4Address p_tnAddr, in Ipv4Address p_dstAddr in template Ipv4Address p_nutAddr ) ) runs on LibIpv6Node runs on LibIpv6Node return FncRetCode { return FncRetCode { Loading @@ -82,25 +93,25 @@ v_ret := f_sendIpv4Packet ( v_ret := f_sendIpv4Packet ( m_ipv4EchoRequest_noData ( m_ipv4EchoRequest_noData ( p_srcAddr, p_tnAddr, p_dstAddr p_nutAddr ) ) ); ); if(v_ret != e_success) { if(v_ret != e_success) { log("**** f_ipv4EchoProcUp: Error in send ****"); log("**** f_ipv4EchoProcUp: Error: Problem in f_sendIpv4Packet. ****"); return v_ret; return v_ret; } } tc_ac.start; tc_ac.start; alt{ alt{ [] ipv4Port.receive(mw_ipv4EchoReply_noData ( [] ipv4Port.receive(mw_ipv4EchoReply_noData ( p_dstAddr, p_nutAddr, p_srcAddr p_tnAddr )) { )) { tc_ac.stop; tc_ac.stop; } } [] tc_ac.timeout { [] tc_ac.timeout { log("**** f_ipv4EchoProcUp: Timeout ****"); log("**** f_ipv4EchoProcUp: Timeout tc_ac: Expected message not received. ****"); v_ret := e_error; v_ret := e_error; } } Loading @@ -110,5 +121,185 @@ }//end f_ipv4EchoProcUp }//end f_ipv4EchoProcUp /* * @desc This replies with Echo Reply to a received ICMPv4 echo request. * NUT, and waits for a echo reply for a fixed amount of time. * @remark Time limit is defined by module parameter PX_TAC (see comp type) * @param p_tnAddr IPv4 address of testing node which calls this function * @param p_nutAddr IPv4 address of node under test * @return execution status */ function f_ipv4ReplyToEReq( in template Ipv4Address p_tnAddr, in template Ipv4Address p_nutAddr ) runs on LibIpv6Node return FncRetCode { var FncRetCode v_ret := e_error; tc_ac.start; alt{ [] ipv4Port.receive(mw_ipv4EchoRequest_noData ( p_nutAddr, p_tnAddr )) { tc_ac.stop; } [] tc_ac.timeout { log("**** f_ipv4ReplyToEReq: Timeout tc_ac: Expected message not received. ****"); return e_error; } }//end alt v_ret := f_sendIpv4Packet ( m_ipv4EchoReply_noData ( p_tnAddr, p_nutAddr ) ); if(v_ret != e_success) { log("**** f_ipv4EchoProcUp: Error: Problem in f_sendIpv4Packet. ****"); } return v_ret; }//end f_ipv4ReplyToEReq group toBeMovedTo3056Fns{ /* * @desc This sends an ICMPv4 echo request from an IPv6to4 node to any * NUT, and waits for a echo reply for a fixed amount of time. * This function can be used to verify that the NUT is * up and running. * @remark Time limit is defined by module parameter PX_TAC (see comp type) * @param p_ipv4TnAddr IPv4 address of testing node which calls this function * @param p_ipv4NutAddr IPv4 address of node under test * @param p_ipv6TnAddr IPv6 address of testing node which calls this function * @param p_ipv6NutAddr IPv6 address of node under test * @return execution status */ function f_ipv4withTunneledIpv6EchoProcUp( in template Ipv4Address p_ipv4TnAddr, in template Ipv4Address p_ipv4NutAddr, in template Ipv6Address p_ipv6TnAddr, in template Ipv6Address p_ipv6NutAddr ) runs on LibIpv6Node return FncRetCode { var FncRetCode v_ret := e_error; v_ret := f_sendIpv4Packet ( m_ipv4Packet_tunneledIpv6 ( p_ipv4TnAddr, p_ipv4NutAddr, m_echoRequest_noExtHdr_noData ( p_ipv6TnAddr, p_ipv6NutAddr, c_defId, c_defSeqNo ) ) ); if(v_ret != e_success) { log("**** f_ipv4withTunneledIpv6EchoProcUp: Error: Problem in f_sendIpv4Packet. ****"); return v_ret; } tc_ac.start; alt{ [] ipv4Port.receive(mw_ipv4Packet_tunneledIpv6 ( p_ipv4NutAddr, p_ipv4TnAddr, mw_echoReply_noExtHdr_noData ( p_ipv6NutAddr, p_ipv6TnAddr, c_defId, c_defSeqNo ) )) { tc_ac.stop; return e_success; } [] tc_ac.timeout { log("**** f_ipv4withTunneledIpv6EchoProcUp: Timeout tc_ac: Expected message not received. ****"); return e_timeout; } }//end alt }//end f_ipv4withTunneledIpv6EchoProcUp /* * @desc This sends an ICMPv4 echo request from an IPv6to4 node to any * NUT, and waits for a echo reply for a fixed amount of time. * This function can be used to verify that the NUT is * up and running. * @remark Time limit is defined by module parameter PX_TAC (see comp type) * @param p_relRtAnycastAddr IPv4 address of relay router * @param p_ipv4TnAddr IPv4 address of testing node which calls this function * @param p_ipv4NutAddr IPv4 address of node under test * @param p_ipv6TnAddr IPv6 address of Ping start * @param p_ipv6NutAddr IPv6 address of Ping end * @return execution status */ function f_relayRouterRepliesToEReq_4( in template Ipv4Address p_relRtAnycastAddr, in template Ipv4Address p_ipv4Rt03Addr, in template Ipv4Address p_ipv4NutAddr, in template Ipv6Address p_ipv6Hs02Addr, in template Ipv6Address p_ipv6Hs03Addr ) runs on LibIpv6Node return FncRetCode { var FncRetCode v_ret := e_error; tc_ac.start; alt{ [] ipv4Port.receive(mw_ipv4Packet_tunneledIpv6 ( p_ipv4NutAddr, p_relRtAnycastAddr, mw_echoRequest_noExtHdr_noData ( p_ipv6Hs02Addr, p_ipv6Hs03Addr, c_defId, c_defSeqNo ) )) { tc_ac.stop; return e_success; } [] tc_ac.timeout { log("**** f_relayRouterRepliesToEReq_4: Timeout tc_ac: Expected message not received. ****"); return e_timeout; } }//end alt v_ret := f_sendIpv4Packet ( m_ipv4Packet_tunneledIpv6 ( p_ipv4Rt03Addr, p_ipv4NutAddr, m_echoReply_noExtHdr_noData ( p_ipv6Hs03Addr, p_ipv6Hs02Addr, c_defId, c_defSeqNo ) ) ); if(v_ret != e_success) { log("**** f_relayRouterRepliesToEReq_4: Error: Problem in f_sendIpv4Packet. ****"); } return v_ret; }//end f_relayRouterRepliesToEReq_4 }//end group toBeMoveTo3056Fns } // end module LibIpv6_Rfc792Icmpv4_Functions } // end module LibIpv6_Rfc792Icmpv6_Functions ttcn3/EtsiLibrary/LibIpv6/LibTransitioning/LibIpv6_Rfc792Icmpv4_Templates.ttcn +34 −12 Original line number Original line Diff line number Diff line Loading @@ -21,12 +21,6 @@ module LibIpv6_Rfc792Icmpv4_Templates { group ICMPv4_Echo_Request { group ICMPv4_Echo_Request { /* * @param p_src Binary IPv4 address associated with the * test component. * @param p_dst Binary IPv6 address associated with NUT. * @param p_ipv6Packet Tunneled IPv6 packet */ template Ipv4EchoRequest m_ipv4EchoRequest_noData( template Ipv4EchoRequest m_ipv4EchoRequest_noData( template Ipv4Address p_src, template Ipv4Address p_src, template Ipv4Address p_dst template Ipv4Address p_dst Loading @@ -44,16 +38,27 @@ module LibIpv6_Rfc792Icmpv4_Templates { } } } } template Ipv4EchoRequest mw_ipv4EchoRequest_noData( template Ipv4Address p_src, template Ipv4Address p_dst ) := { ipv4Hdr := m_ipv4Hdr_protocol_srcDst(c_protocol_icmp, p_src, p_dst), ipv4Payload := { ipv4EchoRequestMsg := { icmpType := c_icmpType_ipv4EReq, icmpCode := c_ipv4IcmpCode0, checksum := ?, identifier := ?, sequenceNumber := ?, data := omit } } } }// end ICMPv4_Echo_Request }// end ICMPv4_Echo_Request group ICMPv4_Echo_Reply { group ICMPv4_Echo_Reply { /* * @param p_src Binary IPv4 address associated with the * test component. * @param p_dst Binary IPv6 address associated with NUT. * @param p_ipv6Packet Tunneled IPv6 packet */ template Ipv4EchoReply mw_ipv4EchoReply_noData( template Ipv4EchoReply mw_ipv4EchoReply_noData( template Ipv4Address p_src, template Ipv4Address p_src, template Ipv4Address p_dst template Ipv4Address p_dst Loading @@ -71,6 +76,23 @@ module LibIpv6_Rfc792Icmpv4_Templates { } } } } template Ipv4EchoReply m_ipv4EchoReply_noData( template Ipv4Address p_src, template Ipv4Address p_dst ) := { ipv4Hdr := mw_ipv4Hdr_protocol_srcDst(c_protocol_icmp, p_src, p_dst), ipv4Payload := { ipv4EchoReplyMsg := { icmpType := c_icmpType_ipv4ERep, icmpCode := c_ipv4IcmpCode0, checksum := c_2ZeroBytes, identifier := c_defId, sequenceNumber := c_defSeqNo, data := omit } } } }// end ICMPv4_Echo_Reply }// end ICMPv4_Echo_Reply Loading Loading
ttcn3/EtsiLibrary/LibIpv6/LibCommonRfcs/LibIpv6_CommonRfcs_TypesAndValues.ttcn +0 −1 Original line number Original line Diff line number Diff line Loading @@ -308,7 +308,6 @@ module LibIpv6_CommonRfcs_TypesAndValues { } // end ipv6Options } // end ipv6Options } // end LibIpv6_CommonRfcs_TypesAndValues } // end LibIpv6_CommonRfcs_TypesAndValues //with { //with { // encode "LibIpv6_CommonRfcs_TypesAndValues"; // encode "LibIpv6_CommonRfcs_TypesAndValues"; Loading
ttcn3/EtsiLibrary/LibIpv6/LibCommonRfcs/LibIpv6_ExternalFunctions.ttcn +0 −1 Original line number Original line Diff line number Diff line Loading @@ -18,7 +18,6 @@ import from LibIpv6_Interface_TypesAndValues all; import from LibIpv6_Interface_TypesAndValues all; import from LibIpv6_Rfc4306Ikev2_TypesAndValues all; import from LibIpv6_Rfc4306Ikev2_TypesAndValues all; /* @desc This external function translates an IPv6 address string /* @desc This external function translates an IPv6 address string * in its octetstring representation. * in its octetstring representation. * @param p_address charstring representation of an IPv6 address * @param p_address charstring representation of an IPv6 address Loading
ttcn3/EtsiLibrary/LibIpv6/LibTransitioning/LibIpv6_Rfc792Icmpv4_Functions.ttcn +203 −12 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,7 @@ import from LibIpv6_ExternalFunctions all; import from LibIpv6_ExternalFunctions all; import from LibIpv6_Rfc792Icmpv4_Templates all; import from LibIpv6_Rfc792Icmpv4_Templates all; import from LibIpv6_Rfc792Icmpv4_TypesAndValues all; import from LibIpv6_Rfc792Icmpv4_TypesAndValues all; import from LibIpv6_Rfc2463Icmpv6_Templates all; /* /* * @desc This sends an ICMPv4 echo request from an dual stack IPv4/IPv6 node to * @desc This sends an ICMPv4 echo request from an dual stack IPv4/IPv6 node to Loading Loading @@ -71,9 +72,19 @@ }//end f_sendIpv4EchoRequest }//end f_sendIpv4EchoRequest /* * @desc This sends an ICMPv4 echo request from an IPv6to4 node to any * NUT, and waits for a echo reply for a fixed amount of time. * This function can be used to verify that the NUT is * up and running. * @remark Time limit is defined by module parameter PX_TAC (see comp type) * @param p_tnAddr IPv4 address of testing node which calls this function * @param p_nutAddr IPv4 address of node under test * @return execution status */ function f_ipv4EchoProcUp( function f_ipv4EchoProcUp( in Ipv4Address p_srcAddr, in template Ipv4Address p_tnAddr, in Ipv4Address p_dstAddr in template Ipv4Address p_nutAddr ) ) runs on LibIpv6Node runs on LibIpv6Node return FncRetCode { return FncRetCode { Loading @@ -82,25 +93,25 @@ v_ret := f_sendIpv4Packet ( v_ret := f_sendIpv4Packet ( m_ipv4EchoRequest_noData ( m_ipv4EchoRequest_noData ( p_srcAddr, p_tnAddr, p_dstAddr p_nutAddr ) ) ); ); if(v_ret != e_success) { if(v_ret != e_success) { log("**** f_ipv4EchoProcUp: Error in send ****"); log("**** f_ipv4EchoProcUp: Error: Problem in f_sendIpv4Packet. ****"); return v_ret; return v_ret; } } tc_ac.start; tc_ac.start; alt{ alt{ [] ipv4Port.receive(mw_ipv4EchoReply_noData ( [] ipv4Port.receive(mw_ipv4EchoReply_noData ( p_dstAddr, p_nutAddr, p_srcAddr p_tnAddr )) { )) { tc_ac.stop; tc_ac.stop; } } [] tc_ac.timeout { [] tc_ac.timeout { log("**** f_ipv4EchoProcUp: Timeout ****"); log("**** f_ipv4EchoProcUp: Timeout tc_ac: Expected message not received. ****"); v_ret := e_error; v_ret := e_error; } } Loading @@ -110,5 +121,185 @@ }//end f_ipv4EchoProcUp }//end f_ipv4EchoProcUp /* * @desc This replies with Echo Reply to a received ICMPv4 echo request. * NUT, and waits for a echo reply for a fixed amount of time. * @remark Time limit is defined by module parameter PX_TAC (see comp type) * @param p_tnAddr IPv4 address of testing node which calls this function * @param p_nutAddr IPv4 address of node under test * @return execution status */ function f_ipv4ReplyToEReq( in template Ipv4Address p_tnAddr, in template Ipv4Address p_nutAddr ) runs on LibIpv6Node return FncRetCode { var FncRetCode v_ret := e_error; tc_ac.start; alt{ [] ipv4Port.receive(mw_ipv4EchoRequest_noData ( p_nutAddr, p_tnAddr )) { tc_ac.stop; } [] tc_ac.timeout { log("**** f_ipv4ReplyToEReq: Timeout tc_ac: Expected message not received. ****"); return e_error; } }//end alt v_ret := f_sendIpv4Packet ( m_ipv4EchoReply_noData ( p_tnAddr, p_nutAddr ) ); if(v_ret != e_success) { log("**** f_ipv4EchoProcUp: Error: Problem in f_sendIpv4Packet. ****"); } return v_ret; }//end f_ipv4ReplyToEReq group toBeMovedTo3056Fns{ /* * @desc This sends an ICMPv4 echo request from an IPv6to4 node to any * NUT, and waits for a echo reply for a fixed amount of time. * This function can be used to verify that the NUT is * up and running. * @remark Time limit is defined by module parameter PX_TAC (see comp type) * @param p_ipv4TnAddr IPv4 address of testing node which calls this function * @param p_ipv4NutAddr IPv4 address of node under test * @param p_ipv6TnAddr IPv6 address of testing node which calls this function * @param p_ipv6NutAddr IPv6 address of node under test * @return execution status */ function f_ipv4withTunneledIpv6EchoProcUp( in template Ipv4Address p_ipv4TnAddr, in template Ipv4Address p_ipv4NutAddr, in template Ipv6Address p_ipv6TnAddr, in template Ipv6Address p_ipv6NutAddr ) runs on LibIpv6Node return FncRetCode { var FncRetCode v_ret := e_error; v_ret := f_sendIpv4Packet ( m_ipv4Packet_tunneledIpv6 ( p_ipv4TnAddr, p_ipv4NutAddr, m_echoRequest_noExtHdr_noData ( p_ipv6TnAddr, p_ipv6NutAddr, c_defId, c_defSeqNo ) ) ); if(v_ret != e_success) { log("**** f_ipv4withTunneledIpv6EchoProcUp: Error: Problem in f_sendIpv4Packet. ****"); return v_ret; } tc_ac.start; alt{ [] ipv4Port.receive(mw_ipv4Packet_tunneledIpv6 ( p_ipv4NutAddr, p_ipv4TnAddr, mw_echoReply_noExtHdr_noData ( p_ipv6NutAddr, p_ipv6TnAddr, c_defId, c_defSeqNo ) )) { tc_ac.stop; return e_success; } [] tc_ac.timeout { log("**** f_ipv4withTunneledIpv6EchoProcUp: Timeout tc_ac: Expected message not received. ****"); return e_timeout; } }//end alt }//end f_ipv4withTunneledIpv6EchoProcUp /* * @desc This sends an ICMPv4 echo request from an IPv6to4 node to any * NUT, and waits for a echo reply for a fixed amount of time. * This function can be used to verify that the NUT is * up and running. * @remark Time limit is defined by module parameter PX_TAC (see comp type) * @param p_relRtAnycastAddr IPv4 address of relay router * @param p_ipv4TnAddr IPv4 address of testing node which calls this function * @param p_ipv4NutAddr IPv4 address of node under test * @param p_ipv6TnAddr IPv6 address of Ping start * @param p_ipv6NutAddr IPv6 address of Ping end * @return execution status */ function f_relayRouterRepliesToEReq_4( in template Ipv4Address p_relRtAnycastAddr, in template Ipv4Address p_ipv4Rt03Addr, in template Ipv4Address p_ipv4NutAddr, in template Ipv6Address p_ipv6Hs02Addr, in template Ipv6Address p_ipv6Hs03Addr ) runs on LibIpv6Node return FncRetCode { var FncRetCode v_ret := e_error; tc_ac.start; alt{ [] ipv4Port.receive(mw_ipv4Packet_tunneledIpv6 ( p_ipv4NutAddr, p_relRtAnycastAddr, mw_echoRequest_noExtHdr_noData ( p_ipv6Hs02Addr, p_ipv6Hs03Addr, c_defId, c_defSeqNo ) )) { tc_ac.stop; return e_success; } [] tc_ac.timeout { log("**** f_relayRouterRepliesToEReq_4: Timeout tc_ac: Expected message not received. ****"); return e_timeout; } }//end alt v_ret := f_sendIpv4Packet ( m_ipv4Packet_tunneledIpv6 ( p_ipv4Rt03Addr, p_ipv4NutAddr, m_echoReply_noExtHdr_noData ( p_ipv6Hs03Addr, p_ipv6Hs02Addr, c_defId, c_defSeqNo ) ) ); if(v_ret != e_success) { log("**** f_relayRouterRepliesToEReq_4: Error: Problem in f_sendIpv4Packet. ****"); } return v_ret; }//end f_relayRouterRepliesToEReq_4 }//end group toBeMoveTo3056Fns } // end module LibIpv6_Rfc792Icmpv4_Functions } // end module LibIpv6_Rfc792Icmpv6_Functions
ttcn3/EtsiLibrary/LibIpv6/LibTransitioning/LibIpv6_Rfc792Icmpv4_Templates.ttcn +34 −12 Original line number Original line Diff line number Diff line Loading @@ -21,12 +21,6 @@ module LibIpv6_Rfc792Icmpv4_Templates { group ICMPv4_Echo_Request { group ICMPv4_Echo_Request { /* * @param p_src Binary IPv4 address associated with the * test component. * @param p_dst Binary IPv6 address associated with NUT. * @param p_ipv6Packet Tunneled IPv6 packet */ template Ipv4EchoRequest m_ipv4EchoRequest_noData( template Ipv4EchoRequest m_ipv4EchoRequest_noData( template Ipv4Address p_src, template Ipv4Address p_src, template Ipv4Address p_dst template Ipv4Address p_dst Loading @@ -44,16 +38,27 @@ module LibIpv6_Rfc792Icmpv4_Templates { } } } } template Ipv4EchoRequest mw_ipv4EchoRequest_noData( template Ipv4Address p_src, template Ipv4Address p_dst ) := { ipv4Hdr := m_ipv4Hdr_protocol_srcDst(c_protocol_icmp, p_src, p_dst), ipv4Payload := { ipv4EchoRequestMsg := { icmpType := c_icmpType_ipv4EReq, icmpCode := c_ipv4IcmpCode0, checksum := ?, identifier := ?, sequenceNumber := ?, data := omit } } } }// end ICMPv4_Echo_Request }// end ICMPv4_Echo_Request group ICMPv4_Echo_Reply { group ICMPv4_Echo_Reply { /* * @param p_src Binary IPv4 address associated with the * test component. * @param p_dst Binary IPv6 address associated with NUT. * @param p_ipv6Packet Tunneled IPv6 packet */ template Ipv4EchoReply mw_ipv4EchoReply_noData( template Ipv4EchoReply mw_ipv4EchoReply_noData( template Ipv4Address p_src, template Ipv4Address p_src, template Ipv4Address p_dst template Ipv4Address p_dst Loading @@ -71,6 +76,23 @@ module LibIpv6_Rfc792Icmpv4_Templates { } } } } template Ipv4EchoReply m_ipv4EchoReply_noData( template Ipv4Address p_src, template Ipv4Address p_dst ) := { ipv4Hdr := mw_ipv4Hdr_protocol_srcDst(c_protocol_icmp, p_src, p_dst), ipv4Payload := { ipv4EchoReplyMsg := { icmpType := c_icmpType_ipv4ERep, icmpCode := c_ipv4IcmpCode0, checksum := c_2ZeroBytes, identifier := c_defId, sequenceNumber := c_defSeqNo, data := omit } } } }// end ICMPv4_Echo_Reply }// end ICMPv4_Echo_Reply Loading