3

RFC 8200 section 4.2 states that if a node does not recognize an option type, that node must do some action depending on the 2 higher order bits of the option type. When the higher order bits are 01, it is supposed to discard the packet and, regardless of whether or not the packet's Destination Address was a multicast address, send an ICMP Parameter Problem, Code 2, message to the packet's Source Address, pointing to the unrecognized Option Type.

This seems to contradict with RFC 1122 section 3.2.2 which states that An ICMP error message MUST NOT be sent as the result of receiving a datagram destined to an IP broadcast or IP multicast address.

Seems like there is some conflict but RFC 8200 only uses the lowercase of "must" so I would think RFC 1122 takes precendence. If this the case though, does that make action 01 effectively the same as action 10 in practice?

1
  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can provide and accept your own answer.
    – Ron Maupin
    Dec 15, 2019 at 2:33

1 Answer 1

3

When the higher order bits are 01, it is supposed to discard the packet and, regardless of whether or not the packet's Destination Address was a multicast address, send an ICMP Parameter Problem, Code 2, message to the packet's Source Address, pointing to the unrecognized Option Type.

That is not what it says for the two high-order bits as 01:

01 - discard the packet.

It does say that for the two high-order bit as 10:

10 - discard the packet and, regardless of whether or not the packet's Destination Address was a multicast address, send an ICMP Parameter Problem, Code 2, message to the packet's Source Address, pointing to the unrecognized Option Type.

You seem to be confusing ICMP with ICMPv6.

This seems to contradict with RFC 1122 section 3.2.2 which states that An ICMP error message MUST NOT be sent as the result of receiving a datagram destined to an IP broadcast or IP multicast address.

That is for ICMP, not ICMPv6. When looking at IPv6, you should look at the ICMPv6 RFCs not the ICMP (v4) RFCs and rules. See RFC 4443, Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification. ICMPv6 is different than ICMP (IPv4) in several ways. Below is what Section 2.4. Message Processing Rules says about it:

(e.3) A packet destined to an IPv6 multicast address. (There are two exceptions to this rule: (1) the Packet Too Big Message (Section 3.2) to allow Path MTU discovery to work for IPv6 multicast, and (2) the Parameter Problem Message, Code 2 (Section 3.4) reporting an unrecognized IPv6 option (see Section 4.2 of [IPv6]) that has the Option Type highest- order two bits set to 10).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.