Commit 2f318bf6 authored by schmitting's avatar schmitting
Browse files

First half og RFC2765 donme

parent 25529f84
Loading
Loading
Loading
Loading
+140 −0
Original line number Diff line number Diff line
@@ -543,6 +543,50 @@
	
		}//end f_cfTrans03Up

		/*
		 * @desc Creates configuration of CF_TRANS_03 specially for SIIT
	 	 * @param p_ipv6NodeRef1 Reference to IPv6 test component with IPv4 interface
	 	 * @param p_ipv6NodeRef2 Reference to IPv6 test component with IPv6 interface
	 	 * @param p_cfMsgIPv4 Configuration message of first test component 
		          for Test Adapter
	 	 * @param p_cfMsgIPv6 Configuration message of second test component 
		          for Test Adapter
		*/
		function f_cfTrans03Up_SIIT(
			out Ipv6Node	    p_ipv6NodeRef1, 
			out Ipv6Node	    p_ipv6NodeRef2,
			out CfMessage		p_cfMsgIPv4,
			out CfMessage		p_cfMsgIPv6)
		runs on ServerSyncComp {
			//Variables
			var FncRetCode v_ret := e_success;
			//Create
			p_ipv6NodeRef1 := Ipv6Node.create ;
			p_ipv6NodeRef2 := Ipv6Node.create ;
	
			if (PX_MAC_LAYER == e_eth) {
				//Connect
				connect(p_ipv6NodeRef1:syncPort, self:syncPort) ;
				connect(p_ipv6NodeRef2:syncPort, self:syncPort) ;
				//Map
				map(p_ipv6NodeRef1:ipv4Port, system:ipv4EthernetPort) ;
				map(p_ipv6NodeRef1:cfPort, system:cfTaPort) ;
				map(p_ipv6NodeRef1:arpPort, system:arpEthernetPort) ;
				map(p_ipv6NodeRef2:ipPort, system:ethernetPort) ;
				map(p_ipv6NodeRef2:cfPort, system:cfTaPort) ;
			}
			else {
				log("**** f_cfTrans03Up_SIIT: Error with Pixit PX_MAC_LAYER ****") ;
				v_ret := e_error;
			}
	
			p_cfMsgIPv4 := f_createCfMsg_relayRt01_SIIT();
			p_cfMsgIPv6 := f_createTrans02CfMsg_hs02_SIIT() ;
		
			f_setVerdict(v_ret);
	
		}//end f_cfTrans03Up_SIIT

	}//end cfTrans03

	group createParams {
@@ -1466,6 +1510,50 @@
			
		}//end f_createTrans02CfMsg_hs02
		
		/*
		 * @desc This function creates a test adapter configuration message
		 *       for the test component acting as IPv6to4 RT02 (IPv6 side of SIIT)
		*/
		function f_createTrans02CfMsg_hs02_SIIT()
		return CfMessage {
			//Variables
			var CfMessage v_cfMsg ;
			var Ipv6NodeParams v_paramsHs02, v_paramsIut ;
								
			//HS02 Calculate values for native IPv6 Node
			v_paramsHs02 := f_createParamsHs02(PX_MAC_UCA_HS02, true);
			//Build values for IPv6to4 Node
			v_paramsHs02.gla := c_6to4Prefix_SIIT & PX_6to4_IPv4_ADDR_IUT;//6to4Addr SIIT style
			//IUT Calculate values for native IPv6 Node
			v_paramsIut := f_createParamsIutB(PX_MAC_UCA_IUT_2, true);
			//Build values for IPv6to4 Node
			v_paramsIut.gla := c_6to4Prefix_SIIT & PX_6to4_IPv4_ADDR_IUT;//6to4Addr SIIT style	
			
			var FncRetCode v_ret := e_error;
			
			//fill v_cfMsg
			v_cfMsg.role := c_ptcRoleHs02 ;
			v_cfMsg.netDeviceId := PX_NET_DEVICE_ID_2 ;
			v_cfMsg.macFilterList := {		PX_MAC_UCA_HS02, 
											v_paramsHs02.macSolNodeMca, 
											c_macAllNodesMca,
											c_macAllRoutersMca
										} ;
			
			v_cfMsg.paramsHs01 := omit; 
			v_cfMsg.paramsHs02 := v_paramsHs02; 
			v_cfMsg.paramsHs03 := omit;
			v_cfMsg.paramsRt01 := f_createParamsRt01(PX_MAC_UCA_IUT_2, true);//relayRouter with IPv6 native information
			v_cfMsg.paramsRt02 := omit;			
			v_cfMsg.paramsRt03 := omit;
			v_cfMsg.paramsRt04 := omit;
			v_cfMsg.paramsMn01 := omit;
			v_cfMsg.paramsIut  := v_paramsIut;
			
			return v_cfMsg ;
			
		}//end f_createTrans02CfMsg_hs02_SIIT
		
		/*
		 * @desc This function creates a test adapter configuration message
		 *       for the test component acting as RT01
@@ -1519,6 +1607,58 @@
			
		}//end function f_createCfMsg_relayRt01

		/*
		 * @desc This function creates a test adapter configuration message
		 *       for the test component acting as RT01 (IPv4 side of SIIT)
		*/
		function f_createCfMsg_relayRt01_SIIT()
		return CfMessage {
			//Variables
			var CfMessage v_cfMsg ;
			var Ipv6NodeParams 	v_paramsRt01, v_paramsHs02, v_paramsIut;
								
			v_paramsRt01 := f_createParamsRt01(PX_MAC_UCA_RT01_A, true);//native IPv6 leg
			v_paramsRt01.ipv4Addr := PX_6to4_IPv4_ADDR_RT01;
			v_paramsRt01.relRtAca := c_6to4Relay_anycastAddr;
			v_paramsIut := f_createParamsIutA(PX_MAC_UCA_IUT_1, true);
			v_paramsIut.ipv4Addr := PX_6to4_IPv4_ADDR_IUT;
			v_paramsHs02 := {
				useInTa := false, 
				lla := omit,
				gla := c_6to4Prefix_SIIT & PX_6to4_IPv4_ADDR_IUT,//6to4Addr for SIIT
				solNodeMca := omit,
				haAca := omit,
				mnHoa := omit,
				mnCoa := omit,
				macUca := omit,
				macSolNodeMca := omit,
				prefixLength := omit,
				ipv4Addr := omit,
				relRtAca := omit
			};
			
			var FncRetCode v_ret := e_error;
			
			//fill v_cfMsg
			v_cfMsg.role := c_ptcRoleIpv4Rt01 ;
			v_cfMsg.netDeviceId := PX_NET_DEVICE_ID_1 ;
			v_cfMsg.macFilterList := {		PX_MAC_UCA_RT01_A,
											c_macBroadcast // to catch ARP
										} ;

			v_cfMsg.paramsHs01 := omit; 
			v_cfMsg.paramsHs02 := v_paramsHs02; 
			v_cfMsg.paramsHs03 := omit;
			v_cfMsg.paramsRt01 := v_paramsRt01;
			v_cfMsg.paramsRt02 := omit;			
			v_cfMsg.paramsRt03 := omit;
			v_cfMsg.paramsRt04 := omit;
			v_cfMsg.paramsMn01 := omit;
			v_cfMsg.paramsIut  := v_paramsIut;
			
			return v_cfMsg ;
			
		}//end function f_createCfMsg_relayRt01_SIIT
		
	}//end group create CfMsg
	
+1 −0
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ module AtsIpv6_TestConfiguration_TypesAndValues {
	group ip6to4Prefix {

		const Oct2 c_6to4Prefix := '2002'O;
		const Oct12 c_6to4Prefix_SIIT := '000000000000FFFF00000000'O;
		const Oct4 c_6to4Relay_anycastAddr := 'C0586301'O;
		
		const Oct2 c_6to4_SUBNET_ID_RT01 := '0001'O;