NAME

  IP_NH_Unexpected - Unexpected Next Header in IPv6 Header


TARGET

  Host and Router


SYNOPSIS

  IP_NH_Unexpected.seq [-tooloption ...] -pkt IP_NH_Unexpected.def
    -tooloption : v6eval tool option


INITIALIZATION

  None


TEST PROCEDURE

Verify that a node generates the appropriate response to aan unexpected Next Header field.

   TN                          NUT
    |                           |
    |-------------------------->|
    |   Test Packet             |
    |                           |
    |                           |
    |<--------------------------|
    |   ICMP Error              |
    |                           |
    v                           v
  1. TN transmits Test Packet to the NUT, which has an IPv6 header with a Next Header field of 0.
     The actual extension header that follows is a Fragment header.
     The Fragment ID is 135.
  2. Observe the packets transmitted by the NUT.
  Test Packet to Target Data is:
        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 16
            NextHeader         = 0 (Hop-by-Hop Options Header)
            SourceAddress      = TN Address
            DestinationAddress = NUT Address
        Fragment Header                      as HbH Options Header
            NextHeader      = 58 (ICMPv6)    <= Next Header
            Fragment Offset = 0              <= Option (Pad1)
            MFlag           = 0              <= Option (Pad1)
            Fragment ID     = 34560 (0x8700) <= Option (Undefined)
        ICMP Echo Request


JUDGEMENT

  PASS: The NUT would interpret the Fragment header as a Hop-by-Hop Options header.
        Thus, the Fragment ID would be interpreted ad if it were an Option Type.
        The NUT should send an ICMPv6 Parameter Problem message to TN.
        The Code field should be 2(unrecognized IPv6 Option encountered).
        The Pointerfield should be 0x2e(offset of the Fragment ID in the Fragment header).
        The NUT should discard Test Packet and should not send an Echo Reply to TN.
  ICMP Parameter Problem message is:
        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 56
            NextHeader         = 58 (ICMPv6)
            SourceAddress      = NUT Address
            DestinationAddress = TN Address
        ICMP Error
            Type           = 4 (Parameter Problem)
            Code           = 2 (unrecognized IPv6 Option encountered)
            Checksum       = (auto)
            Pointer        = 46 (Offset to Fragment ID in Fragment Header)
            PayloadData    = (Sent Packet)


CLEANUP

Common Test Cleanup


REFERENCE

RFC 8200 - IPv6 Specification


SEE ALSO

  perldoc V6evalTool