Loading ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2463Icmpv6_Templates.ttcn +24 −0 Original line number Diff line number Diff line Loading @@ -839,6 +839,30 @@ module LibIpv6_Rfc2463Icmpv6_Templates { data := omit } } } /* * @param p_src Binary IPv6 address associated with the * test component. * @param p_dst Binary IPv6 address associated with NUT. * @param p_icmpType ICMPv6 type to be used * @param p_data data content to be used */ template OtherIcmpv6 m_otherIcmpv6_noExtHdr_Data( template Ipv6Address p_src, template Ipv6Address p_dst, UInt8 p_icmpType, octetstring p_data) := { ipv6Hdr := m_ipHdr_nextHdr_srcDst(c_icmpHdr, p_src, p_dst), extHdrList := omit, ipv6Payload := { otherIcmpv6Msg := { icmpType := p_icmpType, icmpCode := c_icmpCode0, checksum := c_2ZeroBytes, data := p_data } } } } // end group ICMPv6_Other group Packet_Too_Big { /* Loading ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2463Icmpv6_TypesAndValues.ttcn +8 −0 Original line number Diff line number Diff line Loading @@ -32,10 +32,18 @@ const UInt8 c_packetTooBigMsg := 2; const UInt8 c_timeExceededMsg := 3; const UInt8 c_parameterProblemMsg := 4; const UInt8 c_unknownInformational := 127; const UInt8 c_echoRequestMsg := 128; const UInt8 c_echoReplyMsg := 129; const UInt8 c_unknownError := 255; } // end group rfc2463MessageIds group rfc2710MessageIds { const UInt8 c_multicastListenerQuery := 130; const UInt8 c_multicastListenerReport := 131; const UInt8 c_multicastListenerDone := 132; } // end group rfc2710MessageIds group IcmpPointers { const UInt32 c_icmpPointer4 := 4; const UInt32 c_icmpPointer6 := 6; Loading ttcn3/EtsiLibrary/LibIpv6/LibTransitioning/LibIpv6_CommonTrans_Functions.ttcn +68 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import from LibIpv6_Rfc2463Icmpv6_TypesAndValues all; import from LibIpv6_Rfc2463Icmpv6_Templates all; import from LibIpv6_Rfc2463Icmpv6_Functions all; import from LibIpv6_Rfc2461NeighborDiscovery_TypesAndValues all; import from LibIpv6_Rfc2461NeighborDiscovery_Templates {template all}; import from LibIpv6_Rfc2461NeighborDiscovery_Functions all; Loading Loading @@ -857,6 +858,73 @@ log("**** f_sendPacketForTranslate_6: Error: Problem while sending ICMPv6 message. ****"); } /* The following MLD Multicast Listener and Neighbour Discovery messages * are only used to check that they are dropped by the SIIT. Therefore they * were intentionally kept simple and may not be used to seve thier original * purpose e.g. for neighbour or router discovery. */ if ((p_icmpType == c_multicastListenerQuery) or (p_icmpType == c_multicastListenerReport) or (p_icmpType == c_multicastListenerDone) or (p_icmpType == c_unknownInformational) or (p_icmpType == c_unknownError)) { v_ret := f_sendOtherIcmpv6( m_otherIcmpv6_noExtHdr_Data(p_llaAddrTn, p_llaAddrNut, p_icmpType, '0BB80000FF01000000000065'O)); // arbitrary "multicastlistener look-alike" data content } if (p_icmpType == c_rtSolMsg) { v_ret := f_sendRtSol( m_rtSol_noExtHdr(p_llaAddrTn, p_llaAddrNut, omit)); } if (p_icmpType == c_rtAdvMsg) { v_ret := f_sendRtAdv( m_rtAdv_noExtHdr(p_llaAddrTn, p_llaAddrNut, c_mFlag0, c_oFlag0, c_infiniteLifetime, c_unspecifiedReachTime, c_unspecifiedRetransTime, omit)); } if (p_icmpType == c_nbrSolMsg) { v_ret := f_sendNbrSol( m_nbrSol_noExtHdr(p_llaAddrTn, p_llaAddrNut, p_llaAddrNut, omit)); } if (p_icmpType == c_nbrAdvMsg) { v_ret := f_sendNbrAdv( m_nbrAdv_noExtHdr(p_llaAddrTn, p_llaAddrNut, c_rFlag0, c_sFlag0, c_oFlag0, p_llaAddrNut, omit)); } if (p_icmpType == c_redirectMsg) { v_ret := f_sendRedirect( m_redirect_noExtHdr(p_llaAddrTn, p_llaAddrNut, p_llaAddrNut, omit)); } if(v_ret != e_success) { log("**** f_sendPacketForTranslate_6: Error: Problem while sending ICMPv6 message. ****"); } return v_ret; } // end f_sendPacketForTranslate_6 Loading Loading
ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2463Icmpv6_Templates.ttcn +24 −0 Original line number Diff line number Diff line Loading @@ -839,6 +839,30 @@ module LibIpv6_Rfc2463Icmpv6_Templates { data := omit } } } /* * @param p_src Binary IPv6 address associated with the * test component. * @param p_dst Binary IPv6 address associated with NUT. * @param p_icmpType ICMPv6 type to be used * @param p_data data content to be used */ template OtherIcmpv6 m_otherIcmpv6_noExtHdr_Data( template Ipv6Address p_src, template Ipv6Address p_dst, UInt8 p_icmpType, octetstring p_data) := { ipv6Hdr := m_ipHdr_nextHdr_srcDst(c_icmpHdr, p_src, p_dst), extHdrList := omit, ipv6Payload := { otherIcmpv6Msg := { icmpType := p_icmpType, icmpCode := c_icmpCode0, checksum := c_2ZeroBytes, data := p_data } } } } // end group ICMPv6_Other group Packet_Too_Big { /* Loading
ttcn3/EtsiLibrary/LibIpv6/LibCore/LibIpv6_Rfc2463Icmpv6_TypesAndValues.ttcn +8 −0 Original line number Diff line number Diff line Loading @@ -32,10 +32,18 @@ const UInt8 c_packetTooBigMsg := 2; const UInt8 c_timeExceededMsg := 3; const UInt8 c_parameterProblemMsg := 4; const UInt8 c_unknownInformational := 127; const UInt8 c_echoRequestMsg := 128; const UInt8 c_echoReplyMsg := 129; const UInt8 c_unknownError := 255; } // end group rfc2463MessageIds group rfc2710MessageIds { const UInt8 c_multicastListenerQuery := 130; const UInt8 c_multicastListenerReport := 131; const UInt8 c_multicastListenerDone := 132; } // end group rfc2710MessageIds group IcmpPointers { const UInt32 c_icmpPointer4 := 4; const UInt32 c_icmpPointer6 := 6; Loading
ttcn3/EtsiLibrary/LibIpv6/LibTransitioning/LibIpv6_CommonTrans_Functions.ttcn +68 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import from LibIpv6_Rfc2463Icmpv6_TypesAndValues all; import from LibIpv6_Rfc2463Icmpv6_Templates all; import from LibIpv6_Rfc2463Icmpv6_Functions all; import from LibIpv6_Rfc2461NeighborDiscovery_TypesAndValues all; import from LibIpv6_Rfc2461NeighborDiscovery_Templates {template all}; import from LibIpv6_Rfc2461NeighborDiscovery_Functions all; Loading Loading @@ -857,6 +858,73 @@ log("**** f_sendPacketForTranslate_6: Error: Problem while sending ICMPv6 message. ****"); } /* The following MLD Multicast Listener and Neighbour Discovery messages * are only used to check that they are dropped by the SIIT. Therefore they * were intentionally kept simple and may not be used to seve thier original * purpose e.g. for neighbour or router discovery. */ if ((p_icmpType == c_multicastListenerQuery) or (p_icmpType == c_multicastListenerReport) or (p_icmpType == c_multicastListenerDone) or (p_icmpType == c_unknownInformational) or (p_icmpType == c_unknownError)) { v_ret := f_sendOtherIcmpv6( m_otherIcmpv6_noExtHdr_Data(p_llaAddrTn, p_llaAddrNut, p_icmpType, '0BB80000FF01000000000065'O)); // arbitrary "multicastlistener look-alike" data content } if (p_icmpType == c_rtSolMsg) { v_ret := f_sendRtSol( m_rtSol_noExtHdr(p_llaAddrTn, p_llaAddrNut, omit)); } if (p_icmpType == c_rtAdvMsg) { v_ret := f_sendRtAdv( m_rtAdv_noExtHdr(p_llaAddrTn, p_llaAddrNut, c_mFlag0, c_oFlag0, c_infiniteLifetime, c_unspecifiedReachTime, c_unspecifiedRetransTime, omit)); } if (p_icmpType == c_nbrSolMsg) { v_ret := f_sendNbrSol( m_nbrSol_noExtHdr(p_llaAddrTn, p_llaAddrNut, p_llaAddrNut, omit)); } if (p_icmpType == c_nbrAdvMsg) { v_ret := f_sendNbrAdv( m_nbrAdv_noExtHdr(p_llaAddrTn, p_llaAddrNut, c_rFlag0, c_sFlag0, c_oFlag0, p_llaAddrNut, omit)); } if (p_icmpType == c_redirectMsg) { v_ret := f_sendRedirect( m_redirect_noExtHdr(p_llaAddrTn, p_llaAddrNut, p_llaAddrNut, omit)); } if(v_ret != e_success) { log("**** f_sendPacketForTranslate_6: Error: Problem while sending ICMPv6 message. ****"); } return v_ret; } // end f_sendPacketForTranslate_6 Loading