Question
Should one discard a packet with an unknown IPv6 extension header?
Details
I could not find an answer to this question by examining the RFC. The book IPv6 Essentials states on page 22:
If a node is required the next header but cannot identify the value in the Next Header field, it is required to discard the packet and send an ICMPv6 Parameter Problem message back to the source of the packet.
I read this as: a IPv6 packet with a custom extension header cannot will be dropped unless all IPv6 stacks along the path know how to deal with the header. Or equivalently, if a single IPv6 device along the path does not know how to handle a custom header, it discards the packet.
This seems at odds with the general idea of extension: I cannot introduce a new extension without upgrading the whole network, even if the custom extension does not influence a generic IPv6 stack.
From RFC2460 (Internet Protocol, Version 6 (IPv6)):
As extension headers use the Next Header field I'd interpret this as meaning you're expected to discard the packet and send an ICMP error back. Note that his only applies to the destination host. Routers are supposed to ignore all extension headers: