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

Greg Mirsky <gregimirsky@gmail.com> Mon, 27 November 2017 22:54 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 F102A126DC2; Mon, 27 Nov 2017 14:54:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 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] 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 Uut5APgh3egH; Mon, 27 Nov 2017 14:54:13 -0800 (PST)
Received: from mail-lf0-x229.google.com (mail-lf0-x229.google.com [IPv6:2a00:1450:4010:c07::229]) (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 227CC1205F0; Mon, 27 Nov 2017 14:54:13 -0800 (PST)
Received: by mail-lf0-x229.google.com with SMTP id d10so23653963lfj.7; Mon, 27 Nov 2017 14:54:13 -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=C5qf0RzUtgilJEbFrzCS+2h/AkYyqGMQInsCwa1pW3o=; b=RVPz8b2wWRaSMIhix9kLwG277bSC9FXAlzEcV8XsfnpYrv5hfKV1nZfJnD4/8DqMyA GFl177odMiH2ofWYcVJIr4jlA1MSOG2qbAVW/LhduNQhILBx/W1FlNwEjg2OcFkWt2rn ic0IGkc7oGpCVTbXMJs++YR+XhUSo5ZRZBbD8I5h0STJ234fzjbh3A6wKqx8yeq0dnXi 3nM8dQkNxEs/D2n7+bcCs5hk8wh7Vc1XiyV/k+X5cimNcIAfR4TiNemNR6RYS9Kpq5qW 9+jI12kSufEGQDCi+jnO/WuI/EaENOx2TGfo2FCF0Hrf0RqSOEj2haPKM1WOg5ZJN+4b HxjQ==
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=C5qf0RzUtgilJEbFrzCS+2h/AkYyqGMQInsCwa1pW3o=; b=V7KC0fAjXpJv9tRVWBsaJcf+9/wNMbE2nLBzr0CfzLuR9ofm4MVsEDjxXbdxNX3iwO cLEfsgef02C9lsj4wcZpskriatDgjdPEmjE0avx4EcVlbn9TEjz3EX+Rht3/1kBnEczl To3fGnRZ2w/iN9msv7zKqS0vMbP29m4mBjgJviOg7UnVrosuboyQ2pbXtQE6L2xq6FtS S/sD22MxNyERxc5S0+OjJW5O7qyXjEu6kELW4wNAn9EBEXjLtowJkb/6wx1EUG2td93I qTP8XBya+mb8nFZpGkb4xJNSDQH7nLlC0qqY14VTs2YPPjTeSlEhg1pTKLEY+91h9J7G bHMg==
X-Gm-Message-State: AJaThX5nOj/jqw9NH7wkt2R7vvoi3hgvxfrOFpePvJcocuj81wYaRywP 3hkt9sPvrOZZ0tQ/5utDq6RfWnnnYxo0iNm325dXDg==
X-Google-Smtp-Source: AGs4zMbxveEDEHvKekEbhygD7S8GMltNJeMRArZVLJUQKgwJDbNVrGgcXtZZfaefNKfcFpUfoPeVXFj909h258wsOqU=
X-Received: by 10.25.221.217 with SMTP id w86mr10673134lfi.89.1511823251168; Mon, 27 Nov 2017 14:54:11 -0800 (PST)
MIME-Version: 1.0
Received: by 10.46.32.136 with HTTP; Mon, 27 Nov 2017 14:54:10 -0800 (PST)
In-Reply-To: <FEA1BFBE-5FD8-4ADB-94EA-9540F735119A@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> <01de01d362f2$14766ef0$3d634cd0$@olddog.co.uk> <CA+b+ERmkHZe9BU-JZLWpOEcwAhPqx72Sw4-NyLgVjhzzfySdCQ@mail.gmail.com> <FEA1BFBE-5FD8-4ADB-94EA-9540F735119A@cisco.com>
From: Greg Mirsky <gregimirsky@gmail.com>
Date: Mon, 27 Nov 2017 14:54:10 -0800
Message-ID: <CA+RyBmX67PzKcR8vJdBowF8Z=0QD03ecfCDorCEm-V7uLKsmPQ@mail.gmail.com>
To: "Carlos Pignataro (cpignata)" <cpignata@cisco.com>
Cc: Robert Raszuk <robert@raszuk.net>, spring <spring@ietf.org>, "Zafar Ali (zali)" <zali@cisco.com>, mpls <mpls@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c0ec71ed96359055efec7c0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/8XkMn28aFskQqzPKs31GB1raqRw>
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: Mon, 27 Nov 2017 22:54:18 -0000

Hi Carlos.
you've stated: "Because it piggy-backs on data without altering the data
plane realization. IPFIX for the rest."
Do you believe that this combination, iOAM and IPFIX, addresses all SR
requirements towards OAM? That there's no need for any other tool in the SR
OAM toolbox?

Regards,
Greg

On Sun, Nov 26, 2017 at 8:11 PM, Carlos Pignataro (cpignata) <
cpignata@cisco.com> wrote:

> [Sorry for jumping late to this thread! A couple of quick observations.]
>
>
> On Nov 21, 2017, at 1:34 PM, Robert Raszuk <robert@raszuk.net> wrote:
>
>
>
> . I clearly see folks thinking of SR-MPLS like a RSVP-TE analogy with EROs
>
>
> [and]
>
> On Nov 16, 2017, at 5:48 AM, stephane.litkowski@orange.com wrote:
>
>
> Robert mentioned correctly that SR-TE (especially with MPLS dataplane) has
> limited TE features (we cannot mimic all what RSVP does in SRTE without
> adding too much complexity).
>
>
> I think this is the key, let’s not ATM-ify the OAM uses for SR (MPLS or
> IPv6).
>
> On Nov 21, 2017, at 1:34 PM, Robert Raszuk <robert@raszuk.net> wrote:
>
>
>
> Especially iOAM is very useful.
>
>
> Yes!
>
> Because it piggy-backs on data without altering the data plane
> realization. IPFIX for the rest.
>
> On Nov 16, 2017, at 3:33 AM, Greg Mirsky <gregimirsky@gmail.com> wrote:
>
> Hi Zafar, et.al,
> as I'm the one who have started the thread I'd like to clarify and
> reiterate my point Performance measurements are required not only e2e but
> on a span, i.e. SPME, using MPLS-TO lingo. If we agree on that, then we are
> ready to discuss how to support these measurements in SR-MPLS.
>
>
> I believe trying to RSVP-TE-ify the path characteristics, or inventing
> SR-MPLS-TP is not a good idea.
>
> Thanks,
>
> —
> Carlos Pignataro, carlos@cisco.com
>
> On Nov 21, 2017, at 1:34 PM, Robert Raszuk <robert@raszuk.net> wrote:
>
> Hi Adrian,
>
> I am not going to defend beauty of any architecture. I think there is much
> bigger fundamental misunderstanding how in practice someone will use
> SR-MPLS and I think this is the root cause for this little thread and
> different perspectives of its participants.
>
> So SR-MPLS is not RSVP-TE and there is no EROs. The set of SIDs are no
> more then hints on how to steer the packets within connection less paradigm
> (same as IP tunnel so to say with less encap overhead) via one or more of
> IGP segments.
>
> *The less SIDs you add to the packet the better !*
>
> Yes that requires to be smart (or to have smart central controller) to add
> only a very few labels/SIDs to accomplish the network traffic distribution
> objectives. I clearly see folks thinking of SR-MPLS like a RSVP-TE analogy
> with EROs, but this is IMO fundamentally wrong. Only that you can do it (to
> build SR-MPLS paths all the way via your domain) does not make it a good
> idea. No where in SR architecture I see any pre-asssumption that last IGP
> segment will be connected to domain egress node (with the exception of EPE
> but this is different app).
>
> In fact as some may recall we are 17 years after RSVP-TE shipping code and
> only very few networks ever deployed it for all unicast traffic end to end
> for many reasons. Most folks used it for FRR or for hot spot bypass.
>
> Now as far as OAM sure it is great to have it both for IP networks and
> MPLS-LDP networks and SR-MPLS networks. Especially iOAM is very useful. But
> this is not really related to SR-MPLS architecture.
>
> With that I think the draft makes set of assumptions which are far from
> how SR-MPLS should be deployed and this does make it rather problematic. It
> is just like draft describing use of BGP for data centers ... now everyone
> is using BGP for all data centers or even other types of networks
> regardless if this is even applicable or best choice for a given cluster
> scale they are building :).
>
> Counters are great, more counters are even better, but I fail to see the
> value for yet again counting traffic arriving via specific IGP segments
> when we are already counting packets arriving via given IGP topology. My
> recommendation would be to solve it for MPLS-LDP in MPLS WG first (which
> after all is one example where flooding domain wide labels in IGP replaces)
> and then SR-MPLS will inherit the same solution.
>
> Cheers,
> Robert.
>
>
> On Tue, Nov 21, 2017 at 6:56 PM, Adrian Farrel <adrian@olddog.co.uk>
> wrote:
>
>> Hi,
>>
>> I understand that you doubt that this thread will yield anything
>> productive, but there are a couple of things you're raising that need to be
>> nailed down.
>>
>> Probably the most important of these is the concern that you express that
>> maintaining counters in the network goes against the beauty of the SR
>> architecture because it means holding state at transit nodes. This seems to
>> be a debate about the perfection of an architecture versus the
>> manageability of the network. Don't get me wrong, I love a beautiful
>> architecture, but only if the network can be operated successfully.
>>
>> So, we should start at the top of the document and work our way down. I
>> assume that you don't have any issues with Section 1: it seems to say what
>> you are saying about the statelessness of SR. Section 2 is probably where
>> you start to be unhappy: it sets an objective (to be able to count packets
>> per flow) and sets some requirements on any solution.
>>
>> That is, I think you believe that it is not necessary (or not desirable?)
>> to count packets in an SR network and assign those counts to the SR paths
>> that generated those packet flows. So the challenge for you is to say
>> whether the problem described in Figure 1 is:
>> - not a concern in network management
>> - can be solved by other means without counting traffic at
>>    transit nodes (Note Well that other ways of counting
>>    traffic at transit nodes are still counting traffic at transit
>>    nodes).
>>
>> But one other point I want to pick up on is your claim that "the draft
>> also talks about needs to break an SR Path into sub-paths". Sub-paths that
>> are achieved through an expansion of a Binding SID are just part of the
>> landscape and (of course) thy have to be coped with. The draft doesn't
>> introduce sub-paths, it just observes that they exist.
>>
>> Lastly, the conversation on the number of labels as a multiplier seems to
>> have gotten out of hand. Why not just agree that you original statement of
>> "increased by up to 3x" was an exaggeration?
>>
>> Cheers,
>> Adrian
>>
>> > -----Original Message-----
>> > From: Zafar Ali (zali) [mailto:zali@cisco.com]
>> > Sent: 20 November 2017 23:36
>> > To: adrian@olddog.co.uk
>> > Cc: 'spring'; 'mpls'
>> > Subject: Re: [mpls] [spring] Special purpose labels in
>> draft-hegde-spring-traffic-
>> > accounting-for-sr-paths
>> >
>> > 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-acc
>> ounting-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.
>> x`x>
>> >   “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>
>> >
>> >
>>
>>
>> _______________________________________________
>> spring mailing list
>> spring@ietf.org
>> https://www.ietf.org/mailman/listinfo/spring
>>
>
> _______________________________________________
> spring mailing list
> spring@ietf.org
> https://www.ietf.org/mailman/listinfo/spring
>
>
>
> _______________________________________________
> mpls mailing list
> mpls@ietf.org
> https://www.ietf.org/mailman/listinfo/mpls
>
>