NAME

  HL_OneToRouter - check Hop Limit 1 to Router


TARGET

  Router


SYNOPSIS

  HL_OneToRouter.seq [-tooloption ...] -pkt HL_OneToRouter.def
    -tooloption : v6eval tool option
  See also IH_Router.def


INITIALIZATION

  None


TEST PROCEDURE

  Tester                      Target                      Tester
              (Link0)                     (Link1)
    |                           |                           |
    |-------------------------->|                           |
    |   Echo Request to Link0   |                           |
    |                           |     (no forwarding)       |
    |                           |                           |
    |<--------------------------|                           |
    |   Neighbor Solicitation   |                           |
    |                           |                           |
    |-------------------------->|                           |
    |   Neighbor Advertisement  |                           |
    |                           |                           |
    |<--------------------------|                           |
    |    ICMP Error at Link0    |                           |
    |            or             |                           |
    |    ICMP Error at Link1    |                           |
    |                           |                           |
    v                           v                           v

  1. Send Echo Request to Link0
  2. Wait ICMP Error or NS from Link0
  3. If NS received then send NA to Link0, and wait ICMP Error again
  4. Receive ICMP Error

  Echo Request to Link0 Data is:

        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 16
            NextHeader         = 58 (ICMP)
            HopLimit           = 1
            SourceAddress      = Tester Global Address (Link0)
            DestinationAddress = Tester Global Address (Link1)

        ICMP Echo Request
            Type           = 128 (Echo Request)
            Code           = 0
            Checksum       = (auto)
            Identifier     = 0xffff
            SequenceNumber = 1
            PayloadData    = {1,2,3,4,5,6,7,8}


JUDGMENT

  PASS: ICMP Error at Link0 Received

        IPv6 Header
            Version             = 6
            Traffic Class       = 0
            FlowLabel           = 0
            PayloadLength       = 16
            NextHeader          = 58 (ICMP)
            SourceAddress      = Target Global Address (Link0)
            DestinationAddress = Tester Global Address (Link0)

        ICMP Error
            Type           = 3 (Time Exceeded)
            Code           = 0 (hop limit exceeded in transit)
            Checksum       = (auto)
            PayloadData    = (Echo Request, HopLimit is 1 or 0)

  PASS: ICMP Error at Link1 Received

        IPv6 Header
            Version             = 6
            Traffic Class       = 0
            FlowLabel           = 0
            PayloadLength       = 16
            NextHeader          = 58 (ICMP)
            SourceAddress      = Target Global Address (Link1)
            DestinationAddress = Tester Global Address (Link0)

        ICMP Error
            Type           = 3 (Time Exceeded)
            Code           = 0 (hop limit exceeded in transit)
            Checksum       = (auto)
            PayloadData    = (Echo Request, HopLimit is 1 or 0)


REFERENCE

RFC2460

3. IPv6 Header Format

   Hop Limit            8-bit unsigned integer.  Decremented by 1 by
                        each node that forwards the packet. The packet

RFC2463

3.3 Time Exceeded Message

   ICMPv6 Fields:

   Type           3

   Code           0 - hop limit exceeded in transit

   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.


SEE ALSO

  perldoc V6evalTool