EH_UnrecognizedNextHeader - check Unrecognized Next Header in Extension Header
Host and Router
EH_UnrecognizedNextHeader.seq [-tooloption ...] -pkt EH_UnrecognizedNextHeader.def
-tooloption : v6eval tool option
None
Tester Target
| |
|-------------------------->|
| Test Packet |
| |
| |
|<--------------------------|
| Neighbor Solicitation |
| |
| |
|-------------------------->|
| Neighbor Advertisement |
| |
| |
|<--------------------------|
| ICMP Error |
| |
v v
1. Send Test Packet (Unrecognized Next Header in Extension Header) 2. Wait ICMP Error or NS 3. If NS received then send NA, and wait ICMP Error again 4. Receive ICMP Error
Test Packet to Target Data is:
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 16
NextHeader = 60 (Destination Options Header)
SourceAddress = Tester Address
DestinationAddress = Tester Address
Destination Options Header
NextHeader = 128 (Unrecognized value)
HeaderExtLength = 0
OptionType = 1 (PadN)
OptDataLength = 4
pad = {0,0,0,0}
PASS: ICMP Error Received
IPv6 Header
Version = 6
Traffic Class = 0
FlowLabel = 0
PayloadLength = 56
NextHeader = 58 (ICMP)
SourceAddress = Target Address
DestinationAddress = Tester Address
ICMP Error
Type = 4 (Parameter Problem)
Code = 1 (unrecognized Next Header type encountered)
Checksum = (auto)
Pointer = 40 (Offset to Next Header type)
PayloadData = (Sent Packet)
RFC2460
4. IPv6 Extension Headers
If, as a result of processing a header, a node is required to proceed
to the next header but the Next Header value in the current header is
unrecognized by the node, it should discard the packet and send an
ICMP Parameter Problem message to the source of the packet, with an
ICMP Code value of 1 ("unrecognized Next Header type encountered")
and the ICMP Pointer field containing the offset of the unrecognized
value within the original packet. The same action should be taken if
a node encounters a Next Header value of zero in any header other
than an IPv6 header.
perldoc V6evalTool