Re: Conflicting requirements for sending ICMPv6 and EH scan?

Mikael Abrahamsson <swmike@swm.pp.se> Sat, 25 May 2019 06:57 UTC

Return-Path: <swmike@swm.pp.se>
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 0B0E1120331 for <ipv6@ietfa.amsl.com>; Fri, 24 May 2019 23:57:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.301
X-Spam-Level:
X-Spam-Status: No, score=-4.301 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=swm.pp.se
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 hFhFzQ9O3OhQ for <ipv6@ietfa.amsl.com>; Fri, 24 May 2019 23:57:22 -0700 (PDT)
Received: from uplift.swm.pp.se (ipv6.swm.pp.se [IPv6:2a00:801::f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C390912032C for <ipv6@ietf.org>; Fri, 24 May 2019 23:57:22 -0700 (PDT)
Received: by uplift.swm.pp.se (Postfix, from userid 501) id 5959AAF; Sat, 25 May 2019 08:57:18 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=swm.pp.se; s=mail; t=1558767438; bh=isTDHbcA1edWugTLPGHGClCFHtavgqsImh2y6C6e58s=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=qVmrad8Yw0Y9nTRK6YkZkF0HtKR376trusKZN8IENEgy5SZbxI3JnAUdFB/uM/4MG CevkNRq359gkyJQg2snQ4vyj0JcvPu/UjbTZ8ohNyg/AZwMpy/sbPpnJPVPO/jlvnb HwRhlpVdJfhHCydgr6HL6fj7rsSyqINAqZR9/3zc=
Received: from localhost (localhost [127.0.0.1]) by uplift.swm.pp.se (Postfix) with ESMTP id 55C2F9F; Sat, 25 May 2019 08:57:18 +0200 (CEST)
Date: Sat, 25 May 2019 08:57:18 +0200
From: Mikael Abrahamsson <swmike@swm.pp.se>
To: Tom Herbert <tom@herbertland.com>
cc: 6man <ipv6@ietf.org>
Subject: Re: Conflicting requirements for sending ICMPv6 and EH scan?
In-Reply-To: <CALx6S37wNpe=XweKh=Y6ARZ1nfjvySmK=km6+_UTDVFPujp7bA@mail.gmail.com>
Message-ID: <alpine.DEB.2.20.1905250852590.1824@uplift.swm.pp.se>
References: <CALx6S37wNpe=XweKh=Y6ARZ1nfjvySmK=km6+_UTDVFPujp7bA@mail.gmail.com>
User-Agent: Alpine 2.20 (DEB 67 2015-01-07)
Organization: People's Front Against WWW
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/MVWYkwPB1LZROR6J1KKPxnb9sz8>
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: Sat, 25 May 2019 06:57:25 -0000

On Fri, 24 May 2019, Tom Herbert wrote:

> Hello,
>
> I am updating the references in Linux stack from RFC2460 to RFC8200. I
> came across the ipv6_skip_exthdr function which contains a long, and
> somewhat apologetic, comment that this function is purposely walking
> over all the IPv6 extension headers for the purpose of locating the
> transport layer protocol and hence violates RFC2460 (RFC8200):
>
> "Therefore, extension headers must be processed strictly in the order
> they appear in the packet; a receiver must not, for example, scan
> through a packet looking for a particular kind of extension header and
> process that header prior to processing all preceding ones."
>
> The need for this function arises from the requirement of RFC4443:
>
> "(e) An ICMPv6 error message MUST NOT be originated as a result of
>       receiving the following:
>
>       (e.1) An ICMPv6 error message."
>
> So, for instance, if we are sending an ICMP error because of a problem
> with an extension header, we need to walk (process) the  other
> extension headers to determine if the transport is ICMPv6 and if it is
> then not send the error.
>
> The comment is over fourteen years old! I would like to resolve
> somehow as not being a violation of standard. Any ideas how to do
> that?

Is this ipv6_skip_exthdr only used as a sanity check when having decided 
to send an ICMP6v6 error message, or is it used in other cases as well?

-- 
Mikael Abrahamsson    email: swmike@swm.pp.se