Re: Conflicting requirements for sending ICMPv6 and EH scan?
Fernando Gont <fgont@si6networks.com> Sat, 25 May 2019 23:00 UTC
Return-Path: <fgont@si6networks.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 B86DF120125 for <ipv6@ietfa.amsl.com>; Sat, 25 May 2019 16:00:26 -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, 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 yhulMIKFc-Cz for <ipv6@ietfa.amsl.com>; Sat, 25 May 2019 16:00:23 -0700 (PDT)
Received: from fgont.go6lab.si (fgont.go6lab.si [IPv6:2001:67c:27e4::14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7D5FC12002F for <ipv6@ietf.org>; Sat, 25 May 2019 16:00:23 -0700 (PDT)
Received: from [192.168.0.49] (unknown [178.233.231.166]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by fgont.go6lab.si (Postfix) with ESMTPSA id 9A676870B0; Sun, 26 May 2019 01:00:15 +0200 (CEST)
Subject: Re: Conflicting requirements for sending ICMPv6 and EH scan?
To: Tom Herbert <tom@herbertland.com>, 6man <ipv6@ietf.org>
References: <CALx6S37wNpe=XweKh=Y6ARZ1nfjvySmK=km6+_UTDVFPujp7bA@mail.gmail.com>
From: Fernando Gont <fgont@si6networks.com>
Openpgp: preference=signencrypt
Autocrypt: addr=fgont@si6networks.com; prefer-encrypt=mutual; keydata= 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 wPI9brGzquUHy4qRrA==
Message-ID: <cec825ae-225c-e80b-c813-6c63ae8c5cdc@si6networks.com>
Date: Sat, 25 May 2019 18:24:06 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
In-Reply-To: <CALx6S37wNpe=XweKh=Y6ARZ1nfjvySmK=km6+_UTDVFPujp7bA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/MDJrAdyylUknUdeLNulvI7xdYCI>
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 23:00:27 -0000
Hello, Tom, On 24/5/19 16:58, 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." IN the context of your message, Linux would be okay in this respect (but se below), since the spirit is mostly that when you process a packet, you act on each EH in the order they were included in the packet. IN this sense, the code you are referring to is peeking on the packet (or simply "parsing the EH chain"), as opposed to "processing the EH chain" (similar as what a FW would do when meaning to enforce filters on layer-4 values). > > 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." At least theory, a node might not be able to comply with this requirement. As noted in https://www.ietf.org/archive/id/draft-gont-6man-rfc6564bis-01.txt , it is not really possible to parse past unknown EHs. > 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. In this context, I wouldn't call this "process", but "peeking" at the packet -- or just parsing it. One would assume that ICMPv6 errors will never employ newly-specifed EHs, and hence you'd be able to parse the EH chain. That's what I expect in the real world. Specs-wise, and strictly (theoretically) speaking, an ICMPv6 error might use unknown EHs, and hence you might be unable to tell what's the uper layer protocol. Thanks! Cheers, -- Fernando Gont SI6 Networks e-mail: fgont@si6networks.com PGP Fingerprint: 6666 31C6 D484 63B2 8FB1 E3C4 AE25 0D55 1D4E 7492
- Conflicting requirements for sending ICMPv6 and E… Tom Herbert
- Re: Conflicting requirements for sending ICMPv6 a… Mikael Abrahamsson
- Re: Conflicting requirements for sending ICMPv6 a… Tom Herbert
- Re: Conflicting requirements for sending ICMPv6 a… Fernando Gont
- Re: Conflicting requirements for sending ICMPv6 a… Ole Troan
- Re: Conflicting requirements for sending ICMPv6 a… Tom Herbert
- Re: Conflicting requirements for sending ICMPv6 a… Ole Troan
- Re: Conflicting requirements for sending ICMPv6 a… Tom Herbert
- Re: Conflicting requirements for sending ICMPv6 a… Ole Troan
- Re: Conflicting requirements for sending ICMPv6 a… Tom Herbert
- Re: Conflicting requirements for sending ICMPv6 a… Ole Troan
- Re: Conflicting requirements for sending ICMPv6 a… Joel M. Halpern
- Re: Conflicting requirements for sending ICMPv6 a… Tom Herbert
- Re: Conflicting requirements for sending ICMPv6 a… Ole Troan
- Re: Conflicting requirements for sending ICMPv6 a… Tom Herbert
- Re: Conflicting requirements for sending ICMPv6 a… Fernando Gont
- Re: Conflicting requirements for sending ICMPv6 a… Mark Smith
- Re: Conflicting requirements for sending ICMPv6 a… Ole Troan
- Re: Conflicting requirements for sending ICMPv6 a… Fernando Gont
- RE: Conflicting requirements for sending ICMPv6 a… Ron Bonica
- Re: Conflicting requirements for sending ICMPv6 a… Tom Herbert
- RE: Conflicting requirements for sending ICMPv6 a… Ron Bonica
- Re: Conflicting requirements for sending ICMPv6 a… Tom Herbert
- Re: Conflicting requirements for sending ICMPv6 a… Fernando Gont
- Re: Conflicting requirements for sending ICMPv6 a… Tom Herbert
- Re: Conflicting requirements for sending ICMPv6 a… Mark Smith