LibIpv6_ModuleParameters.ttcn 4.86 KB
Newer Older
/*
 *	@author 	STF 276
 *  @version 	$Id$
 *	@desc		- Here all module parameters from every RFC shall be collected.
 *  
 */
module LibIpv6_ModuleParameters language "TTCN-3:2005" {
	
	//LibCommon
	import from LibCommon_DataStrings all;
	import from LibCommon_BasicTypesAndValues all;
	import from LibCommon_TextStrings all;
	//LibIpv6
	import from LibIpv6_Interface_TypesAndValues all ;
	import from LibIpv6_Rfc4306Ikev2_TypesAndValues all ;

	/*
	 * @desc Length of Source Link-Layer and Target Link-Layer options
	 * @remark Length is specified in units of 8 octets including type+length field
	*/
	modulepar UInt8 PX_MAC_OPTION_LEN := 1;

	/*
	 * @desc What time does the IUT need to build its global address?
	*/
	modulepar float PX_T_BUILD_GLA := 15.0;
berge's avatar
berge committed

berge's avatar
berge committed
	 * @desc Are security parameters configured manually or is IKE used to negotiate security parameters?
berge's avatar
berge committed
	modulepar IpSecControl PX_IPSEC_CONTROL := e_useIKEforSecParamsSetup;

	/*
	 * @desc Which protocol mode shall be used in vc_sad[c_saRes]?
	*/
	modulepar IpSecProtocolMode PX_IPSEC_PROTOCOL_MODE := e_transportMode;

	/*
	 * @desc Which Algo mode shall be used for Encryption in vc_sad[c_saRes]?
	*/
	modulepar EncryptionAlgo PX_ENCRYPTION_ALGO := e_encr_3Des;

	/*
	 * @desc Which Algo mode shall be used for Integrity in vc_sad[c_saRes]?
	*/
	modulepar IntegrityAlgo PX_INTEGRITY_ALGO := e_auth_hmacSha1_96;
	
	/*
	 * @desc Key for integrity vc_sad[c_saRes]
	*/
	modulepar octetstring PX_INTEGRITY_KEY := '000102030405'O;
	
	/*
	 * @desc Key for encryption in vc_sad[c_saRes]
	*/
	modulepar octetstring PX_ESP_ENCR_KEY := 'A1A2A3A4'O;
berge's avatar
berge committed
	/*
	 * @desc Generic outbound SA SPI number when manually established
	 */ 
	modulepar UInt32 PX_SA_OUT_SPI := 0;

	/*
	 * @desc Generic inbound SA SPI number when manually established
	 */ 
	modulepar UInt32 PX_SA_IN_SPI := 1;
		
	group mipSecurity {

		/*
		 * @desc Shall IPSEC be tested?
		*/
		modulepar IpSecSwitch PX_USE_IPSEC_FOR_MIP  := e_securityOff;
		
		/*
		 * @desc Outbound SA used for Return routability procedure in mobility (Manual establishment only)
		*/ 
		modulepar UInt32 PX_SA_RRP_OUT_SPI := 2;

		/*
		 * @desc Inbound SA used for Return routability procedure in mobility (Manual establishment only)
		*/ 
		modulepar UInt32 PX_SA_RRP_IN_SPI := 3;
		
		/*
		 * @desc Outbound SA used for Cn(=TS)<->Mn(=IUT) communication in mobility (Manual establishment only)
		*/
		modulepar UInt32 PX_SA_CNMN_OUT_SPI := 4;
		
		/*
		 * @desc Inbound SA used for Cn(=TS)<->Mn(=IUT) communication in mobility (Manual establishment only)
		*/ 
		modulepar UInt32 PX_SA_CNMN_IN_SPI := 5;
		
		// PX_SA_MNCN_OUT_SPI PX_SA_RRP_IN_SPI
	}

} // end group security

group ikeSecurity
	{
	/*
	 * @desc Which protocol (ESP or AH) shall be requested in IKE_AUTH messages when testing IKE?
	*/
	modulepar UInt8 PX_AH_OR_ESP := c_protocolEsp;  

	/*
	 * @desc Which encryption algorithm shall be used for testing IKE?
	*/
	modulepar EncryptionAlgo PX_IKE_ENCALGO := e_encr_3Des;

	/*
	 * @desc Which pseudo random function shall be used for testing IKE?
	*/
	modulepar PseudoRandomFunction PX_IKE_PSEUDORANDOM_FCT := e_prfHmacMd5; 

	/*
	 * @desc Which integrity algorithm shall be used for testing IKE?
	*/
	modulepar IntegrityAlgo PX_IKE_INTALGO := e_auth_hmacMd5_96;

	/*
	 * @desc Which Diffie-Hellman group shall be used for testing IKE?
	*/
	modulepar DiffieHellmanGroup PX_IKE_DIFFIEHELLMAN_GROUP := e_group2ModP1024Bit; 

	/*
	 * @desc Which private key for the Diffie-Hellman exchange shall be used for testing IKE?
	*/
	modulepar octetstring PX_IKE_DIFFIEHELLMAN_PRIVKEY := '0123456789ABCDEF'O;

	/*
	 * @desc Which pre-shared secret shall be used for calculating the AUTH value?
    */
	modulepar octetstring PX_PRE_SHARED_KEY := '0123456789ABCDEF'O;

	group UnacceptableSecurityParams {
	
	/*
	 * @desc Which IKE_SA encryption algorithm is not acceptable for the IUT?
	*/
	modulepar EncryptionAlgo PX_IKE_ENCALGO_UNACCEPTABLE := e_encr_idea;

	/*
	 * @desc Which IKE_SA pseudo random function is not acceptable for the IUT?
	*/
	modulepar PseudoRandomFunction PX_IKE_PSEUDORNDFCT_UNACCEPTABLE := e_prfAes128Xcbc; 

	/*
	 * @desc Which IKE_SA integrity algorithm is not acceptable for the IUT?
	*/
	modulepar IntegrityAlgo PX_IKE_INTALGO_UNACCEPTABLE := e_auth_aesXcbc_96;

	/*
	 * @desc Which SA encryption algorithm is not acceptable for the IUT?
	*/
	modulepar EncryptionAlgo PX_ENCALGO_UNACCEPTABLE := e_encr_idea;

	/*
	 * @desc Which SA integrity algorithm is not acceptable for the IUT?
	*/
	modulepar IntegrityAlgo PX_INTALGO_UNACCEPTABLE := e_auth_kpdkMd5;

	} // end group UnacceptableSecurityParams {

} // end group ikeSecurity

group ikeUdpPorts {

	/*
	 * @desc UDP Port used by IUT for IKE exchanges
	*/	
	modulepar UInt16 PX_UDP_PORT_IUT_1 := 500;

	/*
	 * @desc UDP Port used by HS02 for IKE exchanges
	*/	
	modulepar UInt16 PX_UDP_PORT_HS02 := 500;
	
} // end group ikeUdpPorts

	
	
} // end module LibIpv6_ModuleParameters