Re: Comments on draft-herbert-ipv6-update-dest-ops

Ole Troan <otroan@employees.org> Mon, 20 August 2018 16:23 UTC

Return-Path: <otroan@employees.org>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2D25613101B for <ipv6@ietfa.amsl.com>; Mon, 20 Aug 2018 09:23:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sQoV_MhKYRSp for <ipv6@ietfa.amsl.com>; Mon, 20 Aug 2018 09:23:10 -0700 (PDT)
Received: from accordion.employees.org (accordion.employees.org [198.137.202.74]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 408AC131026 for <ipv6@ietf.org>; Mon, 20 Aug 2018 09:23:10 -0700 (PDT)
Received: from astfgl.hanazo.no (30.51-175-112.customer.lyse.net [51.175.112.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by accordion.employees.org (Postfix) with ESMTPSA id 860DD2D500E; Mon, 20 Aug 2018 16:23:09 +0000 (UTC)
Received: from [IPv6:::1] (localhost [IPv6:::1]) by astfgl.hanazo.no (Postfix) with ESMTP id A6A994302D5; Mon, 20 Aug 2018 18:23:07 +0200 (CEST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Subject: Re: Comments on draft-herbert-ipv6-update-dest-ops
From: Ole Troan <otroan@employees.org>
In-Reply-To: <CALx6S35mAnjCw=0Jmz7Niacobw2QmKkUxNJPJ-CNVok_4dAOeQ@mail.gmail.com>
Date: Mon, 20 Aug 2018 18:23:07 +0200
Cc: "C. M. Heard" <heard@pobox.com>, 6man WG <ipv6@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <EDE97FE5-B72A-4ED5-A4B0-F143A0F23C3A@employees.org>
References: <CACL_3VF+EoKOEF-TkB3179UsmN_Yhaqt60jh_h2d2GLnE0EWDA@mail.gmail.com> <CALx6S356TVnbnZ_zp5+aK_x-DmMJUTidw0Wzbc3Tn=cscTd7VA@mail.gmail.com> <CACL_3VGUUs1FS4Qog6pzJ2WZyir2-keEVZTU6opzXQ4t0M-XUw@mail.gmail.com> <CALx6S35q5EqZt26KSPTGHBXZpzaNYyFBO9UxVNsi4is1BxUHrQ@mail.gmail.com> <CACL_3VGfMj6DjAWsxib6Hw_x=5X3CWASKU1oiGqvFdksDuFXDw@mail.gmail.com> <CALx6S37c_WCa+A3aD7X-rq-kj_RTGfGur8HVekt_LWTg6Os18g@mail.gmail.com> <F01E55CE-0E88-47BF-A30B-B83A0B7F5F0F@employees.org> <CALx6S35mAnjCw=0Jmz7Niacobw2QmKkUxNJPJ-CNVok_4dAOeQ@mail.gmail.com>
To: Tom Herbert <tom@herbertland.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/Es_ybZ6Wnh907ij55QoSoN-lXfQ>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.27
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 20 Aug 2018 16:23:18 -0000

Tom,

>>> The negative converse also seems to be true. If an implementation does
>>> not support parsing of Destantion Options before the Routing header,
>>> then the node probably doesn't support parsing of any Destination
>>> Options. This becomes an issue in router implementations that
>>> terminate tunnels int the network with intent to and forward the
>>> tunneled packets. For instance FD.io VPP supports VXLAN, LISP, SR-IPIP
>>> among other encapsulations, AFAICT if the implementation receives an
>>> encapsulated packet addressed to the node that has a Destination
>>> Option (second type that follows any Routing header), either the
>>> packet is either dropped or the Destination options are ignored.
>> 
>> [wearing the VPP committer hat]
>> 
>> VPP as a tunnel endpoint does not parse destination options. In fact at least for rfc2473 tunnels I believe it would drop packets containing one. I am not convinced you can use one implementation’s behavior to support your argument (or not). At least from a VPP perspective I would add destination option header support, as soon as there were any options that made sense to support. (And I am not convinced the tunnel encap limit option is one of them.). I certainly wouldn’t build an implementation that blindly processed destination options, if there were any to support.
>> 
> Ole,
> 
> What you're describing is the type of deadlock that has led to IPv6
> options being ossified. On one side middelboxes are only going to
> support them properly once there are "options that make sense" to
> support, and on the other hand host developers don't want to work to
> define ones that make sense to support since middleboxes don't support
> options. In-situ OAM is a good example of this. The original idea was
> to put OAM in every encapsulation protocol, however that would be much
> better server in either Hop-by-Hop or Destination options and now at
> least IPv6 options are being defined for that.
> 
> Specifically in the case of VPP, I'm not sure why proper parsing of
> Destination Options would be a be major effort. This is just software,
> and probably just a few lines of implementation to implement the
> parsing loop and then you'd be able to claim the VPP is protocol
> compliant in this area. I think this will be a bigger issue for
> hardware implementations.

Absolutely. It’s quick to add. That’s the point. Which is why I’m not adding it until there is something to do with those options.
Note in the example you cited we aren’t talking about a middlebox, but a tunnel endpoint.
I’m not sure I can be bothered adding support for pad options.
I don’t see the deadlock here.

Now, if you are talking about a router/middlebox not passing the options, that’s another thing.

Cheers,
Ole