Commit 938e2c03 authored by mullers's avatar mullers
Browse files

more RFC4213 TCs added

parent 5808ebc2
Loading
Loading
Loading
Loading
+30 −0
Original line number Original line Diff line number Diff line
@@ -270,6 +270,36 @@


		} // end f_receiveEchoRequest_withoutNbrDetection
		} // end f_receiveEchoRequest_withoutNbrDetection


		/*
		 * @desc 	This function receives an EchoRequest
		 * @remark  Time limit is defined by module parameter PX_TAC (see comp type)
		 * @param 	p_echoRequest template of an Echo Request that is sent by NUT
		 * @param 	p_receivedIpv6Packet received Echo Request that is sent by NUT
		 * @return 	execution status
		*/
		function f_receiveEchoRequest (
			in template EchoRequest p_echoRequest,
			out EchoRequest p_receivedIpv6Packet )
		runs on LibIpv6Node
		return FncRetCode {

			var FncRetCode v_ret;

			tc_ac.start;
			alt {
				[]	ipPort.receive ( p_echoRequest ) -> value p_receivedIpv6Packet {
						tc_ac.stop;	
						v_ret := e_success;
					}
				[]	tc_ac.timeout{
						v_ret := e_timeout;
					}		
			} // end alt

			return v_ret;

		} // end f_receiveEchoRequest



	/*
	/*
	 * @desc 	This sends an ICMPv6 echo request from an IPv6 node to any
	 * @desc 	This sends an ICMPv6 echo request from an IPv6 node to any
+46 −0
Original line number Original line Diff line number Diff line
@@ -1684,4 +1684,50 @@


	}//end f_receiveNbrSol
	}//end f_receiveNbrSol


	/*
	 * @desc 	This waits for an ICMPv4 packet with tunneled ICMPv6 from an RFC4213 node to any
	 *			NUT. 
     * @remark  Time limit is defined by module parameter PX_TAC (see comp type)
	 * @param 	p_ipv4NutAddr IPv4 address of node under test
	 * @param 	p_ipv4TnAddr IPv4 address of testing node which calls this function 
	 * @param 	p_ipv6NutAddr IPv6 address of node under test
	 * @param 	p_ipv6TnAddr IPv6 address of testing node which calls this function 
	 * @return 	execution status
	*/
	function f_receiveIpv4withTunneledIpv6EchoReq(
		in template Ipv4Address p_ipv4NutAddr,
		in template Ipv4Address p_ipv4TnAddr,
		in template Ipv6Address p_ipv6NutAddr,
		in template Ipv6Address p_ipv6TnAddr,
		out Ipv4Packet p_ipv4Packet
	)
	runs on LibIpv6Node
	return FncRetCode {

		var FncRetCode v_ret := e_error;

		tc_ac.start;
		alt{
			[] ipv4Port.receive(mw_ipv4Packet_tunneledIpv6 (
									p_ipv4NutAddr,
									p_ipv4TnAddr,
									mw_echoRequest_noExtHdr_noData (
										p_ipv6NutAddr,
										p_ipv6TnAddr,
										c_defId,
										c_defSeqNo
									)
								)) -> value p_ipv4Packet {
				tc_ac.stop;
				return e_success;
			}
			[] tc_ac.timeout {
				log("**** f_receiveIpv4withTunneledIpv6EchoReq: Timeout tc_ac: Expected message not received. ****");
				return e_timeout;
			}
		}//end alt

	}//end f_receiveIpv4withTunneledIpv6EchoReq


} // end module LibIpv6_CommonTrans_Functions
} // end module LibIpv6_CommonTrans_Functions