Re: [mpls] draft-fang-mpls-label-forwarding-no-swap - how much does it really save?

Andrew Qu <> Fri, 24 July 2015 09:22 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 77E2A1A8845 for <>; Fri, 24 Jul 2015 02:22:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: 0.899
X-Spam-Status: No, score=0.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, HTML_MESSAGE=0.001, RDNS_NONE=0.793, UNPARSEABLE_RELAY=0.001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id iG3iHpe94Ec5 for <>; Fri, 24 Jul 2015 02:22:00 -0700 (PDT)
Received: from (unknown []) by (Postfix) with ESMTP id 9F2D01A882A for <>; Fri, 24 Jul 2015 02:21:59 -0700 (PDT)
X-Listener-Flag: 11101
Received: from [(] by (envelope-from <>) (Cellopoint E-mail Firewall v3.9.12 Build 0312 with TLS) with ESMTP id 879507728; Fri, 24 Jul 2015 05:21:00 -0500
Received: from ( by ( with Microsoft SMTP Server (TLS) id; Fri, 24 Jul 2015 05:21:56 -0400
Received: from ([fe80::2898:86df:e627:42ee]) by ([fe80::69ba:ee95:46f7:711d%10]) with mapi id 14.03.0181.006; Fri, 24 Jul 2015 05:21:56 -0400
From: Andrew Qu <>
To: Lizhenbin <>, "" <>, Alexander Vainshtein <>, Shahram Davari <>, Robert Raszuk <>
Thread-Topic: [mpls] draft-fang-mpls-label-forwarding-no-swap - how much does it really save?
Thread-Index: AQHQxdE8jUti3orAQEqCOvm3DZDbXZ3qQZhggABOgID//8bV0A==
Date: Fri, 24 Jul 2015 09:21:54 +0000
Message-ID: <>
References: <>, <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_EA360A7AB9D90D4B9E9173B6D27C371EE3F60E6AMTKMBS61N1media_"
MIME-Version: 1.0
X-TM-AS-Product-Ver: SMEX-
X-TM-AS-Result: No--29.162500-8.000000-31
X-TM-AS-User-Approved-Sender: No
X-TM-AS-User-Blocked-Sender: No
Archived-At: <>
Subject: Re: [mpls] draft-fang-mpls-label-forwarding-no-swap - how much does it really save?
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multi-Protocol Label Switching WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 24 Jul 2015 09:22:04 -0000

Agreed!   From networking point of view,  no_swap and swap is simply different fundamentally.  We should address that.



From: Lizhenbin []
Sent: Friday, July 24, 2015 10:40 AM
To:; Andrew Qu; Alexander Vainshtein; Shahram Davari; Robert Raszuk
Subject: 答复: [mpls] draft-fang-mpls-label-forwarding-no-swap - how much does it really save?

Hi all,

I think the concept is one hand, the implementation is another hand. I would like to clarify more about it.

1. Now all of us debates if there is NO_SWAP. I want to ask one question: Should there be SWAP? In fact, according to implementation, the SWAP can be seen as POP a label, then PUSH a label.

If so, POP and PUSH is enough. Why is there SWAP.

2. For the NO_SWAP, as the introduction of H-SDN and Segment Routing, at least in concept, there should introduce one new label operation. Regarding the implementation you can use SWAP same label, or POP one label and PUSH the same label if you like. There is also the possible way introduced in the draft-fang-mpls-label-forwarding-no-swap.

In addition I would like to propose the suggestion that a totally new term for the NO_SWAP label operation should be introduced such as CONTINUE, GO, DIRECTGO, etc. Why must we make it related with the existing the label operations?

Best Regards,


发件人: mpls [] 代表 Andrew Qu []
发送时间: 2015年7月24日 16:06
收件人: Alexander Vainshtein; Robert Raszuk; Shahram Davari
主题: Re: [mpls] draft-fang-mpls-label-forwarding-no-swap - how much does it really save?
Hi Sasha,

My comments in lines…

From: mpls [] On Behalf Of Alexander Vainshtein
Sent: Friday, July 24, 2015 7:26 AM
To: Robert Raszuk; Shahram Davari
Subject: Re: [mpls] draft-fang-mpls-label-forwarding-no-swap - how much does it really save?

Hi all,

Please note that CONTINUE in SPRING is:

1. A DP-agnostic primitive

2. *Implemented* as SWAP instruction with MPLS DP.

[Andrew]  You are contradicting with 1) and 2).

With “CONTINUE” defined in SR draft,  for NEW ASIC to be designed,

Why should I still use “SWAP” to achieve it? Considering that I might

Have good saving in precious on-board memory for the ASIC ?

You can suggest that using SWAP, however you said CONTINUE is DP-agnostic, then

If I do it different, I am still standard compliant. RIGHT?

Again,  that is exactly my point,  SWAP is NOT the same as “NO_SWAP”.  Once you put

The wording out there,  it WILL have different impact.



So claiming equivalence of CONTINUE and NO-SWAP seems to be inaccurate IMO.

As for global labels (in SDN, MPLS-TP or any other technology) - this definitely looks to me like a very bad idea for networks comprised of devices that support different label ranges. From my experience these scenarios have been encountered in real MPLS-TP deployments  and resulted in eventually dropping the "simple" solution as live networks have been extended with new NEs supporting a more narrow label space than the original ones.

Adding a new forwarding primitive to MPLS architecture (yet another argument on this thread) immediately raises the question:

Is support of the new primitive mandatory?

If it is not (and this is clearly the case for NO-SWAP), then why should we bother? Occam's rasor cuts this off IMHO.

My personal bottom line: this is a strictly NO GO proposal.

My 2c.

Thumb typed on my LG,

------ Original message ------
From: Robert Raszuk
Date: 24/07/2015 00:22
To: Shahram Davari;
Subject:Re: [mpls] draft-fang-mpls-label-forwarding-no-swap - how much does it really save?

The point is that new control plane is already defined. In fact we already have two :)

As I mentioned in my first mail to the list the concept of NO_SWAP/CONTINUE is common to both H-SDN and SEGMENT ROUTING architectures.



On Thu, Jul 23, 2015 at 11:16 PM, Shahram Davari  <<>> wrote:

So instead of calling it no-swap probably you should call it global label or so, and then define new control plane for it. But seems the data-pane behavior does not change and existing hardware can support this global label.  So maybe you just need new control plane.


From:<> [<>] On Behalf Of Robert Raszuk
Sent: Thursday, July 23, 2015 2:12 PM
To: Shahram Davari
Cc: Eric C Rosen;<>;<>

Subject: Re: [mpls] draft-fang-mpls-label-forwarding-no-swap - how much does it really save?

Hi Shahram,

Labels which are non of a local significance can be distributed by flooding protocols extensions (ISIS, OSPF) or by direct p2p sessions (BGP 3107, sessions from the controller, XMPP etc ...)

The important part is that the actual forwarding is computed recursively or set at the controller.

AFAIK I have not seen any proposal where LDP would play any role in such distribution.


On Thu, Jul 23, 2015 at 11:07 PM, Shahram Davari <<>> wrote:
Hi Robert,

How are these labels distributed? Via LDP or via SDN controller?


From:<> [<>] On Behalf Of Robert Raszuk
Sent: Thursday, July 23, 2015 12:58 PM
To: Eric C Rosen
Cc: Shahram Davari;<>;<>
Subject: Re: [mpls] draft-fang-mpls-label-forwarding-no-swap - how much does it really save?

​Hi Eric,​

If you notice that the incoming label needs to be 'replaced' by an outgoing label of the same value, you could just make the rewrite string shorter, so it won't overwrite the top label on the stack.  This seems to be what the draft suggests, but it could be done as an optimization for the particular case where the incoming and outgoing labels have the same value.

​This is precisely ​the crux where your statement fails.

You use term "incoming label" and "outgoing lable" ... well in the new architectures there is no such things.

It is a "global label" or "path label" with adjacency information.

So to support legacy hardware new control plane has to make up from single label now two (identical) labels to pass it to data plane. Now also data plane must be smart to check that and program its state per your suggestion.

Why would we do that other then due to worry about legacy chipsets feared to be non compliant to new RFC ?

Many thx,

************* Email Confidentiality Notice ********************

The information contained in this e-mail message (including any

attachments) may be confidential, proprietary, privileged, or otherwise

exempt from disclosure under applicable laws. It is intended to be

conveyed only to the designated recipient(s). Any use, dissemination,

distribution, printing, retaining or copying of this e-mail (including its

attachments) by unintended recipient(s) is strictly prohibited and may

be unlawful. If you are not an intended recipient of this e-mail, or believe

that you have received this e-mail in error, please notify the sender

immediately (by replying to this e-mail), delete any and all copies of

this e-mail (including any attachments) from your system, and do not

disclose the content of this e-mail to any other person. Thank you!