Commit cdb26392 authored by mullers's avatar mullers
Browse files

esp modifications

parent 4f656178
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -154,6 +154,14 @@ group rfc2460Root_Functions {
				//Process ESP Header, recursive
				else if (ischosen(v_activeIpv6Packet.extHdrList[i].espHeader)) {

					//set IV
					if (vc_sad[0].espEncryptionAlgo == e_null) {
						v_activeIpv6Packet.extHdrList[i].espHeader.espPayload.iv := omit; 
					}
					else {
						v_activeIpv6Packet.extHdrList[i].espHeader.espPayload.iv := PX_IV; 	
					}
	
					v_ret := f_getOriginalIpv6Packet(
									v_activeIpv6Packet,
									v_activeIpv6Packet.extHdrList[i].espHeader,
+7 −5
Original line number Diff line number Diff line
@@ -1309,7 +1309,9 @@ module LibIpv6_Interface_Templates {
			
			
	} //end group rfc4302Ah_ExtHdrTemplates

	group rfc4303Esp_ExtHdrTemplates {

		template ExtensionHeader m_extHdr_espHeader(
			in UInt32 p_spi,
			in UInt32 p_seqNr,
+5 −18
Original line number Diff line number Diff line
@@ -97,9 +97,6 @@ module LibIpv6_Interface_TypesAndValues {
			CreateChildSaResponse,
			InformationalRequest,
			InformationalResponse,
			//Esp
			EchoRequestWithEsp,
			EchoReplyWithEsp,
			//MetaPdu
			Ipv6Packet
			//General IPv6 packet
@@ -342,16 +339,6 @@ module LibIpv6_Interface_TypesAndValues {
			variant "DT TODO";
		}
		
		type Ipv6Packet EchoRequestWithEsp
		with {
			variant "DT TODO";
		}

		type Ipv6Packet EchoReplyWithEsp
		with {
			variant "DT TODO";
		}
		
	  	//General IPv6 packet
	//  	type octetstring Ipv6Packet;//TODO SMU+DTE check this

@@ -1115,10 +1102,10 @@ module LibIpv6_Interface_TypesAndValues {
		
		type enumerated EncryptionAlgo {
			e_null(0),
			e_tripleDes_cbc(1),
			e_aes_cbc(2),
			e_aes_ctr(3),
			e_des_cbc(4)
			e_tripleDes_cbc(1),//iv needed
			e_aes_cbc(2),//iv needed
			e_aes_ctr(3),//iv needed
			e_des_cbc(4)//iv needed
		}
		with {
			variant "use=com.testingtech.ttcn.tci.LibIpv6_Interface_TypesAndValues.*;";
@@ -1127,7 +1114,7 @@ module LibIpv6_Interface_TypesAndValues {
		type enumerated IntegrityAlgo {
			e_null(0),
			e_hmac_sha1_96(1),//RFC4305
			e_aes_xcbc_mac_96(2),//RFC4305
			//not yet implemented e_aes_xcbc_mac_96(2),//RFC4305
			e_hmac_md5_96(3),//RFC4305
			e_sha1(4),//used in MIPv6 5.2.5 to calculate KBM
			e_sha1_96(5),//used in MIPv6 5.2.5 to calculate KBM
+6 −1
Original line number Diff line number Diff line
@@ -60,6 +60,11 @@ module LibIpv6_ModuleParameters {
	*/
	modulepar {UInt32 PX_SPI := 1;}

	/*
	 * @desc Initialization vector for encryption algos
	*/
	modulepar {octetstring PX_IV := '000102030405'O }
	
	/*
	 * @desc Key for integrity vc_sad[0]
	*/
+0 −36
Original line number Diff line number Diff line
@@ -57,42 +57,6 @@
	
	}//end f_sendEchoRequest

		/*
	 * @desc  	This sends an ICMPv6 echo request from an IPv6 node to 
	 *          any NUT. Prior it modifies IPv6 packet payload length 
	 *			and ICMPv6 checksum to their correct values using external 
	 *          functions.
	 * @remark  The template passed in must NOT contain any matching expressions!
	 * @param 	p_echoRequest Ipv6 packet value or template with echo request to be sent
	 * @return 	execution status
	*/
	function f_sendEchoRequestWithEsp (in template EchoRequestWithEsp p_echoRequestWithEsp) 
	runs on LibIpv6Node
	return FncRetCode {
		var EchoRequestWithEsp v_ipPkt;
		v_ipPkt := valueof(p_echoRequestWithEsp);
		if (ispresent(v_ipPkt.extHdrList)) {
			if(f_setExtensionHeaders(	v_ipPkt,
										v_ipPkt.ipv6Hdr.sourceAddress,
										v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
				log(" **** f_sendEchoRequestWithEsp: Error when calculating length of extension headers ****");
				return e_error;
			}
		}
		
		//calc checksum
		//this is done in f_setExtensionHeaders

		//calc payloadLen
		//this is done in test adapter

		//send
		ipPort.send(v_ipPkt);
	
		return e_success;
	
	}//end f_sendEchoRequestWithEsp

	/*
	 * @desc  	This sends an ICMPv6 echo request from an IPv6 node to any NUT. 
	 *			Prior it modifies IPv6 packet payload length and ICMPv6 checksum 
Loading