Re: [CCAMP] OVRLY - signaling extensions

"Gabriele Maria Galimberti (ggalimbe)" <> Mon, 17 March 2014 10:35 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 0B5AB1A03C7 for <>; Mon, 17 Mar 2014 03:35:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.746
X-Spam-Status: No, score=-14.746 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.547, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, WEIRD_PORT=0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 7dhLUy1fJ7tV for <>; Mon, 17 Mar 2014 03:35:40 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id B05321A03CC for <>; Mon, 17 Mar 2014 03:35:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=110923; q=dns/txt; s=iport; t=1395052532; x=1396262132; h=from:to:cc:subject:date:message-id:in-reply-to: mime-version; bh=+Wxm/XhqC8UzpqujRJT7//glqaKvwSuVEdiDd7J2Ttc=; b=bLmPugFh/YC1hSLSVPiJsPCIo1bxnlx3VnjL9BCb78Ug4MhOobod1q5q kApAGwUk1OscP+SkWCs2fWUc/NswTJ3TE0P7LEJO70u0rdQM1lqzY0jgo s6zC5JJey+OW4hH3+pUK6Ksslviv2LbyQwFHeXvHeo69JSthUhkyZ2+w+ E=;
X-Files: 273031C1-0F11-4D42-9226-D16B7CB14162[6].png : 1632
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos; i="4.97,669,1389744000"; d="png'150?scan'150,208,217,150"; a="310780908"
Received: from ([]) by with ESMTP; 17 Mar 2014 10:35:31 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id s2HAZU3l004052 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Mon, 17 Mar 2014 10:35:30 GMT
Received: from ([]) by ([]) with mapi id 14.03.0123.003; Mon, 17 Mar 2014 05:35:30 -0500
From: "Gabriele Maria Galimberti (ggalimbe)" <>
To: "Zhangxian (Xian)" <>, John E Drake <>, =?utf-8?B?UGF3ZcWCIEJyem96b3dza2k=?= <>, "" <>
Thread-Topic: [CCAMP] OVRLY - signaling extensions
Date: Mon, 17 Mar 2014 10:35:30 +0000
Message-ID: <>
In-Reply-To: <>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: yes
user-agent: Microsoft-MacOutlook/
x-originating-ip: []
Content-Type: multipart/related; boundary="_004_CF4C8DFF5AE0Bggalimbeciscocom_"; type="multipart/alternative"
MIME-Version: 1.0
Cc: 'CCAMP' <>
Subject: Re: [CCAMP] OVRLY - signaling extensions
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Discussion list for the CCAMP working group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 17 Mar 2014 10:35:46 -0000

Correct Xian,

But You are using a different technology (centralised vs. distributed).
What if I don't want to used the PCE and I want to rely on GMPLS also for the Restoration ?



Gabriele Galimberti
Technical Leader
Cisco Photonics Srl

Via Philips, 12
20900 - Monza (MI)
Phone :+39 039 2091462
Mobile :+39 335 7481947
Fax :+39 039 2092049

From: Xian Zhang <<>>
Date: Monday, March 17, 2014 8:40 AM
To: John Drake <<>>, Paweł Brzozowski <<>>, "<>" <<>>
Cc: 'CCAMP' <<>>
Subject: Re: [CCAMP] OVRLY - signaling extensions

Hi, John,

Just one comment to what you describe below. To meet the functionality you mentioned below, have you ever thought of using PCE/PCEP?

To be more specific, A CE (or EN in UNI context), which wishes to set up N diversified LSPs, sends a path request to PCE asking for diversified path (where is the PCE is not the key point here, but if you think it matters, we can discuss). Once it gets reply (each including ingress and egress PEs info, with/without path-key), it then starting the signaling procedure separately for each LSP setup.


From: CCAMP [] On Behalf Of John E Drake
Sent: 2014年3月12日 1:35
To: Paweł Brzozowski;<>
Subject: Re: [CCAMP] OVRLY - signaling extensions


I’m not sure if people understood what I was proposing in my original note on Suurballe:

“If we want to get N node disjoint paths across, I think we need to define a new service in which the ingress CE sends the ingress PE a request containing a destination (egress) CE, the number of disjoint paths N, and a list of its attachment circuits to be considered in the request.  What it receives in exchange is a list of [attachment circuit, path keys] which it then can include in a set of Path messages that it sends to the provider network.”

I.e., the procedures between ingress CE and ingress PE for the new service would *precede* the sending of any Path message across any UNI.  Also, the attachment circuits may be between the ingress CE and two or more ingress PEs; they are *not* just between the ingress CE and the ingress PE to which it send its request for disjoint paths.  Further, when the ingress CE sends the Path message for a particular [attachment circuit, path keys] tuple, it sends it across the UNI to the ingress PE at the other end of the specified attachment circuit.  (It is assumed that as part of these new service procedures the egress CE is also queried for a list of its attachment circuits.  This was one of the uses for which RFC 4974 was designed.)

Yours Irrespectively,


From: CCAMP [] On Behalf Of Pawel Brzozowski
Sent: Tuesday, March 11, 2014 8:59 AM
Subject: Re: [CCAMP] OVRLY - signaling extensions


Thanks for the throughout explanation. Appreciate it. You wrote:

“Firstly, establishing a pair of mutually diverse paths by first setting up one and then trying to set up the other is at best a poor substitute for selecting two good paths.”

I couldn’t agree more. The reason I asked is because CCAMP is recently having a plethora of proposals for achieving LSP diversity, none of which talks about PCEP/TE visibility on the UNI boundary. As many have noticed, these proposals are fundamentally flawed. While I understand there is room for them, especially in the legacy deployments, it seems rather scary that these are the only diversity proposals pursued by CCAMP at the moment. What makes it even scarier is that authors of these proposals seem to belittle the implications of foregoing use of PCEP/TE visibility for achieving diversity. I allowed myself to summarize them below.


1.       As John has noticed, since algorithms are greedy, it is possible to find a pair of diverse paths if they are computed together as opposed to computed sequentially. Also when computing paths simultaneously it is likely to come with a lower combined cost of paths.

2.       As Rajan and Fatai have noticed, since there is no TE visibility over UNI, multi-homed UNI-Cs have really no way of telling which UNI-N to go. Hence they have to try them one-by-one until they get a working path, which implies crankback architecture.

Example – draft-zhang-ccamp-gmpls-uni-app-05 Figure 1

EN1 sets up an LSP1 EN1-CN1-CN2-CN3-EN3

EN2 wants an LSP2 to EN4 that is link-disjoint from the first LSP.

In the figure there are two link-disjoint paths from path of LSP1:
EN2-CN1-CN4-CN5-EN4  and EN2-CN4-CN5-EN4. Sadly, since EN2 has no knowledge of network’s topology, it has to choose one of ENXes’ it’s connected to and wish for the best. Depending on the network topology and resource usage, ENX can either deliver a link-disjoint path or not. If it does not, we have a crankback.

3.       Even if UNI-N chosen by UNI-C delivers disjoint path, there is no guarantee, that this path is the optimal to be found. It could be that if UNI-C chose other UNI-N, path would have been more optimal.

Example – draft-zhang-ccamp-gmpls-uni-app-05 Figure 1

EN1 sets up an LSP1 EN1-CN1-CN2-CN3-EN3

EN2 wants an LSP2 to EN4 that is link-disjoint from the first LSP.

                Using some tiebreakerEN2 decides to signal setup to CN1 and not to CN4, following path is set up:  EN2-CN1-CN4-CN5-EN4 . If CN4 was asked, more optimal path would have been used: EN2-CN4-CN5-EN4.

4.       Likelihood of crankbacks increases when there are multiple links between UNI-C and UNI-N and UNI-N is a blocking switch.

                There are 3 access links between UNI-C and UNI-N: link1, link2 and link3. Since there are switching constraints on UNI-N, diverse path can only be supplied via link2. If UNI-C chooses link1 in signalling, we have a crankback.

From: Adrian Farrel []
Sent: Monday, March 10, 2014 4:48 PM
To: Paweł Brzozowski
Subject: RE: [CCAMP] OVRLY - signaling extensions

Hello Paweł,

OK draft-zhang-ccamp-gmpls-uni-app-05 Figure 1

Firstly, establishing a pair of mutually diverse paths by first setting up one and then trying to set up the other is at best a poor substitute for selecting two good paths.

But, let's assume you want to do it for some reason.

EN1 sets up an LSP EN1-CN1-CN2-CN3-EN3
EN2 wants an LSP to EN4 that is completely disjoint from the first LSP.

Of course, there has to be some (magic) exchange of information from EN1 to EN2, but let's also assume that this happens (although I believe the reason for doing it is suspect!)

Suppose EN1 reports the path as {EN1, CN1, keyX, EN3}
Suppose also that EN2 has no access to a PCE.
EN2 does the computation it can which is to choose CN1 or CN4. It will not choose CN1 as that is in the path it is trying to avoid.
So EN2 signals {EN2, CN4, looseEN4} with  Not keyX
The Path message reaches CN4 and it looks for the next hop. It's loose so a path computation is needed.
CN4 sees the Not keyX and contacts the PCE for the core (or CN1) to expand the key.
The expansion shows {CN2, CN3}
So CN4 can now compute the path CN4-CN5-EN4 and signal as necessary.

[note: computations can be offloaded as desired]

Thus, yes, "avoid all links from EN2 to CN1". But I prefer "avoid all nodes CN1" because that is really what you are doing.


From: Paweł Brzozowski []
Sent: 10 March 2014 01:07
To:<>; 'Rajan Rao'; 'Fatai Zhang'; 'Dieter Beller'
Subject: RE: [CCAMP] OVRLY - signaling extensions


If EN1 can ask PCE – I agree, there is no need for crankback. Do you think that using pathkey as exclusion when there is no PCEP/TE visibility on the UNI boundary is worth considering? If so, could you walk me through such a case? Let’s take figure 1 from the document as an example.

1.       EN1 sets up a service A to EN3 via CN1.

2.       EN2 wants to set up a service B to EN4, which is both node and link-disjoint from path of service A. It will use pathkey exclusion for this purpose.

If I understand “Path key is used in conjunction with the identity of the domain entry point, not in isolation” statement correctly, in order to avoid choosing wrong path for service B, EN2 should add TWO exclusions:
CN1 (or all links from EN2 to CN1) AND pathkey from service A. Is this correct?


From: CCAMP [] On Behalf Of Adrian Farrel
Sent: Sunday, March 09, 2014 4:26 PM
To: 'Rajan Rao'; 'Fatai Zhang'; 'Dieter Beller'
Subject: Re: [CCAMP] OVRLY - signaling extensions


[co-author of draft-zhang-ccamp-gmpls-uni-app wakes from his slumber]

Of course crankback can be used, but I fail to see the topology where the path key doesn't do the job.

You referenced Figure 2 as an example. Unfortunately, you then used "CE" and "PE" in your question. Yet those terms are not used in the figure so we are left guessing what you mean.

It is possible that there is a slight confusion. Path key is used in conjunction with the identity of the domain entry point, not in isolation. Furthermore, it is used in conjunction with two points of reference to the PCE.

Let's look again at that figure
Let's suppose that EN1 (which is dual homed) asks the PCE for a path.
Let's also assume that core path hiding is being used.
Furthermore, the single PCE can see the ENs and the core network.
The PCRsp includes an ERO that is {EN1, CN4, pathkey, EN2}
This gives EN1 everything it needs to know.
When the signaling message reaches CN4, it must expand the pathkey.
Thus CN4 must contact the PCE for help and gets in return the path {CN4, CN5, CN2, CN3, EN2}

It may help if you re-read some RFCs: 5520, 5553, 5623, 6805.

If, at the end of this, you feel that the use of the path key is not clear, this is something you could work with us to add to draft-ietf-pce-questions


From: CCAMP [] On Behalf Of Rajan Rao
Sent: 08 March 2014 08:12
To: Fatai Zhang; Dieter Beller
Subject: Re: [CCAMP] OVRLY - signaling extensions

My understanding is that a “Cookie” is a network-Id/path-id.  It won’t give info CE is looking for.   What I understood from side discussions is that Crankback will be used to convey info back to CE!!


From: Fatai Zhang []
Sent: Saturday, March 08, 2014 12:34 AM
To: Rajan Rao; Dieter Beller
Subject: 答复: OVRLY - signaling extensions

Hi Rajan,

I would say “by cookie” if I understand your question correctly.



发件人: Rajan Rao []
发送时间: 2014年3月7日 1:33
收件人: Fatai Zhang; Dieter Beller
主题: OVRLY - signaling extensions

Changed the title to Overlay topic.

Dieter,  Fatai

One more question:

In case of PCE,  I assume CE is the one talking to PCE (fig-2 in uni-app draft).
In cases where CE reachability is not known & PE1 is the one talking to PCE (say CE makes a request to PE1 first),  how do you communicate PE2 info back to CE?


From: Fatai Zhang []
Sent: Thursday, March 06, 2014 4:49 PM
To: Dieter Beller; Rajan Rao
Subject: 答复: [CCAMP] Raw notes available for review/comment

Hi Rajan,

I think your question is a general question, and should be out of scope of “LSP diversity” topic, ☺

However, there are lots of approaches for CE to know why “PE1” should be picked up besides the way mentioned by Dieter below, e.g, qualified TE information (besides reachability) known by CE, manual configuration, or PCE can help as described in draft-zhang-ccamp-gmpls-uni-app<>xt>.



发件人: CCAMP [] 代表 Dieter Beller
发送时间: 2014年3月7日 0:15
收件人: Rajan Rao
主题: Re: [CCAMP] Raw notes available for review/comment

Hi Rao,
On 06.03.2014 17:01, Rajan Rao wrote:

Authors of 'lsp-diversity',  'uni-extensions' & 'route-exclusion-pathkey'

My question on your uses cases was the following:

How does CE know which PE to talk to for the first LSP setup?  What is the assumption?
assuming that the CE does not have any information other than the destination CE is reachable via
both PEs , it will just pick one arbitrarily.


Thx Lou for session notes.



-----Original Message-----

From: CCAMP [] On Behalf Of Lou Berger

Sent: Thursday, March 06, 2014 1:30 PM


Subject: [CCAMP] Raw notes available for review/comment


        Please take a look at the raw minutes in etherpad (link below) and correct as you see fit.  Note these are *unreviewed/raw* notes.

Much thanks,


Link -


CCAMP mailing list<>


CCAMP mailing list<>