Re: I-D Action: draft-ietf-6man-ipv6only-flag-03.txt

Nick Hilliard <nick@foobar.org> Tue, 23 October 2018 20:54 UTC

Return-Path: <nick@foobar.org>
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 86EC1128D0C for <ipv6@ietfa.amsl.com>; Tue, 23 Oct 2018 13:54:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, 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 oEFCJ_3KVtRY for <ipv6@ietfa.amsl.com>; Tue, 23 Oct 2018 13:54:45 -0700 (PDT)
Received: from mail.netability.ie (mail.netability.ie [IPv6:2a03:8900:0:100::5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8CB4F128766 for <ipv6@ietf.org>; Tue, 23 Oct 2018 13:54:45 -0700 (PDT)
X-Envelope-To: ipv6@ietf.org
Received: from crumpet.local (089-101-070074.ntlworld.ie [89.101.70.74] (may be forged)) (authenticated bits=0) by mail.netability.ie (8.15.2/8.15.2) with ESMTPSA id w9NJsHTs034690 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 23 Oct 2018 20:54:18 +0100 (IST) (envelope-from nick@foobar.org)
X-Authentication-Warning: cheesecake.ibn.ie: Host 089-101-070074.ntlworld.ie [89.101.70.74] (may be forged) claimed to be crumpet.local
Subject: Re: I-D Action: draft-ietf-6man-ipv6only-flag-03.txt
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
Cc: 6man WG <ipv6@ietf.org>
References: <153973137181.9473.10666616544238076833@ietfa.amsl.com> <092346e1-6350-e54e-e711-9c5ee6dc4e6b@gmail.com> <4a883ed6-c0d7-5d3f-9657-3ba0476919e0@foobar.org> <6952EE88-B3D6-48BC-ACFF-C5248965EDC9@employees.org> <61706f85-cf3a-1a03-0371-30fe3eaaec6f@foobar.org> <2afa8333-fad3-3a26-0466-2ed3bd1e0c9c@gmail.com> <alpine.DEB.2.20.1810220719580.26856@uplift.swm.pp.se> <79607436-EF99-4571-B99C-B2ACA5DE3E23@jisc.ac.uk> <CAO42Z2ws=J=Jmww=FoQiZLz=RHBakTOOxKTYS9UP87uKa7XbuA@mail.gmail.com> <ff879b37-d492-49c5-cc17-a6e833fec273@foobar.org> <ef08d185-8d08-9a8f-818d-f3d31a40fee9@gmail.com>
From: Nick Hilliard <nick@foobar.org>
Message-ID: <4f92df23-66e6-0f99-d0b3-7ed01888975a@foobar.org>
Date: Tue, 23 Oct 2018 21:54:42 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 PostboxApp/6.1.4
MIME-Version: 1.0
In-Reply-To: <ef08d185-8d08-9a8f-818d-f3d31a40fee9@gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-GB
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/GUzoPBxM9DL7EGfLAKGIHQ_7blo>
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: Tue, 23 Oct 2018 20:54:48 -0000

Brian E Carpenter wrote on 23/10/2018 20:39:
> So, to be a bit picky, your statement that switches don't hold per-host
> IPv4 state wasn't quite right. You're stating that they may hold such
> state but it doesn't measurably impact forwarding capacity. Fair enough,
> and duly noted.

Brian,

your pickiness was foreseen and is dealt with in my email of Sep 8 :-)

The one-sentence summary is: switches don't carry ipv4 state.  The 
two-sentence summary adds that sometimes there is state handled in the 
control plane, but it doesn't affect forwarding and it isn't appropriate 
to claim that adding an ipv4 address or two or ten thousand to a network 
is going to make a difference to the forwarding capacity of the device, 
because it won't.

Sometimes there is some state held about some things on the control 
plane, but it does not impact forwarding capacity.  The term "measurably 
impact" is inaccurate - the impact is zero.  This is because switch 
asics - i.e. the bits of silicon that do the forwarding - don't have the 
hardware smarts to carry state.  This is easily demonstrated at e.g. 
IXPs where there are gigantic numbers of ip addresses being forwarded, 
but the switches remain blissfully unaware of them.  They're just 
frames.  Similarly on large L2 domains, the only thing that counts is 
the number of MAC addresses, and these are the same whether the 
ethertype is for ipv4 or ipv6.

Looking at arp proxies from a helicopter point of view, these are 
management-plane daemons which are fed frames punted up from the 
forwarding plane of the networking device, whether that's an AP or an 
EVPN l2 domain or whatever.  It really doesn't matter whether there are 
10, or 100, or 10000 entries in the lookup table because the data 
structures used to hold them are tiny and handled in standard RAM, which 
is plentiful on the sort of kit that would need to implement an ARP 
proxy to start with.  On any competently coded stack, the lookup 
mechanism will be implemented with a hash table which will give 
something close to O(1) lookups. In other words, control planes which 
implement arp (and ND) proxies are coded in a way which allows them to 
act efficiently on the control plane, and in a way which does not touch 
the forwarding plane.

Otherwise, the rest of my email from Sep 8 will fill you in on how 
control planes handle overloading.

Standard caveats apply about bad design and using kit which is unfit for 
purpose.

Someone mentioned multicast: this is slightly different, but is excluded 
from this discussion on the basis that it needs to be explicitly 
configured on a per-switch + per-vlan basis, whereas any network which 
doesn't want to run ipv4 is unlikely to have done this, and if they 
have, it's a misconfiguration and they badly need to make up their 
minds.  As as side note, this is one of the things that makes multicast 
scale badly - it injects state into otherwise stateless networks.

I hope this explains some of the nuances involved.

Nick