Commit 81711638 authored by validator's avatar validator
Browse files

No commit message

No commit message
parent e58503af
Loading
Loading
Loading
Loading
+27 −19
Original line number Original line Diff line number Diff line
@@ -139,8 +139,7 @@ module LibIpv6_Rfc3775Mipv6_Functions {
			//Variables
			//Variables
			var GeneralIpv6 v_generalIpv6 ;
			var GeneralIpv6 v_generalIpv6 ;
			var UInt16 v_seqNr := 0;
			var UInt16 v_seqNr := 0;
			var Ipv6Address v_mnCareOfAddr1 := c_16ZeroBytes;
			var UInt16 v_lifetime := 0;
			var Ipv6Address v_mnCareOfAddr2 := c_16ZeroBytes;
			var Ipv6Address v_mnHomeAddr := c_16ZeroBytes;
			var Ipv6Address v_mnHomeAddr := c_16ZeroBytes;
			var FncRetCode v_ret := e_error;
			var FncRetCode v_ret := e_error;
			var Ipv6Address v_receivedTargetAddr := c_16ZeroBytes;
			var Ipv6Address v_receivedTargetAddr := c_16ZeroBytes;
@@ -162,7 +161,7 @@ module LibIpv6_Rfc3775Mipv6_Functions {
				}
				}
		
		
				//1st alternative : m_optPad2 + Coa
				//1st alternative : m_optPad2 + Coa
				[]	ipPort.receive(mw_generalIpv6_dst(	c_dstHdr,
				[]	ipPort.receive(mw_generalIpv6_dst(	c_mipHdr,
															//p_mnCoaTn,
															//p_mnCoaTn,
															p_haGlaTn,
															p_haGlaTn,
															m_extHdrList_1Elem(
															m_extHdrList_1Elem(
@@ -176,29 +175,30 @@ module LibIpv6_Rfc3775Mipv6_Functions {
																										m_mipOpt_padN(m_optPad2),
																										m_mipOpt_padN(m_optPad2),
																										m_mipOpt_altCoa(mw_mipOptAltCoA))))))) -> value v_generalIpv6 {
																										m_mipOpt_altCoa(mw_mipOptAltCoA))))))) -> value v_generalIpv6 {
						//Get SeqNr
						//Get SeqNr
						v_seqNr := v_generalIpv6.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber;
						v_seqNr := v_generalIpv6.extHdrList[0].mipHeader.mipMessage.bindingUpdate.sequenceNumber;
						//Get CareOfAddress
						//Get Lifetime
						v_mnCareOfAddr1 := v_generalIpv6.ipv6Hdr.sourceAddress;
						v_lifetime := v_generalIpv6.extHdrList[0].mipHeader.mipMessage.bindingUpdate.lifeTime;
						//TODO read v_mnCareOfAddr2 from MipOptions
						//Get HomeAddress
						//Get HomeAddress
						v_mnHomeAddr := v_generalIpv6.extHdrList[0].destinationOptionHeader.destOptionList[1].homeAddressOption.homeAddress;
						v_mnHomeAddr := v_generalIpv6.ipv6Hdr.sourceAddress;
						//TODO read v_mnCareOfAddr2 from MipOptions
						//tc_wait.stop;	
						//tc_wait.stop;	
						v_ret := e_success ;
						v_ret := e_success ;
						v_ret := f_sendGeneralIpv6(m_generalIpv6_srcDst(	c_routeHdr,
						v_ret := f_sendGeneralIpv6(m_generalIpv6_srcDst(	c_mipHdr,
																			p_haGlaTn,
																			p_haGlaTn,
																			v_mnCareOfAddr1,
																			v_mnHomeAddr,
																			m_extHdrList_1Elem(
																			m_extHdrList_1Elem(
																				m_extHdr_mipHeader (
																				m_extHdr_mipHeader (
																					c_noNextHdr,
																					c_noNextHdr,
																					c_bindingAck,
																					c_bindingAck,
																					m_bindingAck(
																					m_bindingAck(
																						v_seqNr,
																						v_seqNr,
																						v_lifetime,
																						m_mipOptList_1Elem(
																						m_mipOptList_1Elem(
																						m_mipOpt_padN(m_optPad4)))))));
																						m_mipOpt_padN(m_optPad4)))))));
					repeat;
					repeat;
					}
					}
				//2nd alternative : m_optPad4
				//2nd alternative : m_optPad4
				[]	ipPort.receive(mw_generalIpv6_dst(	c_dstHdr,
				[]	ipPort.receive(mw_generalIpv6_dst(	c_mipHdr,
															//p_mnCoaTn,
															//p_mnCoaTn,
															p_haGlaTn,
															p_haGlaTn,
															m_extHdrList_1Elem(
															m_extHdrList_1Elem(
@@ -211,22 +211,23 @@ module LibIpv6_Rfc3775Mipv6_Functions {
																									m_mipOptList_1Elem(
																									m_mipOptList_1Elem(
																										m_mipOpt_padN(m_optPad4))))))) -> value v_generalIpv6 {
																										m_mipOpt_padN(m_optPad4))))))) -> value v_generalIpv6 {
						//Get SeqNr
						//Get SeqNr
						v_seqNr := v_generalIpv6.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber;
						v_seqNr := v_generalIpv6.extHdrList[0].mipHeader.mipMessage.bindingUpdate.sequenceNumber;
						//Get CareOfAddress
						//Get Lifetime
						v_mnCareOfAddr1 := v_generalIpv6.ipv6Hdr.sourceAddress;
						v_lifetime := v_generalIpv6.extHdrList[0].mipHeader.mipMessage.bindingUpdate.lifeTime;
						//Get HomeAddress
						//Get HomeAddress
						v_mnHomeAddr := v_generalIpv6.extHdrList[0].destinationOptionHeader.destOptionList[1].homeAddressOption.homeAddress;
						v_mnHomeAddr := v_generalIpv6.ipv6Hdr.sourceAddress;
						//tc_wait.stop;	
						//tc_wait.stop;	
						v_ret := e_success ;
						v_ret := e_success ;
						v_ret := f_sendGeneralIpv6(m_generalIpv6_srcDst(	c_routeHdr,
						v_ret := f_sendGeneralIpv6(m_generalIpv6_srcDst(	c_mipHdr,
																							p_haGlaTn,
																							p_haGlaTn,
																							v_mnCareOfAddr1,
																							v_mnHomeAddr,
																							m_extHdrList_1Elem(
																							m_extHdrList_1Elem(
																								m_extHdr_mipHeader (
																								m_extHdr_mipHeader (
																									c_noNextHdr,
																									c_noNextHdr,
																									c_bindingAck,
																									c_bindingAck,
																									m_bindingAck(
																									m_bindingAck(
																										v_seqNr,
																										v_seqNr,
																										v_lifetime,
																										m_mipOptList_1Elem(
																										m_mipOptList_1Elem(
																										m_mipOpt_padN(m_optPad4)))))));
																										m_mipOpt_padN(m_optPad4)))))));
					repeat;
					repeat;
@@ -252,6 +253,7 @@ module LibIpv6_Rfc3775Mipv6_Functions {
					//Variables
					//Variables
					var GeneralIpv6 v_generalIpv6 ;
					var GeneralIpv6 v_generalIpv6 ;
					var UInt16 v_seqNr := 0;
					var UInt16 v_seqNr := 0;
					var UInt16 v_lifetime := 0;					
					var Ipv6Address v_mnCareOfAddr1 := c_16ZeroBytes;
					var Ipv6Address v_mnCareOfAddr1 := c_16ZeroBytes;
					var Ipv6Address v_mnCareOfAddr2 := c_16ZeroBytes;
					var Ipv6Address v_mnCareOfAddr2 := c_16ZeroBytes;
					var Ipv6Address v_mnHomeAddr := c_16ZeroBytes;
					var Ipv6Address v_mnHomeAddr := c_16ZeroBytes;
@@ -295,6 +297,8 @@ module LibIpv6_Rfc3775Mipv6_Functions {
																												m_mipOpt_altCoa(mw_mipOptAltCoA))))))) -> value v_generalIpv6 {
																												m_mipOpt_altCoa(mw_mipOptAltCoA))))))) -> value v_generalIpv6 {
								//Get SeqNr
								//Get SeqNr
								v_seqNr := v_generalIpv6.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber;
								v_seqNr := v_generalIpv6.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber;
								//Get Lifetime
								v_lifetime := v_generalIpv6.extHdrList[1].mipHeader.mipMessage.bindingUpdate.lifeTime;
								//Get CareOfAddress
								//Get CareOfAddress
								v_mnCareOfAddr1 := v_generalIpv6.ipv6Hdr.sourceAddress;
								v_mnCareOfAddr1 := v_generalIpv6.ipv6Hdr.sourceAddress;
								//TODO read v_mnCareOfAddr2 from MipOptions
								//TODO read v_mnCareOfAddr2 from MipOptions
@@ -317,6 +321,7 @@ module LibIpv6_Rfc3775Mipv6_Functions {
																							c_bindingAck,
																							c_bindingAck,
																							m_bindingAck(
																							m_bindingAck(
																								v_seqNr,
																								v_seqNr,
																								v_lifetime,
																								m_mipOptList_1Elem(
																								m_mipOptList_1Elem(
																								m_mipOpt_padN(m_optPad4)))))));
																								m_mipOpt_padN(m_optPad4)))))));
							repeat;
							repeat;
@@ -341,6 +346,8 @@ module LibIpv6_Rfc3775Mipv6_Functions {
																												m_mipOpt_padN(m_optPad4))))))) -> value v_generalIpv6 {
																												m_mipOpt_padN(m_optPad4))))))) -> value v_generalIpv6 {
								//Get SeqNr
								//Get SeqNr
								v_seqNr := v_generalIpv6.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber;
								v_seqNr := v_generalIpv6.extHdrList[1].mipHeader.mipMessage.bindingUpdate.sequenceNumber;
								//Get Lifetime
								v_lifetime := v_generalIpv6.extHdrList[1].mipHeader.mipMessage.bindingUpdate.lifeTime;
								//Get CareOfAddress
								//Get CareOfAddress
								v_mnCareOfAddr1 := v_generalIpv6.ipv6Hdr.sourceAddress;
								v_mnCareOfAddr1 := v_generalIpv6.ipv6Hdr.sourceAddress;
								//GetHomeAddress
								//GetHomeAddress
@@ -362,6 +369,7 @@ module LibIpv6_Rfc3775Mipv6_Functions {
																											c_bindingAck,
																											c_bindingAck,
																											m_bindingAck(
																											m_bindingAck(
																												v_seqNr,
																												v_seqNr,
																												v_lifetime,
																												m_mipOptList_1Elem(
																												m_mipOptList_1Elem(
																												m_mipOpt_padN(m_optPad4)))))));
																												m_mipOpt_padN(m_optPad4)))))));
							repeat;
							repeat;
+2 −2
Original line number Original line Diff line number Diff line
@@ -219,13 +219,13 @@ module LibIpv6_MultiRfcs_Templates {
			}
			}
				}
				}


		template MipMessage m_bindingAck(UInt16 p_seqNr, template MipOptionList p_mipOptions) := {	
		template MipMessage m_bindingAck(UInt16 p_seqNr, UInt16 p_lifetime, template MipOptionList p_mipOptions) := {	
			bindingAck := {
			bindingAck := {
				status := c_mipCodeBindingUpdateAccepted,
				status := c_mipCodeBindingUpdateAccepted,
				kFlag := c_kFlag0,
				kFlag := c_kFlag0,
				reserved := c_uInt7Zero,
				reserved := c_uInt7Zero,
				sequenceNumber := p_seqNr,
				sequenceNumber := p_seqNr,
				lifeTime := c_100TimeUnits,		
				lifeTime := p_lifetime,		
				mipOptions := p_mipOptions
				mipOptions := p_mipOptions
			}
			}
		}
		}