Commit 2a236bb5 authored by mullers's avatar mullers
Browse files

TC_TRA_1017_01

TC_TRA_1017_02
TC_TRA_1013_03 added
parent 5f9a7ec8
Loading
Loading
Loading
Loading
+30 −0
Original line number Original line Diff line number Diff line
@@ -952,6 +952,36 @@
			}}
			}}
		}
		}


		template RouterAdvertisement mw_rtAdv_noExtHdr_slla (
			template Ipv6Address p_src,
			template Ipv6Address p_dst
		) := {
				ipv6Hdr := mw_ipHdr_nextHdr_srcDst(c_icmpHdr, p_src, p_dst),
				extHdrList := omit,
				ipv6Payload := { routerAdvMsg := {
					icmpType:= c_rtAdvMsg,
					icmpCode:= c_icmpCode0,
					checksum:= ?,
					curHopLimit:= ?,
					managedConfigFlag:=?,
					otherConfigFlag:=?,
					homeAgentFlag := ?,
					reserved:= 0,
					routerLifetime:=?,
					reachableTime:=?,
					retransTimer:=?,
					rtAdvOptions:= {
						srcLinkLayerAddr := ?,
						mtuOption := *,
						prefixInfoList := *,
						advertisementInterval := *,
						homeAgentInfo := *,
						otherOption := *
					}
				}
			}
		}

		/*
		/*
		 *	@param  p_src Binary IPv6 address associated with the
		 *	@param  p_src Binary IPv6 address associated with the
		 *          test component.
		 *          test component.
+37 −0
Original line number Original line Diff line number Diff line
@@ -1620,4 +1620,41 @@


	}//end f_receiveRtSolOverIpv4
	}//end f_receiveRtSolOverIpv4


	/*
	 * @desc 	This waits for an ICMPv4 packet with tunneled RouterAdvertisement from an IPv6over4 node for a fixed amount of time.
	 * @remark  Time limit is defined by module parameter PX_TAC (see comp type)
	 * @param 	p_ipv4NutAddr IPv4 address of node under test
	 * @param 	p_ipv6SrcAddr IPv6 address of testing node which calls this function
	 * @param	p_ipv4Packet Received IPv4 packet
	 * @return 	execution status
	*/
	function f_receiveRtAdvOverIpv4(
		in template Ipv4Address p_ipv4NutAddr,
		in template Ipv6Address p_ipv6SrcAddr,
		out Ipv4Packet			p_ipv4Packet
	)
	runs on LibIpv6Node
	return FncRetCode {

		var FncRetCode v_ret := e_error;

		tc_ac.start;
		alt{
			[] ipv4Port.receive(mw_ipv4Packet_tunneledIpv6 (
									p_ipv4NutAddr,
									c_localScopeAllNodesMca,
									mw_rtAdv_noExtHdr_slla (
								      p_ipv6SrcAddr,
								      c_allNodesMca ) )) -> value p_ipv4Packet {
				tc_ac.stop;
				return e_success;
			}
			[] tc_ac.timeout {
				log("**** f_receiveRtAdvOverIpv4: Timeout tc_ac: Expected message not received. ****");
				return e_timeout;
			}
		}//end alt

	}//end f_receiveRtAdvOverIpv4

} // end module LibIpv6_CommonTrans_Functions
} // end module LibIpv6_CommonTrans_Functions