Subject: [mpls] Comments on draft-ezy-mpls-1ton-protection-01

From: Gregory Mirsky <[email-masked]>
Date: Thu, 29 Mar 2012 03:35:10 -0400

Dear Authors, et al.,
Please kindly consider my comments to the document:
*       Section 1.2, second bullet. Is LER-A expecting to receive W1 from P after is sends PSC message to LER-Z?
*       Section 1.2, third bullet. I think that part of the last sentence doesn't correctly reflect LER-A to LER-Z flow of W1: "... LER-Z receives the W1 data traffic from P ...". I believe that LER-Z would not be receiving W1 until, as described in bullet #4, LER-A processes PSC reply from LER-Z. Perhaps the following can replace the text in question: "... LER-Z doesn't receive W1 data traffic ..." If the intention of the phrase in question is to indicate that LER-Z is prepared to receive W1 from P, then wording might be something like "... LER-Z is ready to receive the W1 data traffic from P if and when LER-A sends them ..."
*       Section 1.2 is not consistent with Section 3.3.1.2
*       Section 1.4 I think that in case of FIFO priority policy PSC must be used to guarantee deterministic switchover to protected path by analyzing MEP_ID and introduction of tie breaking rule(s), not to leave it to an operator.
*       Section 3.3.1.1 - uni-directional non-locking 1:n scenario - simultaneous detection in opposite directions.
*       Section 3.3.3.3, Figure 8. Not clear when and if LER-A and LER-Z remove W2 from P
*       Section 4.3.2, as mentioned in note above, protection at LER-A and LER-Z might be triggered by almost simulteneous failures of two working paths, e.g. W1 and W2 respectively, of the same priority. Thus FIFO should be used but since LER-A would protect W1 while LER-Z - W2 a tiebreaker should be used to avoid situation where both working paths would be partially locked out and protection would not be useful.

Some generalization question: "Can, and if "yes", is it worth it, 1:n be viewed as special case of Shared Mesh Protection?" Personally, I think that 1:n can be viewed as special case of SMP but optimization of operation for 1:n makes it not worth of applying generic SMP solution.

Thank you for your kind consideration.

        Regards,
                Greg

---

From: "Eric Osborne (eosborne)" <[email-masked]>
Date: Thu, 29 Mar 2012 04:00:45 -0500

Inline with EO#.  I've also read Yaacov's comments and agree with most
of tehm; we have some editorial cleanup to do, as you've indicated, and
will do so in the next rev of the draft.

> -----Original Message-----
> From: Gregory Mirsky [mailto:[email-masked]]
> Sent: Thursday, March 29, 2012 9:35 AM
> To: Eric Osborne (eosborne); [email-masked]; Yaacov Weingarten;
> [email-masked]
> Subject: Comments on draft-ezy-mpls-1ton-protection-01
> 
> Dear Authors, et al.,
> *	Section 1.2, second bullet. Is LER-A expecting to receive W1
from P
> after is sends PSC message to LER-Z?
> *	Section 1.2, third bullet. I think that part of the last
sentence
> doesn't correctly reflect LER-A to LER-Z flow of W1: "... LER-Z
receives the
> W1 data traffic from P ...". I believe that LER-Z would not be
receiving W1
> until, as described in bullet #4, LER-A processes PSC reply from
LER-Z.
> Perhaps the following can replace the text in question: "... LER-Z
doesn't
> receive W1 data traffic ..." If the intention of the phrase in
question is
> to indicate that LER-Z is prepared to receive W1 from P, then wording
> might be something like "... LER-Z is ready to receive the W1 data
traffic
> from P if and when LER-A sends them ..."
> *	Section 1.4 I think that in case of FIFO priority policy PSC
must be
> used to guarantee deterministic switchover to protected path by
analyzing
> MEP_ID and introduction of tie breaking rule(s), not to leave it to an
> operator.

EO#  Numerically sorting by MEP_ID may not be the best way to determine
priority.  Often the assignment of IDs (IP addrs, etc) comes from a
different NMS system than does the determining of LSP priority.  We are
simply saying that there must be a priority mechanism, and that since we
cannot signal priority, the exact mechanism is outside of the scope of
the protocol.

> *	Section 3.3.1.1 - uni-directional non-locking 1:n scenario -
> simultaneous detection in opposite directions.
> *	Section 4.3.2, as mentioned in note above, protection at LER-A
and
> LER-Z might be triggered by almost simulteneous failures of two
working
> paths, e.g. W1 and W2 respectively, of the same priority. Thus FIFO
should
> be used but since LER-A would protect W1 while LER-Z - W2 a tiebreaker
> should be used to avoid situation where both working paths would be
> partially locked out and protection would not be useful.

EO#  I would argue that one should not have LSPs of the "same priority".
There must be a tiebreaker that can handle all possible conflicts, no
matter what order or how many failures.  Once there is a deterministic
mechanism for all cases, it means that all LSPs are of different
priority.  

> 
> 
> Some generalization question: "Can, and if "yes", is it worth it, 1:n
be
> viewed as special case of Shared Mesh Protection?" Personally, I think
> that 1:n can be viewed as special case of SMP but optimization of
> operation for 1:n makes it not worth of applying generic SMP solution.
> 

EO#  The current SMP proposals (excepting the one from you and Dave) use
PSC between the protection endpoints (nodes A and Z) and add
communication within the protection endpoints (nodes B...Y) to
coordinate the sharing.  Nodes A and Z can use 1:n or 1:1, as they like;
how SMP handles the preemption is a separate matter.

eric

---

From: Gregory Mirsky <[email-masked]>
Date: Thu, 29 Mar 2012 05:29:58 -0400

Dear Eric,
I've snipped parts that we agree and in-lined my note tagged by GIM>> on tiebreaking of equal priority protection coordination.

	Regards,
		Greg 

[...]

EO#  Numerically sorting by MEP_ID may not be the best way to determine priority.  Often the assignment of IDs (IP addrs, etc) comes from a different NMS system than does the determining of LSP priority.  We are simply saying that there must be a priority mechanism, and that since we cannot signal priority, the exact mechanism is outside of the scope of the protocol.

GIM>> I thought of using MEP-ID and wrote my original comment before I finished reading the document to realize that MEP-ID is not being signaled. Missed to edit my comment properly.

[...]

EO#  I would argue that one should not have LSPs of the "same priority".
There must be a tiebreaker that can handle all possible conflicts, no matter what order or how many failures.  Once there is a deterministic mechanism for all cases, it means that all LSPs are of different priority.  

GIM>> Tiebreaking would be used only in case of simulteneous failure of two working paths of equal priority. Otherwise, equal priority would not preempt one that is already is using the protection path, i.e. FIFO will fully work in this case.

---

From: "Eric Osborne (eosborne)" <[email-masked]>
Date: Thu, 29 Mar 2012 06:38:02 -0500

priority.
> 
> GIM>> Tiebreaking would be used only in case of simulteneous failure
of
> two working paths of equal priority. Otherwise, equal priority would
not
> preempt one that is already is using the protection path, i.e. FIFO
will
> fully work in this case.

I think the behavior you describe is more about SMP than 1:n.  In 1:n
we'd always made the assumption that, in a given protection domain, only
a single W can be protected at a time.  To do otherwise (say, W1 and W2
using P) is not possible using PSC signaling since we can only indicate
a single LSP in the FPath field.  

Nothing precludes multiple protection domains from using the same
underlying link and/or same endpoints, but that's a network design
consideration.

eric

---

From: Maarten vissers <[email-masked]>
Date: Thu, 29 Mar 2012 11:42:33 +0000

Traditional tiebreaker (in use in e.g. 1:n MSP in SDH) is the Working connection identifier. 
Wi has higher priority than Wj (i>j).
With Protection connection being associated with identifier "0", Protection has always higher priority than any of the Working connections.

Regards,
Maarten

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Eric Osborne (eosborne)
Sent: donderdag 29 maart 2012 13:38
To: Gregory Mirsky; [email-masked]; Yaacov Weingarten; [email-masked]
Subject: Re: [mpls] Comments on draft-ezy-mpls-1ton-protection-01

priority.
of
not
will

eric
_______________________________________________
mpls mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/mpls

---

From: Gregory Mirsky <[email-masked]>
Date: Thu, 29 Mar 2012 07:51:05 -0400

Hi Eric,
Below is scenario that in my view would benefit from a tiebreaking rule. Would appreciate your consideration and feedback whether this is realistic and not breaking PSC:
- Assume that LSP P is not being used or used by working path of priority N;
- LER-A detects failure of working path Wi of priority M, where M > N, LER-A sends SF(1,0) to LER-Z listing Wi as Fpath;
- almost simulteneously, at least before it receives SF from LER-A, LER-Z detects failure of Wj that has priority M. LER-Z sends SF(1,0) listing Wj as Fpath;
- LER-Z receives SF(1,0) from LER-A and since Priority(Wi) == Priority(Wj) would not change to protecting Wi path;
- LER-A receives SF(1,0) from LER-Z and for the same reason would keep Wi as path to protect.
Is that sequence, scenario correct? Would LER-A and LER-Z converge on selecting one path they'd protect?

	Regards,
 		Greg

-----Original Message-----
From: Eric Osborne (eosborne) [mailto:[email-masked]] 
Sent: Thursday, March 29, 2012 4:38 AM
To: Gregory Mirsky; [email-masked]; Yaacov Weingarten; [email-masked]
Subject: RE: Comments on draft-ezy-mpls-1ton-protection-01

priority.
of
not
will
> fully work in this case.

I think the behavior you describe is more about SMP than 1:n.  In 1:n we'd always made the assumption that, in a given protection domain, only a single W can be protected at a time.  To do otherwise (say, W1 and W2 using P) is not possible using PSC signaling since we can only indicate a single LSP in the FPath field.  

Nothing precludes multiple protection domains from using the same underlying link and/or same endpoints, but that's a network design consideration.

eric

---

From: "Eric Osborne (eosborne)" <[email-masked]>
Date: Thu, 29 Mar 2012 07:11:02 -0500

Let me rewrite the messages a little bit in your example.  Rather than
SF(1,0), let's use SF(Wi,0) or Sf(Wj,0), where Wi and Wj are the LSPs in
question.  And let's also say that the priority of Wi > Wj, just as you
have done.

I also note that setting Path==0 means you're using locking mode.  This
is certainly a valid case, I just want to confirm that it's your
intention?

at t0, no failure.

at t1, 
  LER-A sends SF(Wi,0) to LER-Z
    AND
  LER-Z sends SF(Wj,0) to LER-Z

at t2, LER-A receives SF(Wj,0).  It ignores it, since it has already
decided that Wi needs the protect channel.

LER-Z also receives SF(Wi,0).  This is either exactly at t2, or at t3,
shortly after t2.

LER-Z knows a priori that Wi > Wj, so LER-Z treats this as a
unidirectional locking preemption case, as in section 3.3.3.2 of the
draft.  LER-Z responds to the SF(Wi,0) with NR(Wi,0).  This is what
3.3.3.2 describes as LER-A's behavior at t1.  

In this way, both LER-A and LER-Z converge on protecting Wi.  Since it
is locking, no transmission of packets takes place since neither side
had ACKd the other side's SF.

Does that reflect your question, and does it answer it?

eric

> Sent: Thursday, March 29, 2012 1:51 PM
> Below is scenario that in my view would benefit from a tiebreaking
rule.
> Would appreciate your consideration and feedback whether this is
realistic
> and not breaking PSC:
> - Assume that LSP P is not being used or used by working path of
priority
> N;
> - LER-A detects failure of working path Wi of priority M, where M > N,
> LER-A sends SF(1,0) to LER-Z listing Wi as Fpath;
> - almost simulteneously, at least before it receives SF from LER-A,
LER-Z
> detects failure of Wj that has priority M. LER-Z sends SF(1,0) listing
Wj
> as Fpath;
> - LER-Z receives SF(1,0) from LER-A and since Priority(Wi) ==
Priority(Wj)
> would not change to protecting Wi path;
> - LER-A receives SF(1,0) from LER-Z and for the same reason would keep
Wi
> as path to protect.
we'd
> always made the assumption that, in a given protection domain, only a
> single W can be protected at a time.  To do otherwise (say, W1 and W2
> using P) is not possible using PSC signaling since we can only
indicate a
> single LSP in the FPath field.
>

---

From: Gregory Mirsky <[email-masked]>
Date: Thu, 29 Mar 2012 08:20:46 -0400

Hi Eric,
I agree with your logic and that current document handles scenario you present (prioties of simulteneously failed paths are different) well. But I still am concerned with case when priorities of Wi and Wj are equal. If you think that it might present a problem, then I see two possible ways to address:
- disallow multiple LSPs being assigned equal priority (not the best way);
- define tiebreaking rule(s).

	Regards,
		Greg

-----Original Message-----
From: Eric Osborne (eosborne) [mailto:[email-masked]] 
Sent: Thursday, March 29, 2012 5:11 AM
To: Gregory Mirsky; [email-masked]; Yaacov Weingarten; [email-masked]
Subject: RE: Comments on draft-ezy-mpls-1ton-protection-01

Let me rewrite the messages a little bit in your example.  Rather than SF(1,0), let's use SF(Wi,0) or Sf(Wj,0), where Wi and Wj are the LSPs in question.  And let's also say that the priority of Wi > Wj, just as you have done.

I also note that setting Path==0 means you're using locking mode.  This is certainly a valid case, I just want to confirm that it's your intention?

at t0, no failure.

at t1,

at t2, LER-A receives SF(Wj,0).  It ignores it, since it has already decided that Wi needs the protect channel.

LER-Z also receives SF(Wi,0).  This is either exactly at t2, or at t3, shortly after t2.

LER-Z knows a priori that Wi > Wj, so LER-Z treats this as a unidirectional locking preemption case, as in section 3.3.3.2 of the draft.  LER-Z responds to the SF(Wi,0) with NR(Wi,0).  This is what
3.3.3.2 describes as LER-A's behavior at t1.  

In this way, both LER-A and LER-Z converge on protecting Wi.  Since it is locking, no transmission of packets takes place since neither side had ACKd the other side's SF.

eric

rule.
realistic
priority
LER-Z
Wj
Priority(Wj)
Wi
we'd
indicate a

---

From: "Eric Osborne (eosborne)" <[email-masked]>
Date: Thu, 29 Mar 2012 07:30:41 -0500

I still go back to my point that since only one W can ever use P, there
really is no such thing as 'equal priority'.  We must have a priority
scheme, whether it is the channel number in Fpath or whether it's some
other mechanism, so that we know that Wi always beats Wj no matter what
order the events occur in.

We had initially discussed leaving the exact priority scheme to the
protection endpoints, but I see now that that may not work well across
vendors. 

I think we have a few choices:

1) some sort of explicit priority field
2) define priority as the FPath value, lower is better (as Maarten
points out, this is the current practice in SDH).

Either one of these have costs to them.  

Doing #1 leaves us with a potential mismatch; if LER-A thinks W2 has
prio1 and LER-Z thinks W3 has prio1, sorting this out is messy, and in
locking mode means nobody is protected until both ends converge.  This
also makes things (potentially) very dynamic which is, I think, not what
we want in a protocol that has to converge in real time.

Doing #2 means that if I have W1...W5 already provisioned and I want to
add W3.1, I need to reprovision W4 and W5, which may be disruptive.  How
often does this sort of thing happen in transport networks?  Is it a
real problem?

eric

> Sent: Thursday, March 29, 2012 2:21 PM
> I agree with your logic and that current document handles scenario you
> present (prioties of simulteneously failed paths are different) well.
But
> I still am concerned with case when priorities of Wi and Wj are equal.
If
> you think that it might present a problem, then I see two possible
ways to
> address:
> I also note that setting Path==0 means you're using locking mode.
This is
> certainly a valid case, I just want to confirm that it's your
intention?
> In this way, both LER-A and LER-Z converge on protecting Wi.  Since it
is
> locking, no transmission of packets takes place since neither side had
> ACKd the other side's SF.
> 
> > Is that sequence, scenario correct? Would LER-A and LER-Z converge
on
> > selecting one path they'd protect?
> >
> > 	Regards,
> >  		Greg
> >

---

From: Maarten vissers <[email-masked]>
Date: Thu, 29 Mar 2012 12:54:01 +0000

1:n protection in a transport network at the path layer is not a very common protection switching application. This is due to the fact that 1:n protection requires n+1 diverse routed paths. How many of those diverse routed paths will be available in typical transport networks? Not many... very often two diverse routed paths is all you can get... and this is only truly guaranteed over time if the network domain is organized as separate A and a B networks. Otherwise maintenance on the network may result in temporary rerouting of virtual links, resulting in routing W and P connections over the same fiber, node or duct.

With n>2, separate networks can not be used and one has to find n+1 diverse routed paths through the network and guarantee that neither maintenance activities, nor network upgrades result in rerouting of the virtual links so that W and P connections pass through the same fiber, node or duct.

1:n protection has been used in SDH/SONET for SDH/SONET regenerator protection (1:7 and 1:11 systems, in early 90's) and for SDH line card protection (end of 90's).

Regards,
Maarten

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Eric Osborne (eosborne)
Sent: donderdag 29 maart 2012 14:31
To: Gregory Mirsky; [email-masked]; Yaacov Weingarten; [email-masked]
Subject: Re: [mpls] Comments on draft-ezy-mpls-1ton-protection-01

eric

But
If
ways to
This is
intention?
is
on

---

From: Gregory Mirsky <[email-masked]>
Date: Thu, 29 Mar 2012 08:58:52 -0400

Hi Eric,
I think that we're converging and agree that there's scenario that requires either explicit priority signaling or tiebreaking rule based on available information. Personally I prefer option #2. I think that paths can be indexed with some gaps so that, if need to be, new paths of the same priority can be added with lower indexes.

	Regards,
		Greg

-----Original Message-----
From: Eric Osborne (eosborne) [mailto:[email-masked]] 
Sent: Thursday, March 29, 2012 5:31 AM
To: Gregory Mirsky; [email-masked]; Yaacov Weingarten; [email-masked]
Subject: RE: Comments on draft-ezy-mpls-1ton-protection-01

I still go back to my point that since only one W can ever use P, there really is no such thing as 'equal priority'.  We must have a priority scheme, whether it is the channel number in Fpath or whether it's some other mechanism, so that we know that Wi always beats Wj no matter what order the events occur in.

We had initially discussed leaving the exact priority scheme to the protection endpoints, but I see now that that may not work well across vendors. 

1) some sort of explicit priority field
2) define priority as the FPath value, lower is better (as Maarten points out, this is the current practice in SDH).

Doing #1 leaves us with a potential mismatch; if LER-A thinks W2 has
prio1 and LER-Z thinks W3 has prio1, sorting this out is messy, and in locking mode means nobody is protected until both ends converge.  This also makes things (potentially) very dynamic which is, I think, not what we want in a protocol that has to converge in real time.

Doing #2 means that if I have W1...W5 already provisioned and I want to add W3.1, I need to reprovision W4 and W5, which may be disruptive.  How often does this sort of thing happen in transport networks?  Is it a real problem?

eric

But
If
ways to
This is
intention?
is
on

---

From: Maarten vissers <[email-masked]>
Date: Thu, 29 Mar 2012 13:05:44 +0000

Below is a copy of the equal priority text in G.873.1 (OTN linear protection):

8.10	Equal priority requests
In general, once a switch has been completed due to a request, it will not be overridden by another request of the same priority (first come, first served behaviour). When equal priority requests occur simultaneously, the conflict is resolved in favour of the request with the lowest entity number. In bidirectional switching, a request received over the APS channel with a lower entity number will always override an identical priority local request with a higher entity number. Equal priority requests for the same entity number from both sides of a bidirectional protection group are both considered valid, and equivalent to a received "RR" from a near-end processing standpoint.

Regards,
Maarten

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Maarten vissers
Sent: donderdag 29 maart 2012 14:54
To: Eric Osborne (eosborne); Gregory Mirsky; [email-masked]; Yaacov Weingarten; [email-masked]
Subject: Re: [mpls] Comments on draft-ezy-mpls-1ton-protection-01

Regards,
Maarten

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Eric Osborne (eosborne)
Sent: donderdag 29 maart 2012 14:31
To: Gregory Mirsky; [email-masked]; Yaacov Weingarten; [email-masked]
Subject: Re: [mpls] Comments on draft-ezy-mpls-1ton-protection-01

eric

But
If
ways to
This is
intention?
is
on