NAME

  EX_OptProcessingOrder_10 - Option Processing Order
                             (First Option has Most Significant Bits 00, Next has Most Significant Bits 10)


TARGET

  Host and Router


SYNOPSIS

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


INITIALIZATION

  None


TEST PROCEDURE

Verify that a node properly procesesthe options in a single hheader in the order of occurrence.

    TN                         NUT
    |                           |
    |-------------------------->|
    |   Echo Request            |
    |                           |
    |                           |
    |<--------------------------|
    |   ICMP Error              |
    |                           |
    v                           v
  1. TN transmits an Echo Request that has a Destination options header with four unknown Options.
     The Optins Types are 17, 135, 199, and 71.
  2. Observe the packets transmitted by the NUT.
  Echo Request Data is:
        IPv6 Header
            Version            = 6
            Traffic Class      = 0
            FlowLabel          = 0
            PayloadLength      = 48
            NextHeader         = 60 (Destination Options Header)
            SourceAddress      = TN Link Local Address
            DestinationAddress = NUT Link Local Address
        Destination Options Header
            NextHeader         = 58 (ICMPv6)
            HeaderExtLength    = 3
            OptionType         = 0x11 (Unrecognized Option, Type 00)
            OptDataLength      = 4
            data               = {0, 0, 0, 0}
            OptionType         = 0x87 (Unrecognized Option, Type 10)
            OptDataLength      = 6
            data               = {0, 0, 0, 0, 0, 0}
            OptionType         = 0xC7 (Unrecognized Option, Type 11)
            OptDataLength      = 6
            data               = {0, 0, 0, 0, 0, 0}
            OptionType         = 0x47 (Unrecognized Option, Type 01)
            OptDataLength      = 6
            data               = {0, 0, 0, 0, 0, 0}
        ICMP Echo Request
            Type           = 128 (Echo Request)
            Code           = 0
            Checksum       = (auto)
            Identifier     = 0xffff
            SequenceNumber = 1
            PayloadData    = {1, 2, 3, 4, 5, 6, 7, 8}


JUDGEMENT

  PASS: The NUT must send an ICMPv6 Parameter Problem message to TN.
        THe Code field must be 2(unrecognized IPv6 Option encountered).
        The Pointer field must be 0x30(offset of the Option Type field of the second option).
        The NUT must discard the Echo Request sent by TN and must not send a Reply.
        IPv6 Header
            Version             = 6
            Traffic Class       = 0
            FlowLabel           = 0
            PayloadLength       = 96
            NextHeader          = 58 (ICMPv6)
            SourceAddress       = NUT Link Local Address
            Destination Address = TN Link Local Address
        ICMP Error
            Type           = 4 (Parameter Problem)
            Code           = 2 (unrecognized IPv6 option encountered)
            Checksum       = (auto)
            Pointer        = 48 (Offset to Option Type field of 2nd option)
            PayloadData    = (Sent Packet)


CLEANUP

Common Test Cleanup


REFERENCE

RFC 8200 - IPv6 Specification


SEE ALSO

  perldoc V6evalTool