Re: RFC 8201 Packet Too Big Processing

Erik Kline <ek.ietf@gmail.com> Sat, 18 April 2020 23:37 UTC

Return-Path: <ek.ietf@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 453643A142B for <ipv6@ietfa.amsl.com>; Sat, 18 Apr 2020 16:37:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.197
X-Spam-Level:
X-Spam-Status: No, score=-0.197 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, HTML_MESSAGE=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 mh8Pkm-XmgXW for <ipv6@ietfa.amsl.com>; Sat, 18 Apr 2020 16:37:30 -0700 (PDT)
Received: from mail-oi1-x22f.google.com (mail-oi1-x22f.google.com [IPv6:2607:f8b0:4864:20::22f]) (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 36F183A142C for <6man@ietf.org>; Sat, 18 Apr 2020 16:37:30 -0700 (PDT)
Received: by mail-oi1-x22f.google.com with SMTP id j16so5583498oih.10 for <6man@ietf.org>; Sat, 18 Apr 2020 16:37:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=2MBTOhUvhBaRRv9bTQqsGzYlLqOJov2lRPn67Qsp7pQ=; b=vYuFtbUYu0VRdoJfKBwTkUPOTDseQ2u12AzB83kn9EcdFggSU7mCecnFa2+4TVBaxI YRNVw+IS0TTzNY+k8+EUyiUH/HZ810fRD06hoh9O3HthhYWwgNiy9kirn+44ytQ3pl8k hKSUlR7jOdndNsK0HCo8Vb6yPij2q/N2BZJ3Mmma7rSoB+WA/7rI4tW+BHf3jPRAAjHi vMd++Y5QimKq8cdOdiGX73uFSiTMthe2e8QrXjZtl6bwN08NCGP872VmMRyVDUGASpSb NcY1kgEPcZiUz/PSqZZE95zc8g8KUQN7tfKbhNtQHYWp1+ZteS2oAp3C/uY5IJJnmC9x PY3w==
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=2MBTOhUvhBaRRv9bTQqsGzYlLqOJov2lRPn67Qsp7pQ=; b=YzU7vIQZh6WgGwVisiY2CuX2ZlG+LAUi8CiVnfVmXVbTlblybp7XeMdyWDsis44+BK TjIWxi4l6k35h35pp2jLMiC648P9py3deOGkOwIC51lLuK+qpAGm6q80VC7gKZuZcUVf Gl44UT4xlUoNBWko17NmVp5juVhUVkGckY32vdDu8xiXCaBtJ0Cm4pUt1XKL3xsztiaJ DimY2ZoBidxiijHYdKEcRXoqf060J6vj4yO9OObByAB4WpOT6pt0h7BB66USq2MXqRP4 YgBvqaixTVV451U74IX+uvevdnDu2ze4CvB4H9GPAUIaSnlqSiAvo+K4KGZSfmG0+C6J lHXw==
X-Gm-Message-State: AGi0PubF+xG3+HSKhRCDAhmUTz/K61IjZU50KF+TfITXxLi2X2ln1wJS gV15uerHXhVETBgHdddo7A1/JMSBOopJ9Pexh7c=
X-Google-Smtp-Source: APiQypLO8Vt8O3Ah+rfszvCgv3PjxbEeLtcLnMbX5x86rWbjnNy/OGJSy1s3vXcIJd8PNyb1WNYj274gbMchzVF/RIg=
X-Received: by 2002:aca:b1d7:: with SMTP id a206mr6749705oif.97.1587253049169; Sat, 18 Apr 2020 16:37:29 -0700 (PDT)
MIME-Version: 1.0
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>
In-Reply-To: <CAB-aFv_x3TXk-H-LH3+KY-vxYuGyjQWX5RxqWOM7c=vbTs96VA@mail.gmail.com>
From: Erik Kline <ek.ietf@gmail.com>
Date: Sat, 18 Apr 2020 16:37:18 -0700
Message-ID: <CAMGpriW8MR-KA8+bTKH7bDZpAQcynJyKunqTz2ya4i8-F4hocw@mail.gmail.com>
Subject: Re: RFC 8201 Packet Too Big Processing
To: Timothy Carlin <tjcarlin@iol.unh.edu>
Cc: Fernando Gont <fgont@si6networks.com>, 6MAN <6man@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000002a1cc905a399266f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/iWtldWFAu7fKx7CUo_fG6pmOzOA>
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, 18 Apr 2020 23:37:34 -0000

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
> --------------------------------------------------------------------
>