Re: [mpls] working group last call on draft-ietf-mpls-spring-entropy-label

Rob Shakir <rjs@rob.sh> Wed, 04 May 2016 02:47 UTC

Return-Path: <rjs@rob.sh>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 70F1612D528 for <mpls@ietfa.amsl.com>; Tue, 3 May 2016 19:47:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.895
X-Spam-Level:
X-Spam-Status: No, score=-2.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MIME_QP_LONG_LINE=0.001, RP_MATCHES_RCVD=-0.996] 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 KU8hGDJ8srG4 for <mpls@ietfa.amsl.com>; Tue, 3 May 2016 19:47:22 -0700 (PDT)
Received: from cappuccino.rob.sh (cappuccino.rob.sh [IPv6:2a03:9800:10:4c::cafe:b00c]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EAAF012D1D8 for <mpls@ietf.org>; Tue, 3 May 2016 19:47:21 -0700 (PDT)
Received: from [2602:47:db2d:3f00:20b7:f15b:c103:ad3c] by cappuccino.rob.sh with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from <rjs@rob.sh>) id 1axmpw-0003jZ-AO; Wed, 04 May 2016 03:46:52 +0100
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: Rob Shakir <rjs@rob.sh>
Mime-Version: 1.0 (1.0)
Date: Tue, 03 May 2016 17:11:30 -0700
Message-Id: <3F1FE971-4C91-44E6-ADFF-CB5A78AD184A@rob.sh>
References: <571B29F8.1060301@pi.nu> <571E229B.2090405@gmail.com> <CAAA2pyd55Unb55tgzZ1G1C1RRDXkGYgWSf8qctfnM6=qUBkp6g@mail.gmail.com> <7347100B5761DC41A166AC17F22DF11221A5E5C2@eusaamb103.ericsson.se> <4CE8FDF9-E02E-42AE-AEC3-479057197CF2@cisco.com> <CAOndX-u+XwHBh=JsCqD1y0j5Sg996ANU8q+0giP7TMWZ6EtqAA@mail.gmail.com> <0DA662F9-7A98-4BAB-8BAB-61E69DE4F612@cisco.com> <CAOndX-uOTx93ewvAxWaFoExnuAwjYvNt7YO7Hd38VZgaxWZjOg@mail.gmail.com> <2BD9AC4F-88D4-477A-A929-97E5B0C050AF@cisco.com> <CAOndX-uN3rYN7SuNiOPOmbTzLNrvG=QOPniy1o+eoyddbXYbSA@mail.gmail.com> <FC15894B-2700-4CE9-BB43-79E53F0F31C8@cisco.com> <etPan.57290b07.201645a9.c824@rob.sh> <EFD10FCB-E120-4D8F-995D-9F2B7B682C39@cisco.com>
In-Reply-To: <EFD10FCB-E120-4D8F-995D-9F2B7B682C39@cisco.com>
To: "Carlos Pignataro (cpignata)" <cpignata@cisco.com>, mpls@ietf.org
X-Mailer: iPad Mail (13E238)
Archived-At: <http://mailarchive.ietf.org/arch/msg/mpls/zOIzXi9CP1W45jJIA-80ABy-ftE>
Cc: "draft-ietf-mpls-spring-entropy-label@tools.ietf.org" <draft-ietf-mpls-spring-entropy-label@tools.ietf.org>
Subject: Re: [mpls] working group last call on draft-ietf-mpls-spring-entropy-label
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 May 2016 02:47:24 -0000

[readding mpls@]

> On May 3, 2016, at 14:22, Carlos Pignataro (cpignata) <cpignata@cisco.com> wrote:
> 
> There’s another unanswered piece for me, which is: All those routers are advertising ELC and RLDs. As long as R5 and R10 are ELC, then you can add EL/ELIs there.
> BUT, what is the RLD of the *loose* path R1..R5 and of the *loose* path R6..R10? 

RLD is unfortunately something that we have to deal with. There is nothing really in the MPLS specs that tells us that an assumption that one can optimise hardware to have a shallow RLD is OK AIUI, but still we have many systems that have a depth to which they can read.

To this end, the way that we have implemented things is to assume that RLD = min(network). This actually has implications for service implementations, since your customer L2VPN MTU will be impacted by the number of <ELI, EL> pairs you need to allow room for within the core. Since a customer service must work over all paths that reroute might happen over; most transport LSPs will have at least a loose backup path option; and the fact that old hardware is long-lived - then min(network) seems to be the manageable and most robust option to take. 

So, your question, to me - please correct me if you don't feel it is accurate - comes down to whether the entity processing some label can find some entropy within its readable depth. At the point that we have considered min(network) for the RLD then it does not matter whether the next label is a adjacency or node segment we know that within our RLD then there is a <ELI, EL> pair. 

Note that the problem case I see here occurs when the RLD for the network becomes sufficiently low. If it is set to 1 then we need to be able to push more labels at the head end. In the worst case, the iLER can push fewer labels than the least capable LSR can read. At this point, we are stuck - there is nothing that can be done to satisfy all requirements. The approach that the coauthors of this draft discussed tries to do the best it can to make entropy available to all systems,  since we know that not having entropy really hurts for load-sharing - but it also does not mandate that a system does not send a packet that one system in the network cannot hash properly. 

This comes back to the problem you presented around whether all systems must be upgraded or not, the answer is no, rather like the existing EL behaviours. We essentially need to make an assumption about RLDs of the nodes that do not advertise RLD. The first option is assume that RLD = 1, however, this means potentially over-inserting ELs (the worst case would be that we do not know whether they, as midpoints, even know about the EL - and insert them even though they cannot hash on them). The alternative is to assume they know how to hash themselves (or simply are expected not to hash) when EL is not present, since this has been true for systems historically. This results in some cases where we do not have entropy but would desire it. Operators need to make choices themselves as to what to do here - which may include limiting the label stack depth imposed by their policies on a head end, or doing LSP stitching or segment-expansion somewhere else in the network. 

There are many procedures here which come down to combining the various standardised and non-standardised procedures that may be available to an operator to balance their requirements for entropy against their requirements for path strictness, and the number of approaches deployed in their network. 

Please let me know if there are things here that not clear, I am happy to expand on them. 

r.