Loading ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2461NeighborDiscovery_Templates.ttcn +30 −0 Original line number Diff line number Diff line Loading @@ -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 * test component. Loading ttcn3/EtsiLibrary/LibIpv6/LibTransitioning/LibIpv6_CommonTrans_Functions.ttcn +37 −0 Original line number Diff line number Diff line Loading @@ -1620,4 +1620,41 @@ }//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 Loading
ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2461NeighborDiscovery_Templates.ttcn +30 −0 Original line number Diff line number Diff line Loading @@ -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 * test component. Loading
ttcn3/EtsiLibrary/LibIpv6/LibTransitioning/LibIpv6_CommonTrans_Functions.ttcn +37 −0 Original line number Diff line number Diff line Loading @@ -1620,4 +1620,41 @@ }//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