On Oct 19, 2006, at 3:53 AM, Su Thunder wrote:
I don't think your comment is a problem. Whether a block of memory is payload or an extension header is determined by the Next Header value of the immediately preceding header, not whether the extension header is known or unknown. A node should pass an unknown extension header to the next header immediately following it, why it regards something unknown as something else?

yes, but there is some ambiguity there. One can use the value in the next header field to indicate an interior header, or one can use it to pass out to another protocol such as TCP.

So you are a machine that doesn't know the meaning of the number (let's say) 254. Is it an interior header, in which case it is of a certain size and you can continue processing to determine that maybe there is an end to end header after it, or is it a new transport protocol? How do you know?

And actually, as I read the spec, that's not what it is supposed to do.

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.

When it comes to a number it doesn't know how to interpret, it is supposed to drop the datagram and report to the sender.

--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to