Commit 6dfc8216 authored by berge's avatar berge
Browse files

Fixed issue #0000362 (removed redundant fx_calcPayloadLength() calls).

Removed unused parameters in f_setExtensionHdr().
Minor bug fix in f_setExtensionHdr().
parent 4432db42
Loading
Loading
Loading
Loading
+19 −73
Original line number Diff line number Diff line
@@ -45,9 +45,7 @@ group rfc2460Root_Functions {
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);
		
		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders( v_ipPkt ) != e_success) {
			log(" **** f_sendGeneralIpv6: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -63,14 +61,10 @@ group rfc2460Root_Functions {
	/*
	 * @desc 	This goes through the extension header list and calculates length, checksum
	 *			and other specific functions of the different extension headers
	 * @param 	p_srcAddr Source Address of IPv6 packet
	 * @param 	p_dstAddr Dst Address of IPv6 packet
	 * @param 	p_extHdrList Extension Header List
	 * @param 	p_ipv6Packet	IPv6 packet to be processed
	 * @return 	execution status 
	*/
	function f_setExtensionHeaders(	inout Ipv6Packet p_ipv6Packet,
									in Ipv6Address p_srcAddr,
									in Ipv6Address p_dstAddr)
	function f_setExtensionHeaders(	inout Ipv6Packet p_ipv6Packet)
	runs on LibIpv6Node
	return FncRetCode {
		var FncRetCode v_ret := e_success;
@@ -134,9 +128,7 @@ group rfc2460Root_Functions {
					v_pseudoIpv6Packet.ipv6Hdr.payloadLength := fx_payloadLength (v_pseudoIpv6Packet);

					// recursive call, original packet can still contain other headers
					f_setExtensionHeaders(	v_pseudoIpv6Packet,
											v_pseudoIpv6Packet.ipv6Hdr.sourceAddress,
											v_pseudoIpv6Packet.ipv6Hdr.destinationAddress);
					f_setExtensionHeaders(	v_pseudoIpv6Packet );
					//Update the original packet						
					v_pseudoIpv6Packet.ipv6Hdr.payloadLength := fx_payloadLength (v_pseudoIpv6Packet);											
			
@@ -157,11 +149,12 @@ group rfc2460Root_Functions {
				else if (ischosen(v_activeIpv6Packet.extHdrList[i].espHeader)) {

					//set IV
					if (vc_sad[c_saOut].espEncryptionAlgo == e_encr_null) {
					if (vc_sad[v_activeIpv6Packet.extHdrList[i].espHeader.spi].espEncryptionAlgo == e_encr_null) {
						v_activeIpv6Packet.extHdrList[i].espHeader.espPayload.iv := omit; 
					}
					else {
						v_activeIpv6Packet.extHdrList[i].espHeader.espPayload.iv := int2oct(128, f_getEncryptionIvLen(PX_ENCRYPTION_ALGO)); 	
						v_activeIpv6Packet.extHdrList[i].espHeader.espPayload.iv := 
							int2oct(128, f_getEncryptionIvLen(vc_sad[v_activeIpv6Packet.extHdrList[i].espHeader.spi].espEncryptionAlgo)); 	
					}
					//Update the original packet						
					v_activeIpv6Packet.ipv6Hdr.payloadLength := fx_payloadLength (v_activeIpv6Packet);	
@@ -173,9 +166,7 @@ group rfc2460Root_Functions {
					v_pseudoIpv6Packet.ipv6Hdr.destinationAddress := v_pseudoDstAddr;
					v_pseudoIpv6Packet.ipv6Hdr.sourceAddress := v_pseudoSrcAddr;
					if (v_ret == e_success) {
						f_setExtensionHeaders(	v_pseudoIpv6Packet,
												v_pseudoIpv6Packet.ipv6Hdr.sourceAddress,
												v_pseudoIpv6Packet.ipv6Hdr.destinationAddress);
						f_setExtensionHeaders(	v_pseudoIpv6Packet );
												
						// include recursion results
						if (ispresent(v_pseudoIpv6Packet.extHdrList)) {
@@ -534,7 +525,7 @@ group rfc3775Mipv6_ExtHdrFunctions {
				
						// compute authenticator
						p_mobileHeader.mobileMessage.bindingUpdateMsg.mobileOptions[v_position].mobileBindingAuthorizationData.authenticator 
								 := fx_mac(	e_auth_sha1_96/*e_hmac_sha1_96*/, vc_mobileSec.mnSimuParams.kbm,
								 := fx_mac(	e_auth_hmacSha1_96/*e_hmac_sha1_96*/, vc_mobileSec.mnSimuParams.kbm,
																		p_srcAddr //careOfaddr 
																		& p_dstAddr //cnAddr
																		& fx_mipHdrToOct(p_mobileHeader) );
@@ -807,13 +798,8 @@ group rfc3775Mipv6_ExtHdrFunctions {
		var BindingUpdate v_ipPkt;
		v_ipPkt := valueof(p_msg);
		
		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);
		
		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendBU: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -839,13 +825,8 @@ group rfc3775Mipv6_ExtHdrFunctions {
		var BindingAcknowledgement v_ipPkt;
		v_ipPkt := valueof(p_msg);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);
		
		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendBA: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -871,13 +852,8 @@ group rfc3775Mipv6_ExtHdrFunctions {
		var BindingError v_ipPkt;
		v_ipPkt := valueof(p_msg);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendBE: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -903,12 +879,7 @@ group rfc3775Mipv6_ExtHdrFunctions {
		var BindingRefreshRequest v_ipPkt;
		v_ipPkt := valueof(p_msg);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendBR: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -934,13 +905,8 @@ group rfc3775Mipv6_ExtHdrFunctions {
		var HomeTest v_ipPkt;
		v_ipPkt := valueof(p_msg);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendHot: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -966,13 +932,8 @@ group rfc3775Mipv6_ExtHdrFunctions {
		var HomeTestInit v_ipPkt;
		v_ipPkt := valueof(p_msg);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendHoti: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -998,13 +959,8 @@ group rfc3775Mipv6_ExtHdrFunctions {
		var CareOfTestInit v_ipPkt;
		v_ipPkt := valueof(p_msg);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendCoti: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -1030,13 +986,8 @@ group rfc3775Mipv6_ExtHdrFunctions {
		var CareOfTest v_ipPkt;
		v_ipPkt := valueof(p_msg);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendCoti: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -1062,13 +1013,8 @@ group rfc3775Mipv6_ExtHdrFunctions {
		var FastNeighborAdvertisement v_ipPkt;
		v_ipPkt := valueof(p_msg);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendFastNbrAdv: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -1132,7 +1078,7 @@ group rfc4303Esp_ExtHdrFunctions {

		return e_success;

	}//end f_setEspHeader
	}//end f_getOriginalIpv6Packet


	/*
+5 −30
Original line number Diff line number Diff line
@@ -44,13 +44,8 @@ module LibIpv6_Rfc2461NeighborDiscovery_Functions {
			var Redirect v_ipPkt;
			v_ipPkt := valueof(p_redirect);

			//calc payloadLen //SMU this must be deleted during maintenance
			v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

			//set extensionHeaders
			if(f_setExtensionHeaders(	v_ipPkt,
										v_ipPkt.ipv6Hdr.sourceAddress,
										v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
			if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
				log(" **** f_sendRedirect: Error when calculating length of extension headers ****");
				return e_error;
			}
@@ -80,13 +75,8 @@ module LibIpv6_Rfc2461NeighborDiscovery_Functions {
			var RouterAdvertisement v_ipPkt;
			v_ipPkt := valueof(p_rtAdv);

			//calc payloadLen
			//v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

			//set extensionHeaders
			if(f_setExtensionHeaders(	v_ipPkt,
										v_ipPkt.ipv6Hdr.sourceAddress,
										v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
			if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
				log(" **** f_sendRtAdv: Error when calculating length of extension headers ****");
				return e_error;
			}
@@ -238,13 +228,8 @@ module LibIpv6_Rfc2461NeighborDiscovery_Functions {
			var NeighborAdvertisement v_ipPkt;
			v_ipPkt := valueof(p_nbrAdv);

			//calc payloadLen
			//v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

			//set extensionHeaders
			if(f_setExtensionHeaders(	v_ipPkt,
										v_ipPkt.ipv6Hdr.sourceAddress,
										v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
			if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
				log(" **** f_sendNbrAdv: Error when calculating length of extension headers ****");
				return e_error;
			}
@@ -289,13 +274,8 @@ module LibIpv6_Rfc2461NeighborDiscovery_Functions {
			var NeighborSolicitation v_ipPkt;
			v_ipPkt := valueof(p_nbrSol);

			//calc payloadLen
			//v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

			//set extensionHeaders
			if(f_setExtensionHeaders(	v_ipPkt,
										v_ipPkt.ipv6Hdr.sourceAddress,
										v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
			if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
				log(" **** f_sendNbrSol: Error when calculating length of extension headers ****");
				return e_error;
			}
@@ -321,13 +301,8 @@ module LibIpv6_Rfc2461NeighborDiscovery_Functions {
			var RouterSolicitation v_ipPkt;
			v_ipPkt := valueof(p_rtrSol);

			//calc payloadLen
			//v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

			//set extensionHeaders
			if(f_setExtensionHeaders(	v_ipPkt,
										v_ipPkt.ipv6Hdr.sourceAddress,
										v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
			if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
				log(" **** f_sendRtSol: Error when calculating length of extension headers ****");
				return e_error;
			}
+8 −41
Original line number Diff line number Diff line
@@ -40,9 +40,7 @@
		var EchoRequest v_ipPkt;
		v_ipPkt := valueof(p_echoRequest);

		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendEchoRequest: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -68,12 +66,7 @@
		var EchoReply v_ipPkt;
		v_ipPkt := valueof(p_echoReply);

		//calc payloadLen
		//v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendEchoReply: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -431,9 +424,7 @@
		//set payload length
		v_ipPkt.ipv6Hdr.payloadLength := p_payloadLength;

		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendEchoRequest_noCalcPayloadLength: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -559,13 +550,8 @@
		var OtherIcmpv6 v_ipPkt;
		v_ipPkt := valueof(p_otherIcmpv6);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set Extension Header
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendOtherIcmpv6: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -593,13 +579,8 @@
		var DestinationUnreachable v_ipPkt;
		v_ipPkt := valueof(p_destUnreachable);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set Extension Header
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendDestUnreachable: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -627,13 +608,9 @@
		var PacketTooBig v_ipPkt;
		v_ipPkt := valueof(p_packetTooBig);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set Extension Header
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendPacketTooBig: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -661,13 +638,8 @@
		var TimeExceeded v_ipPkt;
		v_ipPkt := valueof(p_timeExceeded);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set Extension Header
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendTimeExceeded: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -695,13 +667,8 @@
		var ParameterProblem v_ipPkt;
		v_ipPkt := valueof(p_parameterProblem);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set Extension Header
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendParameterProblem: Error when calculating length of extension headers ****");
			return e_error;
		}
+6 −26
Original line number Diff line number Diff line
@@ -1559,13 +1559,8 @@ group mobileSecurityFns {
		var ExtensionHeader v_extHdr;
		v_ipPkt := valueof(p_haAddrDrep);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set Extension Header
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt) != e_success) {
			log(" **** f_sendHaAddrDrep: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -1593,13 +1588,8 @@ group mobileSecurityFns {
		var ExtensionHeader v_extHdr;
		v_ipPkt := valueof(p_haAddrDreq);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set Extension Header
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendHaAddrDreq: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -1627,13 +1617,8 @@ group mobileSecurityFns {
		var ExtensionHeader v_extHdr;
		v_ipPkt := valueof(p_mobilePrefixSol);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set Extension Header
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendMipPrefixSol: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -1661,13 +1646,8 @@ group mobileSecurityFns {
		var ExtensionHeader v_extHdr;
		v_ipPkt := valueof(p_mobilePrefixAdv);

		//calc payloadLen
		v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set Extension Header
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendMipPrefixAdv: Error when calculating length of extension headers ****");
			return e_error;
		}
+4 −24
Original line number Diff line number Diff line
@@ -52,13 +52,8 @@ module LibIpv6_Rfc4068FastHandovers_Functions {
		var ProxyRouterAdvertisement v_ipPkt;
		v_ipPkt := valueof(p_prRtAdv);

		//calc payloadLen
		//v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendPrRtAdv: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -87,13 +82,8 @@ module LibIpv6_Rfc4068FastHandovers_Functions {
		var RouterSolicitationForProxyRtAdv v_ipPkt;
		v_ipPkt := valueof(p_rtSolPr);

		//calc payloadLen
		//v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendPrRtAdv: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -122,13 +112,8 @@ module LibIpv6_Rfc4068FastHandovers_Functions {
		var HandoverInitiate v_ipPkt;
		v_ipPkt := valueof(p_hoInit);

		//calc payloadLen
		//v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendHoInit: Error when calculating length of extension headers ****");
			return e_error;
		}
@@ -157,13 +142,8 @@ module LibIpv6_Rfc4068FastHandovers_Functions {
		var HandoverAcknowledge v_ipPkt;
		v_ipPkt := valueof(p_hoAck);

		//calc payloadLen
		//v_ipPkt.ipv6Hdr.payloadLength := fx_payloadLength (v_ipPkt);

		//set extensionHeaders
		if(f_setExtensionHeaders(	v_ipPkt,
									v_ipPkt.ipv6Hdr.sourceAddress,
									v_ipPkt.ipv6Hdr.destinationAddress) != e_success) {
		if(f_setExtensionHeaders(	v_ipPkt ) != e_success) {
			log(" **** f_sendHoAck: Error when calculating length of extension headers ****");
			return e_error;
		}
Loading