EX_HdrProcessingOrder_HFD_10 - Extension Header Processing Order
(Fragment Header precedes Destination Options Header,
Error from Destination Options)
Host and Router
None
Verify that a node properly processes the headers of an IPv6 packet in the correct order.
TN NUT
| |
|-------------------------->|
| Test Packet |
| |
| |
|<--------------------------|
| ICMP Error |
| |
v v
1. TN transmits Test Packet, an Echo Request that has a Hop-by-Hop Options header,
Fragment header, and Destination Options header in that order.
The IPv6 header has a Payload Length that is not a multiple of 8 octets,
and the Fragment header does not have the M-bit set.
The Destination Options header has an unknown Option Type 135.
2. Observe the packets transmitted by the NUT.
Test Packet Data is:
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 37
NextHeader = 0 (Hop-by-Hop Options Header)
SourceAddress = TN Link Local Address
DestinationAddress = NUT Link Local Address
Hop-by-Hop Options Header
NextHeader = 44 (Fragment Header)
HeaderExtLength = 0
OptionType = 1 (PadN)
OptDataLength = 4
pad = {0, 0, 0, 0}
Fragment Header
NextHeader = 60 (Destination Options Header)
FragmentOffset = 0
MFlag = 0
FragmentID = 104
Destination Options Header
NextHeader = 58 (ICMPv6)
HeaderExtLength = 0
OptionType = 0x87 (unknown, msb:10)
OptDataLength = 4 (for 8 octets alignment)
data = {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}
PASS: The NUT must send an ICMPv6 Parameter Problem message to TN.
The Code field must be 2(unrecognized IPv6 Option encountered).
If the IPv6 Parameter Problem message includes a Fragment Header,
the Pointer field must be 0x3A(offset of the Option type field in the Destination Options header).
If the IPv6 Parameter Problem message does not include a Fragment Header,
the Pointer field must be 0x32(offset of the Option type field in the Destination Options header).
The NUT must discard the Echo Request from TN.
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 85
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 = 50 or 58 (Offset to Option Type field in Destination Options Header)
(if this value is 50, the fragment header in Echo request is discarded by reassembly.)
PayloadData = (Sent Packet)
Common Test Cleanup
perldoc V6evalTool