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

From: Alexander Vainshtein <[email-masked]>
Date: Fri, 24 Jul 2015 08:31:10 +0000

Andrew,

Inline below.

Thumb typed on my LG,
Sasha

------ Original message ------
From: Andrew Qu
Date: 24/07/2015 11:07
To: Alexander Vainshtein;Robert Raszuk;Shahram Davari;
Cc: [email-masked];
Subject:RE: [mpls] draft-fang-mpls-label-forwarding-no-swap - how much does it really save?

Hi Sasha,

My comments in lines…

From: mpls [mailto:[email-masked]] On Behalf Of Alexander Vainshtein
Sent: Friday, July 24, 2015 7:26 AM
To: Robert Raszuk; Shahram Davari
Cc: [email-masked]
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).

[[Sasha]] SPRING is supposed to work over IPv6 DP as well.

CONTINUE over this DP simply means retaining the same extension header and forwarding according to nirmal IPv6 processing,

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

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

[[ Sasha]]Because the draft in question explicitly defines that CONTINUE is implemented as SWAP? The SPRING drafts mention that it could be SWAP to the same label, but no more than that. They do NOT require NO-SWAP anywhere.

Considering that I might

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

[[Sasha]]As alreadyvdiscussed on this thread, this is a local implementation matter that does not require any standartization.

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?

[[Sasha]] If you ask me the answer is NO. The real question an ASIC engineer should ask is, IMHO:

"Do I have to support SWAP, or could I restrict myself to just NO-SWAP"?

From my POV the answer is obvious: you cannot restrict your design to just NO-SWAP.

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.

Thanks,

Andrew

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,
Sasha

------ Original message ------
From: Robert Raszuk
Date: 24/07/2015 00:22
To: Shahram Davari;
Cc: [email-masked]<mailto:[email-masked]>;
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.

Ref: https://goo.gl/3oxRbl

Thx,
R.

On Thu, Jul 23, 2015 at 11:16 PM, Shahram Davari  <[email-masked]<mailto:[email-masked]>> wrote:
Robert,

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.

Thx
Shahram

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

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.

Regards,
R.

On Thu, Jul 23, 2015 at 11:07 PM, Shahram Davari <[email-masked]<mailto:[email-masked]>> wrote:
Hi Robert,

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

Thanks
Shahram

From: [email-masked]<mailto:[email-masked]> [mailto:[email-masked]<mailto:[email-masked]>] On Behalf Of Robert Raszuk
Sent: Thursday, July 23, 2015 12:58 PM
To: Eric C Rosen
Cc: Shahram Davari; [email-masked]<mailto:[email-masked]>; [email-masked]<mailto:[email-masked]>
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,
R.

************* 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!

---

From: Andrew Qu <[email-masked]>
Date: Fri, 24 Jul 2015 09:13:56 +0000

Sasha,

My comments are in lines

From: Alexander Vainshtein [mailto:[email-masked]]
Sent: Friday, July 24, 2015 10:31 AM
To: Andrew Qu; Robert Raszuk; Shahram Davari
Cc: [email-masked]
Subject: Re: [mpls] draft-fang-mpls-label-forwarding-no-swap - how much does it really save?

Andrew,

Inline below.

Thumb typed on my LG,
Sasha

------ Original message ------
From: Andrew Qu
Date: 24/07/2015 11:07
To: Alexander Vainshtein;Robert Raszuk;Shahram Davari;
Cc: [email-masked]<mailto:[email-masked]>;

My comments in lines…

Cc: [email-masked]<mailto:[email-masked]>

Hi all,

[Andrew] it does not matter,  by saying 1) , claiming 2) is not necessary.

Now that  you did 2) as fact,  then why adding    “NO_SWAP” is so bad?

[[ Sasha]]Because the draft in question explicitly defines that CONTINUE is implemented as SWAP?

The SPRING drafts mention that it could be SWAP to the same label, but no more than that. They do NOT require NO-SWAP anywhere.

[Andrew] again,  MOST important is that SR introduce “CONTINUE” as concept.  Whoever

                Read the doc,  NO_OP is natural impression.  SWAP with same value is “HACKING” not the solution to me.

                I am surprised that in MPLS DP,  NO_SWAP is inferior to SWAP from concept point of view.

Considering that I might

[Andrew] Why  you think SWAP is NOT local implementation but NO_SWAP IS ? as I don’t understand why we MUST NOT

                Avoid mentioning both “SWAP and NO_SWAP for CONTINUE for user to chose.

Cheers! and thanks for the comments

Andrew