Re: Confirmation to advance: draft-ietf-6man-ipv6only-flag-05

Mark Smith <markzzzsmith@gmail.com> Thu, 09 May 2019 06:10 UTC

Return-Path: <markzzzsmith@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 B0E671200F5 for <ipv6@ietfa.amsl.com>; Wed, 8 May 2019 23:10:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.499
X-Spam-Level:
X-Spam-Status: No, score=-1.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FROM_LOCAL_NOVOWEL=0.5, HK_RANDOM_ENVFROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=no 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 Mg0E4vnzhFnL for <ipv6@ietfa.amsl.com>; Wed, 8 May 2019 23:10:21 -0700 (PDT)
Received: from mail-ot1-x334.google.com (mail-ot1-x334.google.com [IPv6:2607:f8b0:4864:20::334]) (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 52DE112008C for <ipv6@ietf.org>; Wed, 8 May 2019 23:10:21 -0700 (PDT)
Received: by mail-ot1-x334.google.com with SMTP id v17so1186317otp.13 for <ipv6@ietf.org>; Wed, 08 May 2019 23:10:21 -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:content-transfer-encoding; bh=YKlB4rF78HKArCMq7kVRSbHD0Yi3jdj+JMfcjYMfLXg=; b=IVcDrzPNoM8lO34t6KulNPH9k4Do9XQF0nhHHbGC+XXksZqAIGQpEk2u7IEC0TECoQ 1gD+99gfq/UjDrzKCyunM5GDhnWRnxlEgjXaqsDdw6E06BJrcOvPluGXiAWUIw6NVEGf CODKcAfA8DrjOb6mN0nAt1tMHkLgUJB2dNDAuebVV+TRAvT8z2gS8o3W4R1VOUw+jQN/ JuHtBRPKJLw1NfBetgDQK8giqMhBcC9kWcjkq6r89BInRrM5yweDlFSC4VlVLVm1BakC 49RvbRA53+P2b7vKUtLvaC2YFyM+GUVoTB/L7dAbUSphPRHtu7uoq/++ZT4xiwTpl9Cj HIKQ==
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:content-transfer-encoding; bh=YKlB4rF78HKArCMq7kVRSbHD0Yi3jdj+JMfcjYMfLXg=; b=QX83+YHhOZMxWWBCPUZP7R0+KdDswm/x7hoj4Lplz9vb7fVxep2WkoWMgZKPHloFvd vAnT3c/3llcfm51JvYNGcEoLUiwxFmwwJk2JZH4m6SVFaijSbclJ4XtBh9QcAUdRqTp3 2EBJQdncSunrxUeRhNnfoNVcRuY6BH3jxZgZcRvR3zHvXagpSDIYxetQ96st/NO3NnW0 JvE28LomHjyoEHFVKYvsZHubcGyR+v1c0vjUX6+CSsLGCYJ4O96zdNS3BmMk/MmYxD2z BOffFNJPNwi56VLCUZQJNBkdLiHPG7hptbeBsNb55nbNMm6fi200Pcu2np/kIQRQZ0pP 61BQ==
X-Gm-Message-State: APjAAAVwHYCLVajiPMq5WY9dyArNxt5vkx4FX8gH50tBZlcRxRJMO4H/ JEow3yygN2Hxf/VRSMWnPYNBa/G6HEUvIRQtj+Q=
X-Google-Smtp-Source: APXvYqy3qWsXHyVnhPEnpTk94a8UW7UYLArEbccBXLQUYetEvV3+S3nx2V14BUMRRwThCJ+wErlFGhgxSkB3rZ7U5/I=
X-Received: by 2002:a9d:7453:: with SMTP id p19mr1122113otk.83.1557382220562; Wed, 08 May 2019 23:10:20 -0700 (PDT)
MIME-Version: 1.0
References: <F8BFFCAD-E58E-4736-8A1C-56579B6F6032@employees.org> <a2465e81-a17f-ab48-efda-20fe12a70077@foobar.org> <30239E0C-C444-4A7E-8342-AEE47BF8A2BB@employees.org> <8b9fd743-bfcc-525c-98f6-154f3fa713cc@foobar.org> <CAO42Z2zEWvt9NyemMb8H0AEvPvmNSDGa4wcXiS6n5yRxNFCHQg@mail.gmail.com> <c7e18765-be04-6494-8193-984dbccb520b@foobar.org> <CANMZLAYh+V57yrWOzmUyjSMK0g95u1D5_GZmyZBMOMKAZnrnCg@mail.gmail.com> <3F474511-6FE3-4A0A-9B84-7C37F08FBB5D@steffann.nl> <E352C226-C708-4418-BCDE-10525CAB109A@jisc.ac.uk> <652fb10e-b8ce-0151-a9a0-62d2378caed2@gmail.com> <0079c716-d56c-7199-f493-f5e56e1307ae@foobar.org> <b33de303-eaca-f7f6-804e-2c9343eb92a1@gmail.com> <6C4ABEF1-2565-4BA9-9FC5-5B3C45A719AD@gmail.com> <c2222416-6491-1906-a403-d012777a4b38@gmail.com> <CABNhwV0-SdKZqQa4z9jhpc8h1Eq=8UxRhtvHt1==BYEMTVRjug@mail.gmail.com> <96790121-7D50-4C6F-924F-87065B989E44@gmail.com> <ccab3694-54f2-bdd1-f8ac-cb159dbc0a81@gont.com.ar> <CAN-Dau0_w0n9C6grqi1bXAL-k239K7RMiQyhx5=c-Y_wqrV2OQ@mail.gmail.com>
In-Reply-To: <CAN-Dau0_w0n9C6grqi1bXAL-k239K7RMiQyhx5=c-Y_wqrV2OQ@mail.gmail.com>
From: Mark Smith <markzzzsmith@gmail.com>
Date: Thu, 09 May 2019 16:09:54 +1000
Message-ID: <CAO42Z2wwftO6wtF7PAJ9CCK2iBvtOj0BQP7O0UREr-pMmPegvQ@mail.gmail.com>
Subject: Re: Confirmation to advance: draft-ietf-6man-ipv6only-flag-05
To: David Farmer <farmer@umn.edu>
Cc: Fernando Gont <fernando@gont.com.ar>, IPv6 List <ipv6@ietf.org>, Bob Hinden <bob.hinden@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/j55cBAeVNTGa7KO56_ST749VeNU>
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: Thu, 09 May 2019 06:10:23 -0000

On Thu, 9 May 2019 at 07:56, David Farmer <farmer@umn.edu> wrote:
>
>

<snip>

> The primary signal for a dual-stack host to not configure an IPv4 address should be the failure to receive an IPv4 address from a DHCPv4 Server [RFC2131].


The primary goal is to reduce and ideally entirely eliminate
link-layer broadcasts on the link caused by IPv4.

DHCPDISCOVERS are link-layer broadcasts. Using any form of DHCPv4 to
disable IPv4 is directly counter to the primary goal.

Link-layer broadcasts cannot be filtered by the interface card based
on the frame's destination address (unlike unicast and multicast), so
they must be passed to the host's general purpose CPU for processing,
typically triggered by an interrupt to the CPU, which causes operating
system context switches etc. to process it. If the frame isn't
intended for the host, there is a relatively high processing cost to
ignoring it.

It is much more efficient to be able to filter and drop frames in the
NIC itself based on destination address . (Even if a NIC is "smart"
and can do internal processing e.g. via Linux XDP, it's still more
battery consumption on a mobile device than just dropping the frame
purely based on destination address).

100s or 1000s of devices on a link results in all of those 100s or
1000s of devices having to receive, process with their general CPU,
and then ignore, each and every one of the link-layer broadcast
DHCPDISCOVERS that each of those devices all emit.

RFC3927 may reduce the volume of DHCPDISCOVERS and IPv4 caused
link-layer broadcasts, but it doesn't eliminate them. Any time a new
device joins the link, a link-layer broadcast will still occur and be
flooded, and have to be processed (by the general purpose CPU) and
ignored by all of the other devices already on the link. On a link
where devices come and go regularly, such as conference or similar
public Wifi, and may leave the link when saving power or being
suspended, that could still be a significant amount of link-layer
broadcast traffic caused by DHCPDISCOVERS upon attachment.


(People may not realise why IPv6 only uses link-layer multicasts,
rather than link-layer broadcasts. It isn't a coincidence, since Steve
Deering both developed multicast and co-designed IPv6:

RFC1112, "Host Extensions for IP Multicasting"

7.4. Extensions to an Ethernet Local Network Module

   To support the reception of multicast IP datagrams, an Ethernet
   module must be able to receive packets addressed to the Ethernet
   multicast addresses that correspond to the host's IP host group
   addresses.  It is highly desirable to take advantage of any address
   filtering capabilities that the Ethernet hardware interface may have,
   so that the host receives only those packets that are destined to it.)


Regards,
Mark.




> This flag should be a secondary signal for a dual-stack host to not auto-configured an IPv4 Link-Local addresses [RFC3927] assuming an address has not received via DHCPv4, to not perform any IPv4 service discovery (such as mDNS [RFC6762]) using IPv4 Link-Local Addresses, and further, to limit the number of attempts that are made to configure an IPv4 address via DHCPv4.
>
> Otherwise, without this secondary signal, when a dual-stack host does not receive an IPv4 address from a DHCPv4 Server it would normally auto-configured an IPv4 Link-Local addresses, perform IPv4 service discovery (such as mDNS [RFC6762]) using IPv4 Link-Local addresses, and some dual-stack hosts are quite persistent in their attempt to configure an IPv4 address. It is these sides effects of not receiving an IPv4 address from a DHCPv4 Server that the flag needs to mitigate and that are necessary to untangle IPv6 from IPv4 to run IPv6-Only on dual-stack hosts.
>
> This secondary signal needs to be expressed with an IPv6 mechanism so that it is compatible with Layer 2 filtering of IPv4 Ethertypes, however, use of the flag doesn't require this filtering. If this signal is expressed in IPv4 then it is impossible for the signal to be received in the presence of Layer 2 filtering of IPv4 Ethertypes.
>
> The following is the rewrite I propose for the logic in the Host Behavior Considerations Section based on the above restatement of the purpose of the flag.
>
> ---
>
> A host that receives any RAs with the flag set to 1 SHOULD NOT auto-configured an IPv4 Link-Local Addresses [RFC3927] when it fails to receive an IPv4 address via DHCPv4 [RFC2131] and therefore SHOULD NOT perform IPv4 service discovery (such as mDNS [RFC6762]) using IPv4 Link-Local addresses.
>
> A host that receives only RAs with the flag set to 1 SHOULD make a limit number of attempts to configure an IPv4 address via DHCPv4 and then make no further attempts. OPTIONAL, such a host could make no attempt to configure an IPv4 address at all.
>
> As soon as a host receives any RAs with the flag set to 0 it SHOULD attempt to configure an IPv4 address via DHCPv4 if it does not already have an IPv4 address configured, and MAY continue to periodically attempt to configure an IPv4 address via DHCPv4 if it does not receive an IPv4 address from a DHCPv4 Server as long as it is receiving any RAs with the flag set to 0.
>
> A host that successfully configures an IPv4 address received via DHCPv4 SHOULD continue using it and attempt to renew it when necessary regardless the status of the flag in the RAs it is receiving. Further, it MAY perform IPv4 service discovery (such as mDNS [RFC6762]) using the configured IPv4 address.
>
> Thanks.
>
> --
> ===============================================
> David Farmer               Email:farmer@umn.edu
> Networking & Telecommunication Services
> Office of Information Technology
> University of Minnesota
> 2218 University Ave SE        Phone: 612-626-0815
> Minneapolis, MN 55414-3029   Cell: 612-812-9952
> ===============================================
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------