Commit 75adfea2 authored by schmitting's avatar schmitting
Browse files

Further progress on RFC2765

parent 2f318bf6
Loading
Loading
Loading
Loading
+676 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ module AtsIpv6_Transitioning_Testcases {
	import from LibIpv6_Interface_Templates all;
	import from LibIpv6_ExternalFunctions all;
	import from LibIpv6_CommonRfcs_TypesAndValues all;
	import from LibIpv6_CommonRfcs_Templates all;
	import from LibIpv6_Rfc2463Icmpv6_TypesAndValues all;
	import from LibIpv6_Rfc2463Icmpv6_Templates all;
	import from LibIpv6_Rfc792Icmpv4_TypesAndValues all;
@@ -1112,6 +1113,85 @@ group iPv4toIPv6 {

} // end group TRANS_3020_01

	group TRANS_3021_01 {

	/*
	 * @desc  'Test that IPv4 with unexpired source route option is discarded'
	 *        Uses test configuration 3.
	*/
	testcase TC_TRANS_3021_01() runs on Ipv6Node system NodeTestAdapter {
		//Variables
		var Ipv6Node v_iPv4, v_iPv6;
		var CfMessage v_cfMsgIPv4, v_cfMsgIPv6;

		//Configuration
		f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6);

		//Start
		v_iPv4.start(f_TC_TRANS_3020_01_IPv4(v_cfMsgIPv4));
		v_iPv6.start(f_TC_TRANS_3020_01_IPv6(v_cfMsgIPv6));

		//Synchronization
		f_serverSync2ClientsAndStop({c_prDone, c_tbDone});

		f_cfTwoPtcsDown(v_iPv4, v_iPv6);

	} // end TC_TRANS_3021_01
	
	/*
	 * @desc Testcase function for IPv4 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3021_01_IPv4 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut));

		//Preamble
		f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);
		
		// test body
		// send IPv4 packet with unexpired source header option is sent
		f_TP_ipv4TranslatePacketSourceOption_4(
			p_cfMsg.paramsRt01,
			p_cfMsg.paramsHs02
		);

		// postamble
		f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);

		deactivate;

		f_cfPtcDown_4();

	} // end f_TC_TRANS_3021_01_IPv4

	/*
	 * @desc Testcase function for IPv6 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3021_01_IPv6 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		//default
		activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut));

		// preamble
		f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);

		//Test body
		//check that no IPv6 packet is received
		f_TP_ipv4DiscardPacket_6(p_cfMsg.paramsHs02, p_cfMsg.paramsRt01);

		//Postamble
		f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);
			
		deactivate;

	} // end f_TC_TRANS_3021_01_IPv6

} // end group TRANS_3021_01

	group TRANS_3037_01 {

	/*
@@ -3430,12 +3510,607 @@ group iPv4toIPv6 {

	} // end f_TC_TRANS_3070_01_IPv6

} // end group TRANS_3051_01
} // end group TRANS_3070_01

} // end group iPv4toIPv6

group iPv6toIPv4 {

	group TRANS_3075_01 {

	/*
	 * @desc  'Test 6to4 packet translation for IPv6 packet without fragmentation header'
	 *        Uses test configuration 3.
	*/
	testcase TC_TRANS_3075_01() runs on Ipv6Node system NodeTestAdapter {
		//Variables
		var Ipv6Node v_iPv4, v_iPv6;
		var CfMessage v_cfMsgIPv4, v_cfMsgIPv6;

		//Configuration
		f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6);

		//Start
		v_iPv4.start(f_TC_TRANS_3075_01_IPv4(v_cfMsgIPv4));
		v_iPv6.start(f_TC_TRANS_3075_01_IPv6(v_cfMsgIPv6));

		//Synchronization
		f_serverSync2ClientsAndStop({c_prDone, c_tbDone});

		f_cfTwoPtcsDown(v_iPv4, v_iPv6);

	} // end TC_TRANS_3075_01
	
	/*
	 * @desc Testcase function for IPv4 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3075_01_IPv4 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut));

		//Preamble
		f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);
		
		// test body
		// receive translated IPv4 packet
		f_TP_ipv6TranslatePacketNoFragmentationHeader_4(
			p_cfMsg.paramsRt01,
			p_cfMsg.paramsHs02
		);

		// postamble
		f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);

		deactivate;

		f_cfPtcDown_4();

	} // end f_TC_TRANS_3075_01_IPv4

	/*
	 * @desc Testcase function for IPv6 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3075_01_IPv6 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		//default
		activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut));

		// preamble
		f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);

		//Test body
		//send IPv6 packet
		f_TP_ipv6TranslatePacketNoFragmentationHeader_6(p_cfMsg.paramsHs02, p_cfMsg.paramsRt01);

		//Postamble
		f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);
			
		deactivate;

	} // end f_TC_TRANS_3075_01_IPv6

} // end group TRANS_3075_01

	group TRANS_3087_01 {

	/*
	 * @desc  'Test 6to4 packet translation for IPv6 packet without IPv4-translated source address'
	 *        Uses test configuration 3.
	*/
	testcase TC_TRANS_3087_01() runs on Ipv6Node system NodeTestAdapter {
		//Variables
		var Ipv6Node v_iPv4, v_iPv6;
		var CfMessage v_cfMsgIPv4, v_cfMsgIPv6;

		//Configuration
		f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6);

		//Start
		v_iPv4.start(f_TC_TRANS_3087_01_IPv4(v_cfMsgIPv4));
		v_iPv6.start(f_TC_TRANS_3087_01_IPv6(v_cfMsgIPv6));

		//Synchronization
		f_serverSync2ClientsAndStop({c_prDone, c_tbDone});

		f_cfTwoPtcsDown(v_iPv4, v_iPv6);

	} // end TC_TRANS_3087_01
	
	/*
	 * @desc Testcase function for IPv4 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3087_01_IPv4 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut));

		//Preamble
		f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);
		
		// test body
		// receive translated IPv4 packet
		f_TP_ipv6TranslatePacketZeroSourceAddress_4(
			p_cfMsg.paramsRt01,
			p_cfMsg.paramsHs02
		);

		// postamble
		f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);

		deactivate;

		f_cfPtcDown_4();

	} // end f_TC_TRANS_3087_01_IPv4

	/*
	 * @desc Testcase function for IPv6 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3087_01_IPv6 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		//default
		activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut));

		// preamble
		f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);

		//Test body
		//send IPv6 packet
		f_TP_ipv6TranslatePacketWrongSourceAddress_6(p_cfMsg.paramsHs02, p_cfMsg.paramsRt01);

		//Postamble
		f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);
			
		deactivate;

	} // end f_TC_TRANS_3087_01_IPv6

} // end group TRANS_3087_01

	group TRANS_3089_01 {

	/*
	 * @desc  'Test 6to4 packet translation for IPv6 packets headers that are not translatable'
	 *        Uses test configuration 3.
	*/
	testcase TC_TRANS_3089_01() runs on Ipv6Node system NodeTestAdapter {
		//Variables
		var Ipv6Node v_iPv4, v_iPv6;
		var CfMessage v_cfMsgIPv4, v_cfMsgIPv6;

		//Configuration
		f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6);

		//Start
		v_iPv4.start(f_TC_TRANS_3089_01_IPv4(v_cfMsgIPv4));
		v_iPv6.start(f_TC_TRANS_3089_01_IPv6(v_cfMsgIPv6));

		//Synchronization
		f_serverSync2ClientsAndStop({c_prDone, c_tbDone});

		f_cfTwoPtcsDown(v_iPv4, v_iPv6);

	} // end TC_TRANS_3089_01
	
	/*
	 * @desc Testcase function for IPv4 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3089_01_IPv4 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut));

		//Preamble
		f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);
		
		// test body
		// receive translated IPv4 packet
		f_TP_ipv6TranslatePacketNoFragmentationHeader_4(
			p_cfMsg.paramsRt01,
			p_cfMsg.paramsHs02
		);

		// postamble
		f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);

		deactivate;

		f_cfPtcDown_4();

	} // end f_TC_TRANS_3089_01_IPv4

	/*
	 * @desc Testcase function for IPv6 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3089_01_IPv6 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		//default
		activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut));

		// preamble
		f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);

		//Test body
		//send IPv6 packet with hop-by-hop header option
		f_TP_ipv6TranslatePacketHeaders_6(
					c_hopHdr,
					m_extHdrList_1Elem (
						m_extHdr_hbhOptHeader (
							c_icmpHdr,
							c_optLen0,
							m_hbhOptList_1Elem (
								m_hbhOpt_padNSize6 ) ) ),
					p_cfMsg.paramsHs02, 
					p_cfMsg.paramsRt01);

		//Postamble
		f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);
			
		deactivate;

	} // end f_TC_TRANS_3089_01_IPv6

} // end group TRANS_3089_01

	group TRANS_3090_01 {

	/*
	 * @desc  'Test 6to4 packet translation for IPv6 packets headers that are not translatable'
	 *        Uses test configuration 3.
	*/
	testcase TC_TRANS_3090_01() runs on Ipv6Node system NodeTestAdapter {
		//Variables
		var Ipv6Node v_iPv4, v_iPv6;
		var CfMessage v_cfMsgIPv4, v_cfMsgIPv6;

		//Configuration
		f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6);

		//Start
		v_iPv4.start(f_TC_TRANS_3090_01_IPv4(v_cfMsgIPv4));
		v_iPv6.start(f_TC_TRANS_3090_01_IPv6(v_cfMsgIPv6));

		//Synchronization
		f_serverSync2ClientsAndStop({c_prDone, c_tbDone});

		f_cfTwoPtcsDown(v_iPv4, v_iPv6);

	} // end TC_TRANS_3090_01
	
	/*
	 * @desc Testcase function for IPv4 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3090_01_IPv4 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut));

		//Preamble
		f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);
		
		// test body
		// receive translated IPv4 packet
		f_TP_ipv6TranslatePacketNoFragmentationHeader_4(
			p_cfMsg.paramsRt01,
			p_cfMsg.paramsHs02
		);

		// postamble
		f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);

		deactivate;

		f_cfPtcDown_4();

	} // end f_TC_TRANS_3090_01_IPv4

	/*
	 * @desc Testcase function for IPv6 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3090_01_IPv6 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		//default
		activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut));

		// preamble
		f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);

		//Test body
		//send IPv6 packet with destination header option
		f_TP_ipv6TranslatePacketHeaders_6(
					c_dstHdr,
					m_extHdrList_1Elem (
						m_extHdr_dstOptHeader (
							c_icmpHdr,
							c_optLen0,
							m_dstOptList_1Elem (
								m_dstOpt_generalOption (
									int2oct ( PX_SKIP_OVER_DESTINATION_OPTION, 1 )
									& c_optHdrOptSize6_noTypeField ) ) ) ),
					p_cfMsg.paramsHs02, 
					p_cfMsg.paramsRt01);

		//Postamble
		f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);
			
		deactivate;

	} // end f_TC_TRANS_3090_01_IPv6

} // end group TRANS_3090_01

	group TRANS_3091_01 {

	/*
	 * @desc  'Test 6to4 packet translation for IPv6 packets headers that are not translatable'
	 *        Uses test configuration 3.
	*/
	testcase TC_TRANS_3091_01() runs on Ipv6Node system NodeTestAdapter {
		//Variables
		var Ipv6Node v_iPv4, v_iPv6;
		var CfMessage v_cfMsgIPv4, v_cfMsgIPv6;

		//Configuration
		f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6);

		//Start
		v_iPv4.start(f_TC_TRANS_3091_01_IPv4(v_cfMsgIPv4));
		v_iPv6.start(f_TC_TRANS_3091_01_IPv6(v_cfMsgIPv6));

		//Synchronization
		f_serverSync2ClientsAndStop({c_prDone, c_tbDone});

		f_cfTwoPtcsDown(v_iPv4, v_iPv6);

	} // end TC_TRANS_3091_01
	
	/*
	 * @desc Testcase function for IPv4 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3091_01_IPv4 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut));

		//Preamble
		f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);
		
		// test body
		// receive translated IPv4 packet
		f_TP_ipv6TranslatePacketNoFragmentationHeader_4(
			p_cfMsg.paramsRt01,
			p_cfMsg.paramsHs02
		);

		// postamble
		f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);

		deactivate;

		f_cfPtcDown_4();

	} // end f_TC_TRANS_3091_01_IPv4

	/*
	 * @desc Testcase function for IPv6 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3091_01_IPv6 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		//default
		activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut));

		// preamble
		f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);

		//Test body
		//send IPv6 packet with routing header option
		f_TP_ipv6TranslatePacketHeaders_6(
					c_routeHdr,
					m_extHdrList_1Elem (
						m_extHdr_routingHeader (
							c_icmpHdr,
							c_routeHdrLen2,
							c_routeHdrType0,
							c_routeHdrSegmentsLeft0,
							m_routingHeaderData_ipv6AddressList_1Elem (
								p_cfMsg.paramsRt01.gla ) ) ),
					p_cfMsg.paramsHs02, 
					p_cfMsg.paramsRt01);

		//Postamble
		f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);
			
		deactivate;

	} // end f_TC_TRANS_3091_01_IPv6

} // end group TRANS_3091_01

	group TRANS_3093_01 {

	/*
	 * @desc  'Test 6to4 packet translation for IPv6 packets headers that are not translatable'
	 *        Uses test configuration 3.
	*/
	testcase TC_TRANS_3093_01() runs on Ipv6Node system NodeTestAdapter {
		//Variables
		var Ipv6Node v_iPv4, v_iPv6;
		var CfMessage v_cfMsgIPv4, v_cfMsgIPv6;

		//Configuration
		f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6);

		//Start
		v_iPv4.start(f_TC_TRANS_3093_01_IPv4(v_cfMsgIPv4));
		v_iPv6.start(f_TC_TRANS_3093_01_IPv6(v_cfMsgIPv6));

		//Synchronization
		f_serverSync2ClientsAndStop({c_prDone, c_tbDone});

		f_cfTwoPtcsDown(v_iPv4, v_iPv6);

	} // end TC_TRANS_3093_01
	
	/*
	 * @desc Testcase function for IPv4 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3093_01_IPv4 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut));

		//Preamble
		f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);
		
		// test body
		// receive translated IPv4 packet
		f_TP_ipv4DiscardPacket_4(
			p_cfMsg.paramsRt01,
			p_cfMsg.paramsHs02
		);

		// postamble
		f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);

		deactivate;

		f_cfPtcDown_4();

	} // end f_TC_TRANS_3093_01_IPv4

	/*
	 * @desc Testcase function for IPv6 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3093_01_IPv6 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		//default
		activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut));

		// preamble
		f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);

		//Test body
		//send IPv6 packet with routing header option
		f_TP_ipv6DiscardPacketHeaders_6(
					p_cfMsg.paramsHs02, 
					p_cfMsg.paramsRt01);

		//Postamble
		f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);
			
		deactivate;

	} // end f_TC_TRANS_3093_01_IPv6

} // end group TRANS_3093_01

	group TRANS_3095_01 {

	/*
	 * @desc  'Test 6to4 packet translation for IPv6 packets headers that are not translatable'
	 *        Uses test configuration 3.
	*/
	testcase TC_TRANS_3095_01() runs on Ipv6Node system NodeTestAdapter {
		//Variables
		var Ipv6Node v_iPv4, v_iPv6;
		var CfMessage v_cfMsgIPv4, v_cfMsgIPv6;

		//Configuration
		f_cfTrans03Up_SIIT(v_iPv4, v_iPv6, v_cfMsgIPv4, v_cfMsgIPv6);

		//Start
		v_iPv4.start(f_TC_TRANS_3095_01_IPv4(v_cfMsgIPv4));
		v_iPv6.start(f_TC_TRANS_3095_01_IPv6(v_cfMsgIPv6));

		//Synchronization
		f_serverSync2ClientsAndStop({c_prDone, c_tbDone});

		f_cfTwoPtcsDown(v_iPv4, v_iPv6);

	} // end TC_TRANS_3091_01
	
	/*
	 * @desc Testcase function for IPv4 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3095_01_IPv4 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		activate(a_tn_nut_4(p_cfMsg.paramsRt01, p_cfMsg.paramsIut));

		//Preamble
		f_PR_tn_nut_4(p_cfMsg, e_cleanGla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);
		
		// test body
		// receive translated IPv4 packet
		f_TP_ipv6TranslatePacketFragmentationHeader_4(
			p_cfMsg.paramsRt01,
			p_cfMsg.paramsHs02
		);

		// postamble
		f_PO_tn_nut_4(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsRt01, p_cfMsg.paramsIut);

		deactivate;

		f_cfPtcDown_4();

	} // end f_TC_TRANS_3095_01_IPv4

	/*
	 * @desc Testcase function for IPv6 interface of SIIT
 	 * @param p_cfMsg Configuration message for Test Adapter
	*/
	function f_TC_TRANS_3095_01_IPv6 (CfMessage p_cfMsg) 
	runs on Ipv6Node {

		//default
		activate(a_tn_nut ( p_cfMsg, p_cfMsg.paramsHs02, p_cfMsg.paramsIut));

		// preamble
		f_PR_tn_nut(p_cfMsg, e_cleanGla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);

		//Test body
		//send IPv6 packet with fragment header option
		f_TP_ipv6TranslatePacketHeaders_6(
					c_fragHdr,
					m_extHdrList_1Elem (
						m_extHdr_fragmentHeader (
						c_icmpHdr,
						c_fragOffset0,
						c_moreFragments,
						c_fragmentId1 ) ),
					p_cfMsg.paramsHs02, 
					p_cfMsg.paramsRt01);

		//Postamble
		f_PO_tn_nut(p_cfMsg, c_cleanOnlyLla, p_cfMsg.paramsHs02, p_cfMsg.paramsIut);
			
		deactivate;

	} // end f_TC_TRANS_3095_01_IPv6

} // end group TRANS_3095_01

} // end group iPv6toIPv4
} // end group rFC2765
} //end module AtsIpv6_Transitioning_Testcases
+208 −2

File changed.

Preview size limit exceeded, changes collapsed.