IP_NH_Unexpected - Unexpected Next Header in IPv6 Header
Host and Router
None
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
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)
Common Test Cleanup
perldoc V6evalTool