NAME

        Time_Exc_0.seq - check Time Exceeded 0


TARGET

        Router


INITIALIZATION

        When test starts, states of Neighbor Cache Entry for TN's 
        addresses are reachable.


TEST PROCEDURE

        This test verifies that NUT sends valid ICMPv6 Time Exceeded (code 0)
        in response to a packet which can not be forwarded.
        And this test verifies that the message processing rule,
        
        - If the message is a response to a message sent to one of the
          node's unicast addresses, the Source Address of the reply must
          be that same address.

        - If the message is a response to a message sent to an address
          that does not belong to the node, the Source Address should be
          that unicast address belonging to the node that will be most
          helpful in diagnosing the error. For example, if the message is
          a response to a packet forwarding action that cannot complete
          successfully, the Source Address should be a unicast address
          belonging to the interface on which the packet forwarding
          failed.

        TN                      NUT

        ---------------------------

        1.
         === echo request packet  ===>
                src address : TN global address
                dst address : NUT global address             
                hop limit   : 0 or 1
        
        2.
        << JUDGMENT >>

         <=== ICMPv6  Time Exceeded ===
                src address : NUT global address
                dst address : TN global address             
             Code is 0


JUDGMENT

        << PASS >>
                NUT send ICMPv6 Time Exceeded.
                

        << FAIL >>      
                NUT do not send ICMPv6 Time Exceeded.


REFERENCE

RFC2463 3.3 Time Exceeded Message

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |     Code      |          Checksum             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                             Unused                            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                    As much of invoking packet                 |
      +               as will fit without the ICMPv6 packet           +
      |               exceeding the minimum IPv6 MTU [IPv6]           |

   IPv6 Fields:
   Destination Address
                  Copied from the Source Address field of the invoking
                  packet.

   ICMPv6 Fields:
   Type           3
   Code           0 - hop limit exceeded in transit
1 - fragment reassembly time exceeded

   Unused         This field is unused for all code values.
                  It must be initialized to zero by the sender
                  and ignored by the receiver.

   Description
   If a router receives a packet with a Hop Limit of zero, or a router
   decrements a packet's Hop Limit to zero, it MUST discard the packet
   and send an ICMPv6 Time Exceeded message with Code 0 to the source of
   the packet.  This indicates either a routing loop or too small an
   initial Hop Limit value.

   The rules for selecting the Source Address of this message are
   defined in section 2.2.


SEE ALSO

          perldoc V6evalTool