Subject: Re: Comments on draft-gont-6man-ipv6-opt-transmit-01

From: "C. M. Heard" <[email-masked]>
Date: Tue, 21 Jul 2015 00:18:24 -0700

> 1) Section 3 of your draft states:
> "[RFC2460] requires destination
> hosts to discard the corresponding packet if the option is unrecognised."
>
> AFAIK RFC2460 requires the action that must be taken if a particular
> options is not recognized depends on the Option Type (so, if the
> Option Type is set to '00', the node skips over this option and
> continue processing the header).

The above quote is taken out of context.  What the draft actually says is:

  "In the case of some options meant to be included in
   IPv6 extension headers other than Hop-by-Hop Options,
   [RFC2460] requires destination hosts to discard the
   corresponding packet if the option is unrecognized."

I see no problem with the existing text.

> 2) The same Section 3 says:
>   "A node that processes the contents of an IPv6 extension header SHOULD
>    discard the corresponding packet if it contains any options that have
>    become deprecated."
>
> I'd say it might break connectivity. Let's say tomorrow we deprecate
> an option X and suddenly intermediate routers start blocking my
> traffic because they are already aware of the option being deprecated
> while my hosts and servers have not been updated yet....I'd suggest
> smth about a configurable policy and replace SHOULD with MAY.

I agree that the behavior in this case should be configurable, but I would
be quite comfortable with the default configuration being to drop packets
containing options that have become deprecated.

Mike Heard

---

From: Brian E Carpenter <[email-masked]>
Date: Tue, 21 Jul 2015 20:38:49 +1200

> containing options that have become deprecated.

That is a modification to the existing standard for extension headers
(RFC 7045) which says:

   Forwarding nodes that operate as firewalls MUST conform to the
   requirements in the previous section in order to respect the IPv6
   extension header architecture.  In particular, packets containing
   standard extension headers are only to be discarded as a result of an
   intentionally configured policy.

An option header is a standard extension header, even if it contains
a deprecated option. So for compatibility with RFC 7045 the default
configuration cannot be to drop deprecated options, unless we add an
"Updates: 7045" and corresponding words in the text.

    Brian

---

From: Jen Linkova <[email-masked]>
Date: Tue, 21 Jul 2015 10:51:52 +0200

>    corresponding packet if the option is unrecognized."

Oh, if by 'some options' you mean 'options with highest two bits of
Option Type set to '01', '10' or '11' - then yes, the statement is
true. Probably it's just me misinterpreting the text but I'd still
suggest to clarify the conditions when a packet with unrecognized
option can be dropped.

> containing options that have become deprecated.

To be honest I would be quite uncomfortable. I'm afraid the majority
of routers are using the default configuration. Therefore deprecating
an option would break connectivity for devices using it.
Secondly I believe that a deprecated option (== option which is not in
use) could be treated as 'unknown' option so option type should be
inspected and the node should act accordingly.
-- 
SY, Jen Linkova aka Furry

---

From: Fernando Gont <[email-masked]>
Date: Wed, 22 Jul 2015 00:45:44 -0300

> suggest to clarify the conditions when a packet with unrecognized

The thing here is: "If a middlebos looks at the options in a non-HbH
header, it must not drop packets with unrecognized options". The reason
being that that would prevent incremental deployment of any new option.

> an option would break connectivity for devices using it.

One would assume that if an options is formally deprecated, it is
because it's not actually in use?

> inspected and the node should act accordingly.

Seems like requiring more work than needed?  (take the comment as "food
for thought)

Thanks!

Best regards,
-- 
Fernando Gont
SI6 Networks
e-mail: [email-masked]
PGP Fingerprint: 6666 31C6 D484 63B2 8FB1 E3C4 AE25 0D55 1D4E 7492