Re: RFC 8201 Packet Too Big Processing

Bob Hinden <bob.hinden@gmail.com> Mon, 20 April 2020 16:35 UTC

Return-Path: <bob.hinden@gmail.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 85F7E3A0AFF for <ipv6@ietfa.amsl.com>; Mon, 20 Apr 2020 09:35:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.198
X-Spam-Level:
X-Spam-Status: No, score=-0.198 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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=gmail.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 6PSkbG9Dggu0 for <ipv6@ietfa.amsl.com>; Mon, 20 Apr 2020 09:35:33 -0700 (PDT)
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) (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 1032E3A0AFC for <6man@ietf.org>; Mon, 20 Apr 2020 09:35:33 -0700 (PDT)
Received: by mail-wr1-x42c.google.com with SMTP id k13so11795715wrw.7 for <6man@ietf.org>; Mon, 20 Apr 2020 09:35:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=2GXTaLJhnK/w3u870B+lZ+II37sIGrNSYw7+8MiTdxI=; b=tPvCMr4s71nDcBfPkdO66VCpM+1XliwV6C3/QGthzIbJKa/KflCH/mxdB2a6rqMRqO 5leUEaLKUSnq7+HPJpBz/1OW1jxq/selfQrno2ECvUik7ijwci4XyRWYAktbHICzYgGr FzKKP2Kzu6aBugf2U3968kmeE/Tx4ahEkzsVqqhN9gI7bRvTZ3LOL6xvWVYl6J2PMyTN a4gdzmOWbL4hA+GKbSLs4GlicwPJCHrUisKtynJ+i1+6RBwq3T01Glgb3fEYR5XW1EC3 fGF2jmavHHrjuR9GyNUUoiwXbq1Y4NRaXAwjNlmifI+AiCmPf4infLEzuOPbQjhkmYER CVmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=2GXTaLJhnK/w3u870B+lZ+II37sIGrNSYw7+8MiTdxI=; b=MkDMMz8/UMRpBkaOtJfOMgQ6XSP2/ZdBGu6+t/efuzQytkJBJ5u5vpWZGv8F4xgoKx 4FUdcjvStKg6t+s6bq5yLx5Z952SvorptXyUxxjOW6ZvpYccBZ8mJYG4F+ZpPiVX1xVJ 6tYbUORm8CWpZA+EGMjpSrcLbnWPCFdkDSa2EvqiJALMOINA8iiikIgB7gOLeTgnnd6S E9fHe7DQHSxWEjEkbQg+zwq1o4TS/HYnUg4DQu7MtBWGc6tZ0eQo99+R1j87JQlZwzR4 mXykTut59JdKgiXvslXwJU0BCJD46OGMgrfyyBqZF3CsvajiKIzBmudUgxnscIS53TDc 8AWw==
X-Gm-Message-State: AGi0PuY07/ON8lL4XZ0+Z8XrRIUYdsEk1QqzSkxr7cpbU6WoUluJZq8l MijCD6eMG9EFwjqoRhUDeuM=
X-Google-Smtp-Source: APiQypKGS+bwiuskkTxClbQlA7bEoC/V1T/FxFBnsyrMxoldWUS3hcj/BC4sW3I/4HRB8vPBArZd9g==
X-Received: by 2002:adf:e3c2:: with SMTP id k2mr18942012wrm.287.1587400531270; Mon, 20 Apr 2020 09:35:31 -0700 (PDT)
Received: from ?IPv6:2601:647:5a00:ef0b:e18e:3926:6c5c:ada7? ([2601:647:5a00:ef0b:e18e:3926:6c5c:ada7]) by smtp.gmail.com with ESMTPSA id c190sm192552wme.10.2020.04.20.09.35.29 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Apr 2020 09:35:30 -0700 (PDT)
From: Bob Hinden <bob.hinden@gmail.com>
Message-Id: <06CD5D65-13A7-4F5C-80F1-75809ABDC249@gmail.com>
Content-Type: multipart/signed; boundary="Apple-Mail=_717D66AD-E663-4632-A326-7940C76DE52A"; protocol="application/pgp-signature"; micalg="pgp-sha512"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.14\))
Subject: Re: RFC 8201 Packet Too Big Processing
Date: Mon, 20 Apr 2020 09:35:26 -0700
In-Reply-To: <CAJgLMKt4cj-Tr2uT5T_2mmmnKV7tamVoUCZ3_R4jkdXvTQMz3Q@mail.gmail.com>
Cc: Bob Hinden <bob.hinden@gmail.com>, Erik Kline <ek.ietf@gmail.com>, 6MAN <6man@ietf.org>
To: Timothy Winters <tim@qacafe.com>
References: <CAB-aFv8wVjcXB73wLrBupbq3XLdmdMWE9i-8+TwHfYQE6V52_w@mail.gmail.com> <a878bb68-38a9-0c0e-0006-c7830122cdee@si6networks.com> <CAB-aFv_h=f7t7cSro+GWttzK_cWm8H0-cN0CFt_KC74rqK_SUw@mail.gmail.com> <9bbd5fa4-c00f-3be1-9e09-a7299ce2b9dc@si6networks.com> <CAB-aFv8LPw+wEBaDYSB60Fgc=8kjAyu+wV66Ps0qV9CzG2j=rA@mail.gmail.com> <8b68f065-ff5f-9444-85fe-792045eb6529@si6networks.com> <CAB-aFv9nvP_EJJvKkRPFNZ6OAQ8YHr+oz6wbph+vp4092-VoeA@mail.gmail.com> <CAB-aFv_x3TXk-H-LH3+KY-vxYuGyjQWX5RxqWOM7c=vbTs96VA@mail.gmail.com> <CAMGpriW8MR-KA8+bTKH7bDZpAQcynJyKunqTz2ya4i8-F4hocw@mail.gmail.com> <CAJgLMKt4cj-Tr2uT5T_2mmmnKV7tamVoUCZ3_R4jkdXvTQMz3Q@mail.gmail.com>
X-Mailer: Apple Mail (2.3445.104.14)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/jz2Sls_qxj8Z0rV1fMmBwQmtLcA>
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, 20 Apr 2020 16:35:36 -0000

Tim,

RFC8201 is very clear on this, from Section 4:

   If a node receives a Packet Too Big message reporting a next-hop MTU
   that is less than the IPv6 minimum link MTU, it must discard it.  A
   node must not reduce its estimate of the Path MTU below the IPv6
   minimum link MTU on receipt of a Packet Too Big message.

Bob



> On Apr 20, 2020, at 9:10 AM, Timothy Winters <tim@qacafe.com> wrote:
> 
> Hi Erik,
> 
> So I think the confusion comes from this line in 8021.
> 
> "The recommendation in the previous bullet ensures that there are
>       no longer any valid reasons for ICMPv6 PTB error messages
>       reporting an MTU value smaller than the minimum IPv6 MTU
>       (1280 bytes).  IPv6 nodes should therefore be updated to ignore
>       ICMPv6 PTB error messages reporting an MTU smaller than 1280 bytes
>       as invalid."
> 
> So devices should ignore ICMPv6 PTB if smaller then 1280 based on this reading.
> 
> ~Tim
> 
> On Sat, Apr 18, 2020 at 7:38 PM Erik Kline <ek.ietf@gmail.com> wrote:
> If the host downgrades the path mtu to 1280 (and no lower), that seems fine to me.
> 8201 section 3:
> 
> """
>    Alternatively, the node may elect to end the discovery process by
>    ceasing to send packets larger than the IPv6 minimum link MTU.
> """
> 
> And later on:
> 
> """
>    The node then uses the value in the MTU field in the Packet Too Big
>    message as a tentative PMTU value or the IPv6 minimum link MTU if
>    that is larger, and compares the tentative PMTU to the existing PMTU.
> """
> 
> I think the "it" that is to be discarded is likely not clear.  If a node discards the whole packet then no new MTU information can be learned.  Rather, the "it" is the MTU value in the PTB and discarding /that/ and using IPv6 MTU instead seems perfectly reasonable to me and allowed by the text..
> 
> On Fri, Apr 10, 2020 at 1:17 PM Timothy Carlin <tjcarlin@iol.unh.edu> wrote:
> On Fri, Apr 10, 2020 at 2:33 PM Timothy Carlin <tjcarlin@iol.unh.edu> wrote:
> On Fri, Apr 10, 2020 at 2:20 PM Fernando Gont <fgont@si6networks.com> wrote:
> On 10/4/20 14:36, Timothy Carlin wrote:
> > On Fri, Apr 10, 2020 at 1:27 PM Fernando Gont <fgont@si6networks.com
> > <mailto:fgont@si6networks.com>> wrote:
> >
> >     On 10/4/20 14:19, Timothy Carlin wrote:
> >      > Hi Fernando,
> >      >
> >      > On Fri, Apr 10, 2020 at 1:14 PM Fernando Gont
> >     <fgont@si6networks.com <mailto:fgont@si6networks.com>
> >      > <mailto:fgont@si6networks.com <mailto:fgont@si6networks.com>>> wrote:
> >      >
> >      >     Hello, Tim,
> >      >
> >      >     On 10/4/20 14:07, Timothy Carlin wrote:
> >      >      > Hello,
> >      >      >
> >      >      > We've noticed during testing for RFC 8200 and 8201 that,
> >     for packets
> >      >      > larger than 1280, the Linux kernel is processing invalid
> >     Packet
> >      >     Too Big
> >      >      > messages that indicate an MTU less than 1280, and subsequently
> >      >      > fragmenting packets to a size of 1280. We've seen this
> >     with 4.15
> >      >     and 4.18.
> >      >      >
> >      >      > This is from Section 4 of RFC 8201:
> >      >      >
> >      >      >  >   If a node receives a Packet Too Big message reporting a
> >      >     next-hop MTU
> >      >      >  >   that is less than the IPv6 minimum link MTU, it must
> >     discard it.
> >      >      >
> >      >      > Have others noticed this issue with Linux or other OSes?  I'll
> >      >     also note
> >      >      > that it correctly does not generate an atomic fragment if the
> >      >     packet is
> >      >      > less than 1280 bytes....
> >      >
> >      >     I'm trying to understand the scenario...
> >      >
> >      >     Host sends a packet of size > 1280
> >      >     It receives an ICMPv6 PTB < 1280
> >      >     And it retransmit the packet as a fragmented packet, where
> >     none of the
> >      >     fragments is larger than 1280 bytes?
> >      >
> >      >
> >      > This is correct.  Since the ICMPv6 PTB < 1280, and invalid, we would
> >      > expect the PTB to be discarded, and subsequent packets (for that
> >      > destination) to remain unfragmented.
> >
> >     Agreed. Unless I'm missing something, there's no point in doing that
> >     (at
> >     the end of the day, if the offending MTU was < 1280, fragmenting
> >     packets
> >     at 1280 will be of no use).
> >
> >     Can you provide the exact kernel version, so I may try to take a
> >     look at
> >     the kernel code and figure out what's going on?
> >
> >
> > 4.15.0-96-generic and 4.18.0-147 both seem to have this issue.
> 
> Have you tried with newer kernels? e.g., I'm running 5.3.0-42-generic here.
> 
>  I have not.  These were from two relatively new distributions, but apparently are lagging on the kernel version.  I'll try something newer.
> 
> Indications are that this remains broken as of 5.3.0-050300-generic.  Let me know if you want me to try another version.
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------