Commit 5be969b7 authored by mullers's avatar mullers
Browse files

some more TRANS TCs added

parent 29c123f9
Loading
Loading
Loading
Loading
+65 −0
Changes for ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Testcases.ttcn: 65 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ module AtsIpv6_Transitioning_Testcases {
	import from AtsIpv6_Common_Functions all;



group ipv6PrefixAllocation {

	/*
@@ -180,6 +181,70 @@ group encapsulationInIpv4 {

} // end group TRANS_0009_02

	/*
	 * @desc  'Test Dont fragment bit in an encapsulating IPv4 header'
	 *        Uses test configuration Trans01.
	*/
	testcase TC_TRANS_0012_01() runs on Ipv6Node system NodeTestAdapter {
		//Variables
		var CfMessage v_cfMsg_4;
		var FncRetCode v_ret := e_error;
	
		//Configuration
		f_cfTrans01Up(v_cfMsg_4);
	
		activate(a_tn_nut_4(v_cfMsg_4.paramsRt01, v_cfMsg_4.paramsIut));
	
		//Preamble
		f_PR_tn_nut_4(v_cfMsg_4, e_cleanGla, v_cfMsg_4.paramsRt01, v_cfMsg_4.paramsIut);
			
		// test body
		f_TP_dontFragmentBitInEncapsulatingIpv4Hdr(v_cfMsg_4.paramsRt01, v_cfMsg_4.paramsIut);
	
		// postamble
		f_PO_tn_nut_4(v_cfMsg_4, c_cleanOnlyLla, v_cfMsg_4.paramsRt01, v_cfMsg_4.paramsIut);
	
		deactivate;
	
		f_cfPtcDown_4();
	
	}//end TC_TRANS_0012_01


}//end encapsulationInIpv4

group sixTo4SiteCommunication {

	/*
	 * @desc  'Test 6to4 relay router advertisement of 2002::/16 prefix'
	 *        Uses test configuration Trans01.
	*/
	testcase TC_TRANS_0018_01() runs on Ipv6Node system NodeTestAdapter {
		//Variables
		var CfMessage v_cfMsg_6;
		var FncRetCode v_ret := e_error;

		//Configuration
		f_cfTrans02Up(v_cfMsg_6);

		activate(a_tn_nut(v_cfMsg_6.paramsHs02, v_cfMsg_6.paramsIut));

		//Preamble
		f_PR_tn_nut(v_cfMsg_6, e_cleanGla, v_cfMsg_6.paramsHs02, v_cfMsg_6.paramsIut);
		
		// test body
		f_TP_ipv6PrefixAllocation(v_cfMsg_6.paramsHs02, v_cfMsg_6.paramsIut);

		// postamble
		f_PO_tn_nut(v_cfMsg_6, c_cleanOnlyLla, v_cfMsg_6.paramsHs02, v_cfMsg_6.paramsIut);

		deactivate;

		f_cfPtcDown_4();

	}//end TC_TRANS_0018_01

}//end sixTo4SiteCommunication


} //end module AtsIpv6_Transitioning_Testcases
+84 −8
Changes for ttcn3/EtsiAts/AtsIpv6/AtsTransitioning/AtsIpv6_Transitioning_Tp_Functions.ttcn: 84 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@
	import from LibIpv6_MultiRfcs_Functions all;
	import from LibIpv6_Rfc792Icmpv4_Functions all;
	import from LibIpv6_Rfc792Icmpv4_Templates all;
	import from LibIpv6_CommonTrans_Functions all;
	//AtsIpv6
	import from AtsIpv6_TestSystem all;
	import from AtsIpv6_TestConfiguration all ;
@@ -48,6 +49,11 @@
	import from AtsIpv6_Common_Functions all;


	/*
	 * @desc 	Check for correct prefix allocation
	 * @param	p_paramsTn Address Information of Testing Node (6to4Router)
	 * @param	p_paramsIut Address Information of IUT
	*/	
	function f_TP_ipv6PrefixAllocation(
		template Ipv6NodeParams p_paramsTn,
		template Ipv6NodeParams p_paramsIut
@@ -55,12 +61,14 @@
	runs on Ipv6Node {
		
		var FncRetCode v_ret;
		var Ipv4Packet v_receivedIpv4Packet;
		
		v_ret :=  f_ipv4withTunneledIpv6EchoProcUp(
			p_paramsTn.ipv4Addr,
			p_paramsIut.ipv4Addr,
			p_paramsTn.gla,
			p_paramsIut.gla
			p_paramsIut.gla,
			v_receivedIpv4Packet
		);

		if (v_ret == e_success) {
@@ -74,6 +82,11 @@
		
	}//end f_TP_ipv6PrefixAllocation

	/*
	 * @desc 	Check for correct encapsulation
	 * @param	p_paramsTn Address Information of Testing Node (6to4Router)
	 * @param	p_paramsIut Address Information of IUT
	*/	
	function f_TP_encapsulationInIpv4(
		template Ipv6NodeParams p_paramsTn,
		template Ipv6NodeParams p_paramsIut
@@ -81,12 +94,14 @@
	runs on Ipv6Node {
		
		var FncRetCode v_ret;
		var Ipv4Packet v_receivedIpv4Packet;
		
		v_ret :=  f_ipv4withTunneledIpv6EchoProcUp(
			p_paramsTn.ipv4Addr,
			p_paramsIut.ipv4Addr,
			p_paramsTn.gla,
			p_paramsIut.gla
			p_paramsIut.gla,
			v_receivedIpv4Packet
		);

		if (v_ret == e_success) {
@@ -102,9 +117,42 @@
	}//end f_TP_encapsulationInIpv4
	
	/*
	 * @desc 	Reply to Ping. Ping was sent from netB
	 * @param	p_paramsTn Address Information of Testing Node (6to4RelayRouter)
	 * @param	p_paramsHs Address Information of Test Host behind the Testing Node
	 * @desc 	Check for dont fragment bit
	 * @param	p_paramsTn Address Information of Testing Node (6to4Router)
	 * @param	p_paramsIut Address Information of IUT
	*/	
	function f_TP_dontFragmentBitInEncapsulatingIpv4Hdr(
		template Ipv6NodeParams p_paramsTn,
		template Ipv6NodeParams p_paramsIut
	)
	runs on Ipv6Node {
		
		var FncRetCode v_ret;
		var Ipv4Packet v_receivedIpv4Packet;
		
		v_ret :=  f_ipv4withTunneledIpv6EchoProcUp(
			p_paramsTn.ipv4Addr,
			p_paramsIut.ipv4Addr,
			p_paramsTn.gla,
			p_paramsIut.gla,
			v_receivedIpv4Packet
		);

		if (v_ret == e_success
			and v_receivedIpv4Packet.ipv4Hdr.doNotFragFlag == c_doNotFragFlag0) {
			log("**** f_TP_dontFragmentBitInEncapsulatingIpv4Hdr: IUT sent IPv4Packet containing 'dont fragment bit' set to 0 ****");
		}

		f_selfOrClientSyncAndVerdict(c_tbDone, v_ret);
		
	}//end f_TP_dontFragmentBitInEncapsulatingIpv4Hdr

	/*
	 * @desc 	Ping is received for IPv6 native address of test node 1 (relay router, net A) and it is repied.
	 *			Ping was sent from 6to4 domain (netB).
	 * @param	p_paramsRelayRt01 Address Information of Test Node 1 (6to4RelayRouter)
	 * @param	p_paramsHs02 Address Information of Test Node 2(host within the IUT's 6to4 domain)
	 * @param	p_paramsIut Address Information of IUT
	*/
	function f_TP_ipv6RouteHasNextHopAddrOf6to4Relay_4(
		template Ipv6NodeParams p_paramsRelayRt01,
@@ -127,9 +175,10 @@
	}//end f_TP_ipv6RouteHasNextHopAddrOf6to4Relay

	/*
	 * @desc 	Ping procedure from netB with node within the domain of the 6to4RelayRouter (netC)
	 * @param	p_paramsTn Address Information of Testing Node
	 * @param	p_paramsHs Address Information of Node within the domain of the 6to4RelayRouter
	 * @desc 	Test node 2 is within the IUTs 6to4 domain (netB) and pings IPv6 native address of Test Node 1.
	 *			Test node 1 is a Relay Router (netC).
	 * @param	p_paramsHs02 Address Information of Testing Node
	 * @param	p_paramsRelayRt01 Address Information of Node within the domain of the 6to4RelayRouter
	*/
	function f_TP_ipv6RouteHasNextHopAddrOf6to4Relay_6(
		template Ipv6NodeParams p_paramsHs02,
@@ -151,4 +200,31 @@

	}//end f_TP_ipv6RouteHasNextHopAddrOf6to4Relay
	
	/*
	 * @desc 	Receive 6to4 Router Advertisments
	 * @param	p_paramsTn Address Information of Testing Node (6to4Router)
	 * @param	p_paramsIut Address Information of IUT
	*/	
	function f_TP_receive6to4RtAdv(
		template Ipv6NodeParams p_paramsIut
	)
	runs on Ipv6Node {
		
		var FncRetCode v_ret;
		var Ipv4Packet v_receivedIpv4Packet;
		var RouterAdvertisement v_receivedRtAdv;
		
		v_ret :=  f_receive6to4RtAdv(
			p_paramsIut.lla
		);
		
		if (v_ret == e_success 
			and f_createPrefix64 (p_paramsIut.gla) == v_receivedRtAdv.ipv6Payload.rtAdvOptions.prefixInfoList[0].prefix){
				log("**** f_TP_receive6to4RtAdv: IUT advertises prefix as configured by test operator ****");
		}

		f_selfOrClientSyncAndVerdict(c_tbDone, v_ret);
		
	}//end f_TP_receive6to4RtAdv

} // end module AtsIpv6_Transitioning_Tp_Functions