Re: Proposal for changing how IPv6 Hop-by-Hop Options are processed

Tom Herbert <tom@herbertland.com> Mon, 07 December 2020 18:06 UTC

Return-Path: <tom@herbertland.com>
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 80A4A3A1640 for <ipv6@ietfa.amsl.com>; Mon, 7 Dec 2020 10:06:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=herbertland-com.20150623.gappssmtp.com
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 x3lv-GZAYv4J for <ipv6@ietfa.amsl.com>; Mon, 7 Dec 2020 10:06:47 -0800 (PST)
Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com [IPv6:2607:f8b0:4864:20::734]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A94703A163C for <ipv6@ietf.org>; Mon, 7 Dec 2020 10:06:47 -0800 (PST)
Received: by mail-qk1-x734.google.com with SMTP id 1so13411219qka.0 for <ipv6@ietf.org>; Mon, 07 Dec 2020 10:06:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ZQQF6oRWcJOewHUW7w1H5jm5kyavL0fXdfItencqyP4=; b=haxikT+3cfucqDgtZ27QCGdPoYDiZ+dzSwxF5qBAJXn3EUKljmTWWWHKunT8Z792Ld ZkU6VK0uea332GsGO618lai/+c5o5nyHRHot07pKmg7ZM+Yce1pZZm1xPI1YyrGMaVoP y688z4lO1m/JgPaOPWBqbUp+O150HP04rlStCDLh/fzq3mlDNNGVhrnZZz3/J/xVr7sT PuIE7BA3h9s0Y4pH7Gu/Hmr/ggImhXWKBs6RCyWXbptFDvBUrvyaVKpXzE/eP903UGxv x5lo28ilfYI54tOT9YbpuwxlBLgPyEEkm6V4wX56DiAVvN4ISF3tcDsdp8tkJl+Awcoj ixlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ZQQF6oRWcJOewHUW7w1H5jm5kyavL0fXdfItencqyP4=; b=oVZLy8EGghDlP0yL30LYadHx6DUC3ZIg+PaKvWw+X7wOtlaVmRWkB4rEpMkRdeX2RB b0WMRh+qFOxnXSxxQtMzKZkZZ9QfPkhMknfzCYOIImZJi4+i/6bRRzZSLgtpoRFsOm9Y htnsJJCmQHYcDqAI9fmdsE7EEOL1KfHoR3bOAPffG2L5e8liJdzJk6LgxP7ajbIifZnR cgitu1TchfUw2NTcjM/Vv1ErY6Kpz+oPSBZFNUR7y0VWbJLe7Uusl2EWbIsU2dbcvN/z p2LHuuGvdBv8mewsUCcpLuYPOeBSp7We8sjHshUEiTPZlBdcclMEEeWM9srSkVaqwrO0 Vfmw==
X-Gm-Message-State: AOAM530qbWWgETWXjCtfCERwfsjqcCpH3Gcr7IUyFoJgFO0xvCDeNVBl bRwPKKZrgqeSTh4r+iY/c8Pj10Nk0PV3/fqRNml1Fw==
X-Google-Smtp-Source: ABdhPJzk39Pt1wzizX+Hb/Mjfmnovis6kWPsMlGmNrH6vmDBw7sm2eAUOuAiZ24Ab6DzFUxjvdJtUJ3Ch+NHQOtuTi8=
X-Received: by 2002:a37:b342:: with SMTP id c63mr25757624qkf.146.1607364406388; Mon, 07 Dec 2020 10:06:46 -0800 (PST)
MIME-Version: 1.0
References: <5c2257307541431981be5a4dd3f9880c@boeing.com>
In-Reply-To: <5c2257307541431981be5a4dd3f9880c@boeing.com>
From: Tom Herbert <tom@herbertland.com>
Date: Mon, 07 Dec 2020 11:06:35 -0700
Message-ID: <CALx6S371mF4MQtyMCeoV_GLMdBoTDDrMjFYXuh_uFyapBkjQAw@mail.gmail.com>
Subject: Re: Proposal for changing how IPv6 Hop-by-Hop Options are processed
To: "Templin (US), Fred L" <Fred.L.Templin@boeing.com>
Cc: "otroan@employees.org" <otroan@employees.org>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, 6man WG <ipv6@ietf.org>, Bob Hinden <bob.hinden@gmail.com>, Fernando Gont <fernando@gont.com.ar>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/-rkHYAELUWsXAamEmwEuhnSXxN8>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
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, 07 Dec 2020 18:06:50 -0000

On Mon, Dec 7, 2020 at 10:32 AM Templin (US), Fred L
<Fred.L.Templin@boeing.com> wrote:
>
> Sorry; mailer glitch on my last message. To my response:
>
> > headers. Looking at the code, I suspect that if a Linux host receives
> > a packet with HBH EH not immediately following the IPv6 header, the
> > packet will be dropped as having an unrecognized next header.
>
> I am not concerned about a Linux host; I am concerned about IPv6 routers.

That might be your concern, but the protocol's and IETF's concern is
robust and interoperable operations across hosts and routers. As the
it stands today, HBH EH can only be created by a source host and must
be processed by the destination host, so packets having HBH EH not be
the first EH would most likely be dropped at the destination host and
hence your proposed changed wouldn't generally be useful without
changing host implementations and probably a lot of router
implementations.

> Do IPv6 routers look at extension headers beyond the first one trying to see
> if there is an out-of-place HbH header and then drop the packet if there is?
> If so, I don't think they should.

Per RFC8200 they shouldn't, however we know that many routers look
well beyond the HBH EH (for instance to find transport layer ports for
ECMP). The processing of an embedded HBH option is unspecified in that
case: maybe they'll skip over the EH, maybe they'll drop the packet,
maybe they'll try to process it as HBH options.

>From your description, I will extrapolate that you're planning have
routers insert an extension header and then other routers remove the
extension headers before they are received at the host, so this is a
case of extension header insertion/removal. If that is the case then
draft-herbert-6man-eh-attrib-03 might be of interest to you. It
preserves the requirements of HBH being first an only appearing once,
but would allow Hop-by-Hop options to be inserted. Maybe the extension
header you'd like before the HBH EH could be placed in a HBH
option?...

Tom

>
> Fred
>
> > -----Original Message-----
> > From: Templin (US), Fred L
> > Sent: Monday, December 07, 2020 9:28 AM
> > To: 'Tom Herbert' <tom@herbertland.com>
> > Cc: otroan@employees.org; Gorry Fairhurst <gorry@erg.abdn.ac.uk>; 6man WG <ipv6@ietf.org>; Bob Hinden
> > <bob.hinden@gmail.com>; Fernando Gont <fernando@gont.com.ar>
> > Subject: Re: Proposal for changing how IPv6 Hop-by-Hop Options are processed
> >
> > Tom,
> >
> > > -----Original Message-----
> > > From: Tom Herbert [mailto:tom@herbertland.com]
> > > Sent: Monday, December 07, 2020 8:22 AM
> > > To: Templin (US), Fred L <Fred.L.Templin@boeing.com>
> > > Cc: otroan@employees.org; Gorry Fairhurst <gorry@erg.abdn.ac.uk>; 6man WG <ipv6@ietf.org>; Bob Hinden
> > > <bob.hinden@gmail.com>; Fernando Gont <fernando@gont.com.ar>
> > > Subject: Re: Proposal for changing how IPv6 Hop-by-Hop Options are processed
> > >
> > > On Mon, Dec 7, 2020 at 7:57 AM Templin (US), Fred L
> > > <Fred.L.Templin@boeing.com> wrote:
> > > >
> > > > Ole,
> > > >
> > > > > -----Original Message-----
> > > > > From: otroan@employees.org [mailto:otroan@employees.org]
> > > > > Sent: Monday, December 07, 2020 6:40 AM
> > > > > To: Templin (US), Fred L <Fred.L.Templin@boeing.com>
> > > > > Cc: Fernando Gont <fernando@gont.com.ar>; Bob Hinden <bob.hinden@gmail.com>; 6man WG <ipv6@ietf.org>; Gorry
> > Fairhurst
> > > > > <gorry@erg.abdn.ac.uk>
> > > > > Subject: Re: [EXTERNAL] Proposal for changing how IPv6 Hop-by-Hop Options are processed
> > > > >
> > > > > >> Mind explaining what you are trying to achieve with that change?
> > > > > >
> > > > > > Other than text that is more consistent with the robustness principle?
> > > > > > Shouldn't that be good enough in itself?
> > > > >
> > > > > Not really.
> > > > > You will have more success gathering support for your ideas if you explain what problems they are meant to solve.
> > > > > Restricting the HBH header to appear only directly after the IPv6 header seems like quite a robust design.
> > > >
> > > > Restricting the HbH header to appear only directly after the IPv6 header is consistent
> > > > with "be conservative in what you send". Processing the HbH header  only if it follows
> > > > immediately after the IPv6 header (otherwise ignore) is consistent with "be liberal in
> > > > what you accept from others".
> > > >
> > > > The real strength of Postel's law is the second clause moreso than the first. Application
> > > > of the second clause per my proposed text will naturally guide application of the first
> > > > clause in cases where the sender actually does want the HbH option processed. In
> > > > other cases, the second clause ensures correct operation for the receiver.
> > > >
> > > Fred,
> > >
> > > The receive clause of the Robustness principle is only applicable
> > > within the bounds of the protocol requirements. RFC8200 is specific
> > > that HBH must be first and there can only be one HBH in a packet. A
> > > receive path may be implemented assuming these requirements such that
> > > they never have to consider the possibility of HBH appearing elsewhere
> > > in a packet. In fact, that is how Linux implemented HBH handling by
> > > making a special case different from all the other possible next
> > > headers. Looking at the code, I suspect that if a Linux host receives
> > > a packet with HBH EH not immediately following the IPv6 header, the
> > > packet will be dropped as having an unrecognized next header. I don't
> > > believe this behavior is non-conformant or is inconsistent with
> > > Postel's law.
> > >
> > > Tom
> > >
> > > > Thanks - Fred
> > > >
> > > > > Cheers,
> > > > > Ole
> > > >
> > > > --------------------------------------------------------------------
> > > > IETF IPv6 working group mailing list
> > > > ipv6@ietf.org
> > > > Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> > > > --------------------------------------------------------------------