Re: [mpls] [spring] Special purpose labels in draft-hegde-spring-traffic-accounting-for-sr-paths

Greg Mirsky <gregimirsky@gmail.com> Tue, 21 November 2017 00:03 UTC

Return-Path: <gregimirsky@gmail.com>
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 13BDD12E045; Mon, 20 Nov 2017 16:03:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.698
X-Spam-Level:
X-Spam-Status: No, score=-2.698 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, 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 L6ka4_451Ad8; Mon, 20 Nov 2017 16:03:56 -0800 (PST)
Received: from mail-lf0-x230.google.com (mail-lf0-x230.google.com [IPv6:2a00:1450:4010:c07::230]) (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 20129129B7D; Mon, 20 Nov 2017 16:03:56 -0800 (PST)
Received: by mail-lf0-x230.google.com with SMTP id 73so12039965lfu.10; Mon, 20 Nov 2017 16:03:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=XqFbdm2aC0z88xDSyOIMT3eGwdU2J4xKiU5zV6iHMT4=; b=gX7U+I3d0VorPQzEZzg3FjN3TeHUldX6fdEA8qYebpDXkJhn5crk5smmFoINbYn4iF 2YSTCi5uPiyj1ESKEh98Z0LTfxg0R9LLPY8w37M1KaDmaH6hdKw5mUjt7gLS3rTi+gF9 i74dmbE2jrKq8bnyC9OX+m+LCJyi5dxO5cosV3iZtuqK2AjRA0gj4PaDzIFBcGg3Za4u p5VP40hRT+0TfebQZk0UEPjvcZxe7Pw7M7GPcLp2i+h28lQhYOYcCGXrc2yEwnSPRmga RgCkoW5FhxeqUH4AoyllubXIlMGiN7XXPqZJtIVrOiHqAxqyU0BIhIToT8wYYLM0EUmo EPjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=XqFbdm2aC0z88xDSyOIMT3eGwdU2J4xKiU5zV6iHMT4=; b=DNind2nYKkRCkCOW2655TQnkA77/Aqyl58JkMPhdxt8HjdVHFv35jmZ5YCD7YFRlIz DxXrLVUA5LtPLN7mvGj51Yax9TZPJHvBoiYqJFypmQy7xiZt8dxwjfkgVLh6yV22tgC1 0PA/zMJP8NoTqiTYS6hEhZ7h8EcnBJgAQIH5gtjgV7FMis/skdVi4suwkPGlMr9XOs/m G83pVvL0kdz555gzqkDWVgQIgBH3h0SiisOW5Dir97ozoj/XKHISWQZWwAt0WPhfMO3N dZgAll6ZlxTrQXEnvzW815tvIlKh7/oOcj91RCifoooj3DYjYlQVvYvzPbwEGMsQKt35 fr5A==
X-Gm-Message-State: AJaThX5Tic2fZMPb9AGxXukDk/7oX44TZJt02p8T1jbDU56OKI4Xte3w mZZtoBW0Ix1oOD1m10ztmvYDt/A1YatLfRiHFVHiEw==
X-Google-Smtp-Source: AGs4zMa4aCxZk7y1/c0kyD4XlUqNXP2DEugQtqxdTozcviFwInHp9PDGBRcJE4CRd3kbmdM5R2Q/2/8D4aFOsPS6Xxo=
X-Received: by 10.46.77.26 with SMTP id a26mr5892741ljb.155.1511222634116; Mon, 20 Nov 2017 16:03:54 -0800 (PST)
MIME-Version: 1.0
Received: by 10.46.32.136 with HTTP; Mon, 20 Nov 2017 16:03:53 -0800 (PST)
In-Reply-To: <0EAD8CC9-8C65-4A78-896B-D96F42230020@cisco.com>
References: <CA+RyBmUHAkuA3o-LpHhMwCbkh0k+emt9OZ3B8Njj2h=jaasTZw@mail.gmail.com> <3B1EE673-044F-4E47-9C56-6FF360905C58@cisco.com> <1FEE3F8F5CCDE64C9A8E8F4AD27C19EE3047CEC9@NKGEML515-MBS.china.huawei.com> <CA+RyBmVC2OjEs-=1WsL13eBmycZtnYnM8ybSdmWhGPByLKNQfA@mail.gmail.com> <1FEE3F8F5CCDE64C9A8E8F4AD27C19EE3047D106@NKGEML515-MBS.china.huawei.com> <EF064624-CF4D-4B88-823E-DAB9957B9336@cisco.com> <MWHPR05MB35512AD68B9CE96E8A5E7255C72E0@MWHPR05MB3551.namprd05.prod.outlook.com> <A9BFDECC-84A4-42E6-83CD-D09A2D48BA75@cisco.com> <189901d36076$aa76b4b0$ff641e10$@olddog.co.uk> <0EAD8CC9-8C65-4A78-896B-D96F42230020@cisco.com>
From: Greg Mirsky <gregimirsky@gmail.com>
Date: Mon, 20 Nov 2017 16:03:53 -0800
Message-ID: <CA+RyBmXJev9x0MRh+XA9RrsBKizJPpCEMVPTEZc6aVVxAYJOPQ@mail.gmail.com>
To: "Zafar Ali (zali)" <zali@cisco.com>
Cc: "adrian@olddog.co.uk" <adrian@olddog.co.uk>, mpls <mpls@ietf.org>, spring <spring@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c1aa9b04879e5055e72f02a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/d6I3Nib2kSMPTKrq_swuu-BREjk>
Subject: Re: [mpls] [spring] Special purpose labels in draft-hegde-spring-traffic-accounting-for-sr-paths
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 21 Nov 2017 00:03:59 -0000

Hi Zafar,
I don't see how managing, using passive OAM, i.e. counting fly-by packets,
at transient SR-MPLS nodes can be equated to breaking "no-forwarding state
at transient LSR" model.I believe that practical is as important as
aesthetic and that network cannot be operated without comprehensive OAM
tool box. Of course, every tool in the box is optional and will not be
deployed unless the need arises. If we agree on that, perhaps we can
discuss new requirement to be added to the SR OAM Requirements document.
And then, then consider how to address such requirement. I believe that two
options were mentioned in the thread:

   - described in draft-hegde-spring-traffic-accounting-for-sr-paths
   special purpose label (actually it may end up be extended special purpose
   label) and up to two labels;
   - use GAL and ACH (perhaps somewhat similar to approach used in RFC
   8169).

Regards,
Greg


On Mon, Nov 20, 2017 at 3:36 PM, Zafar Ali (zali) <zali@cisco.com> wrote:

> Hi Adrian,
>
> Some comments are provided in-line.
>
> Please note that, we all want to let this lingering tread die and
> follow-up on the next steps noted during this email exchange. I will be
> happy to have a webEx call and discuss it further, offline.
>
> Thanks
>
> Regards … Zafar
>
> On 11/18/17, 9:08 AM, "Adrian Farrel" <adrian@olddog.co.uk> wrote:
>
> <snip>
>
>     >>> procedure (in draft-hegde-spring-traffic-accounting-for-sr-paths)
> that breaks SR
>     >>> Architecture, highly unscalable and complicated to implement.
>     >>
>     >> [JD]  Do you have any evidence to justify any of your assertions,
> above?
>     >
>     > Please note that in draft-hegde-spring-traffic-
> accounting-for-sr-paths:
>     >
>     > •    The transit node needs to be able to recognize the special
> label, read
>     >        the SR Path Identification label and update the counter
> against such
>     >        “states”.
>
> >    Possibly worth noting that existing devices are capable of
> maintaining many counters and updating them at line speed.
>
> >    Several people have noted that ipfix is a process used for accounting
> in networks. That approach may have to find the bottom of stack and then
> match the packet that follows.
>
> >    Other approaches (e.g., to ECMP) involve finding the bottom of stack
> and hashing on the header of the payload.
>
> >    Some hardware cannot perform either mechanism. This usually results
> from a trade between low cost, high performance, and features. Generally
> you can't have all three.
>
> The question is not about if the hardware is able to perform such
> operations but regarding breaking the very beauty of SR – no states at the
> transit/ egress nodes. In the context of label stack size explosion, the
> draft also talks about needs to break an SR Path into sub-paths – thereby
> creating yet additional states in the network for accounting reasons (see
> more detail on this in the following). Furthermore, SR-MPLS is designed for
> SDN – the architecture calls for simplification of the network not adding
> complexity in the network fabric. Please also note that a network may have
> a large number of SR Path, thereby creating another dimension for scaling
> limitations.
>
> The proposed procedure also does not work for node protection in the
> network. The draft essentially calls for ALL nodes to implement procedure
> proposed in the document; I am quoting from the draft.
>
> “When using extensions
>    described in this document for traffic accounting and with node-
>    protection enabled in the network, it is RECOMMENDED to make sure all
>    the nodes in the network support the extension.”
>
> <snip>
>
>     > •    The draft proposes to push (up to) 3 Labels for each segment in
> the SR
>     >        Path. That means that label stack is increased up to 3x
> times! This is a
>     >        serious a scaling issue.
>
> >    John asked for evidence and you provided a misunderstanding or
> misreading of our draft.
> >    The document proposes adding 2 or 3 labels per SR Path (noting as
> John did, that this is our own term).
> >    That is not what you say, so perhaps you could retract or provide a
> pointer to the text.
>
> >    Thus, "increased up to 3x times" applies only with the single case
> where the imposed label stack has exactly one label *and* the three label
> option is applied. So, while  what you say is true, it is clearly (and
> wilfully?) exaggerating the severity of impact, and it is doubtful that
> 4-label stack is actually a problem.
>
> There are many scenarios that will require SR-Path-Stats Labels (up to 3
> labels) to be present multiple times in the label stack. These scenarios
> are not uncommon. The following scenarios as noted in the draft.
>
>   “The head-end node SHOULD insert the SR-
>    Path-Stats Labels at a depth in the label stack such that the nodes
>    in the SR path can access the SR-Path-Identifier for accounting.  The
>    SR-Path-Stats Labels may be present multiple times in the label stack
>    of a packet.”
>
>  “It is possible to partially deploy this feature when not all the
>    nodes in the network support the extensions defined in this document.
>    In such scenarios, the special labels MUST NOT get exposed on the top
>    of the label stack at a node that does not support the extensions
>    defined in this document.  This may require multiple blocks of SR-
>    Path-Stats Labels to be inserted in the packet header.”
>
> > •    The controller needs to keep track of transit node capability and
>     >       push the additional per-path labels, accordingly. I.e., the
> controller
>     >       also needs to maintain such information for the transit nodes.
>
> >    In most cases, the controller/ingress only needs to care about the
> capabilities of the egress nodes. That is, if the special purpose label
> reaches the top of the stack it has to be able to handle it.
>
> >    The only time when the transit node issue arises is when there is a
> small RLD. That information may need to be known by the controller to
> enable correct ECMP behavior, and it is distributed in the IGP.
> >    If there is a desire to enable accounting at transit nodes with a
> small RLD then the Path ID can be inserted higher up the stack and *that*
> means that the controller has to be sensitive as to where in the network
> the special purpose label will rise to the top of the stack.
>
> >    It seems to me that:
> >    - Controllers are not particularly resource constrained: adding a
> flag per node
> >       (or even per link!) would not break any scaling behavior.
> >    - Adding another flag to the IGP alongside the RLD is not significant
> scaling issue.
>
> The comment here was not so much related to scaling but was for adding
> complexity to the controller/ ingress node. As you noted above and in the
> draft, controller/ Ingress node needs to worry about the following cases
> every time a path needs to be computed (quoting some of the cases from the
> draft).
>
> “When the head-end node
>    inserts the SR-Path-Stats labels in the label stack, the place in the
>    stack is decided based on whether the node where the special label
>    gets exposed is capable of popping those labels.”
>
>
> “While inserting the SR-Path-Stats labels, the head-end router MUST
>    ensure that the labels are not exposed to the nodes that do not
>    support them. “
>
> “Because it is necessary that the SR-Path-Stats labels are removed
>    when they are found at the top of the label stack, the node imposing
>    the label stack (the ingress) must know which nodes are capable of
>    stripping the labels.”
>
> In RLDC limitation cases, “To support traffic
>    accounting in such cases it is necessary to insert the SR-Path-Stats
>    Labels within the Readable Label Stack Depth Capability (RLDC) of the
>    nodes in the SR path.”
>
> “The head-end node SHOULD insert the SR-
>    Path-Stats Labels at a depth in the label stack such that the nodes
>    in the SR path can access the SR-Path-Identifier for accounting.”
>
> “The special labels MUST NOT get exposed on the top
>    of the label stack at a node that does not support the extensions
>    defined in this document.”
>
> “If the egress has not indicated that it is capable of removing the
>    SR-Path-Stats Labels, then they MUST NOT be placed at the bottom of
>    the label stack.  In this case the SR-Path-Stats Labels SHOULD be
>    placed at a point in the label stack such that they will be found at
>    the top of stack by the latest node in the SR path that is capable of
>    removing them. “
>
> “SR paths may require large label stacks.  Some hardware platforms do
>    not support creating such large label stacks (i.e., imposing a large
>    number of labels at once).  To overcome this limitation sub-paths are
>    created within the network, and Binding-SIDs are allocated to these
>    sub-paths.” … which means controller/ ingress software need to also
> create/ install sub-paths.
>
> <snip>
>
>
>
> _______________________________________________
> mpls mailing list
> mpls@ietf.org
> https://www.ietf.org/mailman/listinfo/mpls
>