Re: [mpls] [spring] [SPRING] Query related to SR Architecture

Gaurav agrawal <gaurav.agrawal@huawei.com> Tue, 15 September 2015 10:12 UTC

Return-Path: <gaurav.agrawal@huawei.com>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6D8B01B4A4B; Tue, 15 Sep 2015 03:12:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.21
X-Spam-Level:
X-Spam-Status: No, score=-4.21 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 XOPifLmFuIEv; Tue, 15 Sep 2015 03:12:47 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 023F11B4A40; Tue, 15 Sep 2015 03:12:44 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml404-hub.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id CBH44777; Tue, 15 Sep 2015 10:12:43 +0000 (GMT)
Received: from SZXEMI413-HUB.china.huawei.com (10.86.210.41) by lhreml404-hub.china.huawei.com (10.201.5.218) with Microsoft SMTP Server (TLS) id 14.3.235.1; Tue, 15 Sep 2015 11:12:40 +0100
Received: from SZXEMI502-MBX.china.huawei.com ([169.254.5.216]) by SZXEMI413-HUB.china.huawei.com ([10.86.210.41]) with mapi id 14.03.0235.001; Tue, 15 Sep 2015 18:12:29 +0800
From: Gaurav agrawal <gaurav.agrawal@huawei.com>
To: "Acee Lindem (acee)" <acee@cisco.com>, "Anil Kumar S N (VRP Network BL)" <anil.sn@huawei.com>, Pushpasis Sarkar <psarkar@juniper.net>, Alexander Vainshtein <Alexander.Vainshtein@ecitele.com>
Thread-Topic: [spring] [SPRING] Query related to SR Architecture
Thread-Index: AQHQ6x7eIkcW1d9q2U2kd/ro+ilNHp41s27w//+e2ICAAIouYP//hcoAgAAJZoCAAIw+Nv//mXiAAPpkMzA=
Date: Tue, 15 Sep 2015 10:12:29 +0000
Message-ID: <2F2059F256F9B24F82EAC5EE47F446C6B013CE32@szxemi502-mbx.china.huawei.com>
References: <544F5E3F-82AD-49BA-A83B-201DE49A08A6@juniper.net> <327562D94EA7BF428CD805F338C31EF06C0496F5@nkgeml512-mbx.china.huawei.com> <99EAE216-DB6C-4AFD-8E5C-E834D68CBF52@juniper.net> <327562D94EA7BF428CD805F338C31EF06C04975F@nkgeml512-mbx.china.huawei.com> <151A634F-9F72-40E6-AAC7-94F66F2CDFF5@juniper.net> <D2171FC6.2DF9A%acee@cisco.com> <327562D94EA7BF428CD805F338C31EF06C049BD1@nkgeml512-mbx.china.huawei.com> <D21742AA.2E003%acee@cisco.com>
In-Reply-To: <D21742AA.2E003%acee@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [10.20.132.142]
Content-Type: multipart/related; boundary="_005_2F2059F256F9B24F82EAC5EE47F446C6B013CE32szxemi502mbxchi_"; type="multipart/alternative"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <http://mailarchive.ietf.org/arch/msg/mpls/hTYFZNmIDgRSTra9SpmhTjxGX0w>
Cc: "mpls@ietf.org" <mpls@ietf.org>, "spring@ietf.org" <spring@ietf.org>, Vinod Kumar S 70786 <v70786@notesmail.huawei.com.cn>
Subject: Re: [mpls] [spring] [SPRING] Query related to SR Architecture
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.15
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, 15 Sep 2015 10:12:55 -0000

Dear Acee,

While going through the MRT Architecture draft, we found that a special label called Topology-Id Label is defined and carried as a top label in label stack, followed by FEC Label.
Also the operation as per MRT Draft is similar to our query.

Request your opinion on same.

Our Original Query
“If we can push a service label prior to node label & each intermediate node can perform below operation:
1) Pop Service Label & perform/schedule the service.
2) Decide the further forwarding based on Node Label
3) Push the service label back to stack.”

Reference: https://tools.ietf.org/html/draft-ietf-rtgwg-mrt-frr-architecture-06
6.1.1.2<https://tools.ietf.org/html/draft-ietf-rtgwg-mrt-frr-architecture-06#section-6.1.1.2>.  Topology and FEC encoded using a two label stack (Option 1B)
   With this forwarding mechanism, a two label stack is used to encode
   the topology and the FEC of the packet.  The top label (topology-id
   label) identifies the MRT forwarding topology, while the second label
   (FEC label) identifies the FEC.  The top label would be a new FEC
   type with two values corresponding to MRT Red and Blue topologies.

   When an MRT transit router receives a packet with a topology-id
   label, the router pops the top label and uses that it to guide the
   next-hop selection in combination with the next label in the stack
   (the FEC label).  The router then swaps the FEC label, using the FEC-
   label bindings learned through normal LDP mechanisms.  The router
  then pushes the topology-id label for the next-hop.

   As with Option 1A, this forwarding mechanism also has the useful
   property that the FEC associated with the packet is maintained in the
   labels at each hop along the MRT.

   This forwarding mechanism has minimal usage of additional labels,
   memory and LDP communication.  It does increase the size of packets
   and the complexity of the required label operations and look-ups.

   This forwarding option is consistent with context-specific label
   spaces, as described in [RFC 5331<https://tools.ietf.org/html/rfc5331>].  However, the precise LDP
   behavior required to support this option for MRT has not been
   specified.



Gaurav Agrawal
[Company_logo]

[cid:image002.jpg@01CD2151.7E452260]
Phone: 0124-4774700 Ext- 85756
Mobile: +91-7838700296
Email: gaurav.agrawal@huawei.com<mailto:gaurav.agrawal@huawei.com>
Delhi, India
Huawei Technologies Co., Ltd.

From: Acee Lindem (acee) [mailto:acee@cisco.com]
Sent: Friday, September 11, 2015 12:01 AM
To: Anil Kumar S N (VRP Network BL); Pushpasis Sarkar; Gaurav agrawal; Alexander Vainshtein
Cc: mpls@ietf.org; spring@ietf.org; Vinod Kumar S 70786
Subject: Re: [spring] [SPRING] Query related to SR Architecture

Hi Anil,

From: "Anil Kumar S N (VRP Network BL)" <anil.sn@huawei.com<mailto:anil.sn@huawei.com>>
Date: Thursday, September 10, 2015 at 1:04 PM
To: Acee Lindem <acee@cisco.com<mailto:acee@cisco.com>>, Pushpasis Sarkar <psarkar@juniper.net<mailto:psarkar@juniper.net>>, Gaurav agrawal <gaurav.agrawal@huawei.com<mailto:gaurav.agrawal@huawei.com>>, Alexander Vainshtein <Alexander.Vainshtein@ecitele.com<mailto:Alexander.Vainshtein@ecitele.com>>
Cc: "mpls@ietf.org<mailto:mpls@ietf.org>" <mpls@ietf.org<mailto:mpls@ietf.org>>, "spring@ietf.org<mailto:spring@ietf.org>" <spring@ietf.org<mailto:spring@ietf.org>>, Vinod Kumar S 70786 <v70786@notesmail.huawei.com.cn<mailto:v70786@notesmail.huawei.com.cn>>
Subject: RE: [spring] [SPRING] Query related to SR Architecture

Hi Acee,

    Thanks for your inputs. I might be wrong, correct me if i am.

        Each node can advertise two different types service label for a same service.
        a)  Service label after poping it, perform the service continue  with forwarding (current case)
        b)  New kind of service label after poping it, perform/schedule the service and before forwarding push back the neighbors local service label.



Will this have backward compatibility issue ? as we are attaching more meaning to a service label which is new.
(new kind of service label processing will be done only be capable nodes who understand this new label type, capability must be exchanged to support backward compatibility)

In MPLS, one label is like any other label (except for the first 15 which are reserved). I think you are missing a whole lot of context here - you can’t just declare a new label type with different semantics.




Implementation implications : I could foresee one difficulty but need communities opinion
                                                        The top label which is a special service label will be swapped with peer's service label but only after forwarding decision is made.

Partial development : This i am not sure at this point of time, i will definitely check with with our product team and get back to you ASAP.

I do not wish to get into a protracted discussion on a proposal that is unlikely to be adopted. Independent of your product requirements, a standardized solution will need to address this point one way or another.

Acee





With Regards
Anil S N
________________________________
From: spring [spring-bounces@ietf.org<mailto:spring-bounces@ietf.org>] on behalf of Acee Lindem (acee) [acee@cisco.com<mailto:acee@cisco.com>]
Sent: Thursday, September 10, 2015 9:46 PM
To: Pushpasis Sarkar; Anil Kumar S N (VRP Network BL); Gaurav agrawal; Alexander Vainshtein
Cc: mpls@ietf.org<mailto:mpls@ietf.org>; spring@ietf.org<mailto:spring@ietf.org>; Vinod Kumar S 70786
Subject: Re: [spring] [SPRING] Query related to SR Architecture
Hi Pushpasis, Anil,

From: spring <spring-bounces@ietf.org<mailto:spring-bounces@ietf.org>> on behalf of Pushpasis Sarkar <psarkar@juniper.net<mailto:psarkar@juniper.net>>
Date: Thursday, September 10, 2015 at 11:42 AM
To: "Anil Kumar S N (VRP Network BL)" <anil.sn@huawei.com<mailto:anil.sn@huawei.com>>, Gaurav agrawal <gaurav.agrawal@huawei.com<mailto:gaurav.agrawal@huawei.com>>, Alexander Vainshtein <Alexander.Vainshtein@ecitele.com<mailto:Alexander.Vainshtein@ecitele.com>>
Cc: "mpls@ietf.org<mailto:mpls@ietf.org>" <mpls@ietf.org<mailto:mpls@ietf.org>>, "spring@ietf.org<mailto:spring@ietf.org>" <spring@ietf.org<mailto:spring@ietf.org>>, Vinod Kumar S 70786 <v70786@notesmail.huawei.com.cn<mailto:v70786@notesmail.huawei.com.cn>>
Subject: Re: [spring] [SPRING] Query related to SR Architecture

Hi Anil,

Inline again

From: "Anil Kumar S N (VRP Network BL)"
Date: Thursday, September 10, 2015 at 8:56 PM
To: Pushpasis Sarkar, Gaurav agrawal, Alexander Vainshtein
Cc: "mpls@ietf.org<mailto:mpls@ietf.org>", "spring@ietf.org<mailto:spring@ietf.org>", Vinod Kumar S 70786
Subject: RE: [spring] [SPRING] Query related to SR Architecture

Pushpasis,

                Thank you again, Please see inline [Anil >>].

Thanks & Regards
Anil S N

“Be liberal in what you accept, and conservative in what you send” - Jon Postel


From: spring [mailto:spring-bounces@ietf.org] On Behalf Of Pushpasis Sarkar
Sent: 10 September 2015 20:15
To: Anil Kumar S N (VRP Network BL); Gaurav agrawal; Alexander Vainshtein
Cc: mpls@ietf.org<mailto:mpls@ietf.org>; spring@ietf.org<mailto:spring@ietf.org>; Vinod Kumar S 70786
Subject: Re: [spring] [SPRING] Query related to SR Architecture

Hi Anil,

From: "Anil Kumar S N (VRP Network BL)"
Date: Thursday, September 10, 2015 at 6:17 PM
To: Pushpasis Sarkar, Gaurav agrawal, Alexander Vainshtein
Cc: "spring@ietf.org<mailto:spring@ietf.org>", "mpls@ietf.org<mailto:mpls@ietf.org>", Vinod Kumar S 70786
Subject: RE: [spring] [SPRING] Query related to SR Architecture

Hi Pushpasis,

                Thanks a lot for replying.

                The requirement is still under research stage once it is in a presentable format  will share the details.
we need every node on the path to perform the same service, we could even define a service globally and allocate one label to it which is understandable by all.
[Pushpasis] First, it does not make sense to me why all the nodes on the path will execute the same service on the payload? It would make more sense that they do different services on different node. Can you illustrate with an example?  Second, If they all are providing the same service, why need a separate service label?

[Anil >>] What did you meant by “Second, If they all are providing the same service, why need a separate service label? ”.  What we meant is the case where 10 different services need to be performed by every hop based on based on received service label in the SR packet.
[PS2] Ok. So what you are saying is… Each node is capable of N number services. The service label is to only indicate which one it is. Right? It is still not clear why the same service needs to be executed on each transit node.


                Technically it must be possible right, as top label specifies to service once that service is performed then refer ILM/NHLFE table for forwarding and if service label says before sending out the packet push the label back on the stack.
[Pushpasis] In MPLS architecture, labels are always of local significance. So the global service label you are talking about MUST be actually a label allocated by the first hop node who has allocated the specific label for the service. Even the Node Segment Label the ingress will use to push the packet is allocated by the first hop node.
[Anil >>]  pushing local service label originated by immediate nexthop before transmitting will serve the purpose , each node will push new local service label based on the nexthop as a last step after processing service label & node label.
we want service label on the top of the stack.
[PS2] You mean ingress will put the service label and node segment label and send it to first hop. Then first hop will pop the service label, execute the service, look at the next node label and then add the same service label along with node segment label advertised by the second hop for the final destination. And so on. Right? This sounds to convoluted to me.

Clearly convoluted. Even if the desired behavior is applicable to every node, this represents a unique MPLS forwarding paradigm. It is similar to stitching LSPs but not identical.  Before introducing something like this, the MPLS WG would have to consider implementation implications, partial deployment, and backward compatibility versus the benefits of the limited use cases.

Thanks,
Acee






                The Egress device will finally pop both service and node label.

Hope you are refering to with respect to SFC https://tools.ietf.org/html/draft-xu-spring-sfc-use-case-02”

                As per below section a node label and service lable combination has to be pushed for each hop if the service is intended to  be performed by each node on the path to destination.
                If there is any metadata involved for service NSH has to be piggybacked in the packet. SFC don’t solve in reducing number of labels involved.
[Pushpasis] I agree. Perhaps we need to find a different solution.
[Anil >>]  By having service label at the top will solve label stack issues in some cases.
[PS2] I don’t think so. Once again I don’t get why all transit nodes need to execute the same service again and again on the same payload? Have you considered the case where 3 (say) different service needs to be applied at the three different service nodes and then finally forwarded to destination? How will you specify three different services without three different service labels?

Thanks
-Pushpasis


would like to know technical issues involved in having service label as top label, Please help us.

Thanks
-Pushpasis

        The service classifier therefore would attach a
        segment list {SID(SN1), SID(SF1), SID(SN2), SID(SF2)} to the packet.
        This segment list is actually represented by a MPLS label stack.  In
        addition, the service classifier could optionally impose metadata on
        the packet through the Network Service Header (NSH)

Thanks & Regards
Anil S N

“Be liberal in what you accept, and conservative in what you send” - Jon Postel


From: Pushpasis Sarkar [mailto:psarkar@juniper.net]
Sent: 10 September 2015 00:45
To: Gaurav agrawal; Alexander Vainshtein
Cc: Anil Kumar S N (VRP Network BL); spring@ietf.org<mailto:spring@ietf.org>; mpls@ietf.org<mailto:mpls@ietf.org>; Vinod Kumar S 70786
Subject: Re: [spring] [SPRING] Query related to SR Architecture

Hi Gaurav,

Looks like you are asking the routers to forward looking at the second innermost label and not the topmost label. This does NOT fit into the MPLS architecture. I am not sure it fits SR-IPV6 architecture or not, but I doubt.

Looks like your requirement is that each node on shortest path to the final destination (indicated by the bottom-most Node-segment) provide some service. In this regard, can you be specific about wether all the nodes will provide the same service or different service? It does not make sense to me for all the transit nodes to execute the same service on the packet. So if they are not required to provide the same service on each transit node, question is how one service label will be enough to indicate which specific service will need to be executed at each node.

Hope you have gone through SFC drafts already.

Thanks
-Pushpasis

From: spring on behalf of Gaurav agrawal
Date: Wednesday, September 9, 2015 at 6:09 PM
To: Alexander Vainshtein
Cc: "Anil Kumar S N (VRP Network BL)", "spring@ietf.org<mailto:spring@ietf.org>", "mpls@ietf.org<mailto:mpls@ietf.org>", Vinod Kumar S 70786
Subject: Re: [spring] [SPRING] Query related to SR Architecture

Dear Alexander,

Thanks for your inputs. Let me further elaborate on the subject.

The requirement is to make every node on the path to destination to perform a specific service(Service could be anything).

Currently Service label can only follow a Node Label, because of which to let every node perform same service, SR Label stack expects to have node and service label for each transit node, this results in huge label stack.

If we can push a service label prior to node label & each intermediate node can perform below operation:
1) Pop Service Label & perform/schedule the service.
2) Decide the further forwarding based on Node Label
3) Push the service label back to stack.

With this we needn’t repeat the service label for each transit node thereby making the SR Label stack COMPACT.

We can derive many optimized implementation by having this.

So, we would like to hear from You and MPLS/SPRING community about our view point.

Thanks and Regards,
Gaurav Agrawal
[Company_logo]

Mobile: +91-7838700296
Email: gaurav.agrawal@huawei.com<mailto:gaurav.agrawal@huawei.com>
Huawei Technologies Co., Ltd.

From: Alexander Vainshtein [mailto:Alexander.Vainshtein@ecitele.com]
Sent: Wednesday, September 09, 2015 5:01 PM
To: Gaurav agrawal
Cc: Anil Kumar S N (VRP Network BL); Vinod Kumar S 70786; spring@ietf.org<mailto:spring@ietf.org>; mpls@ietf.org<mailto:mpls@ietf.org>
Subject: RE: [SPRING] Query related to SR Architecture

Gaurav,
Not sure I understand the context for your requirement.
But to the best of my understanding your requirement does not match MPLS architecture.

Regards,
Sasha

Office: +972-39266302
Cell:      +972-549266302
Email:   Alexander.Vainshtein@ecitele.com<mailto:Alexander.Vainshtein@ecitele.com>

From: spring [mailto:spring-bounces@ietf.org] On Behalf Of Gaurav agrawal
Sent: Wednesday, September 09, 2015 1:38 PM
To: spring@ietf.org<mailto:spring@ietf.org>
Cc: Anil Kumar S N (VRP Network BL); Vinod Kumar S 70786
Subject: [spring] [SPRING] Query related to SR Architecture

Hi,

We would like to have a label stack with only two labels such a way that service label is a top label  and the bottom label would be SR destination node label. This is to make sure each intermediate node perform the specified service based on the top label while reaching the destination.
We would appreciate if anyone could clarify whether SR architecture could allow a service label to be a top label in a label stack.

Thanks and Regards,
Gaurav Agrawal
[Company_logo]

Mobile: +91-7838700296
Email: gaurav.agrawal@huawei.com<mailto:gaurav.agrawal@huawei.com>
Huawei Technologies Co., Ltd.