< draft-psarkar-rtgwg-rlfa-node-protection-03.txt   draft-psarkar-rtgwg-rlfa-node-protection-04.txt >
Routing Area Working Group P. Sarkar, Ed. Routing Area Working Group P. Sarkar, Ed.
Internet-Draft H. Gredler Internet-Draft H. Gredler
Intended status: Standards Track S. Hegde Intended status: Standards Track S. Hegde
Expires: June 23, 2014 H. Raghuveer Expires: October 10, 2014 H. Raghuveer
C. Bowers C. Bowers
Juniper Networks, Inc. Juniper Networks, Inc.
S. Litkowski S. Litkowski
Orange Orange
December 20, 2013 April 08, 2014
Remote-LFA Node Protection and Manageability Remote-LFA Node Protection and Manageability
draft-psarkar-rtgwg-rlfa-node-protection-03 draft-psarkar-rtgwg-rlfa-node-protection-04
Abstract Abstract
The loop-free alternates computed following the current Remote-LFA The loop-free alternates computed following the current Remote-LFA
[I-D.ietf-rtgwg-remote-lfa] specification gaurantees only link- [I-D.ietf-rtgwg-remote-lfa] specification gaurantees only link-
protection. The resulting Remote-LFA nexthops (also called PQ- protection. The resulting Remote-LFA nexthops (also called PQ-
nodes), may not gaurantee node-protection for all destinations being nodes), may not gaurantee node-protection for all destinations being
protected by it. protected by it.
This document describes procedures for determining if a given PQ-node This document describes procedures for determining if a given PQ-node
skipping to change at page 2, line 7 skipping to change at page 2, line 7
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 23, 2014. This Internet-Draft will expire on October 10, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 4, line 35 skipping to change at page 4, line 35
| R3 | S->E->R3 | R2 | S=>N=>R1=>R2->R3 | | R3 | S->E->R3 | R2 | S=>N=>R1=>R2->R3 |
| E | S->E | R2 | S=>N=>R1=>R2->R3->E | | E | S->E | R2 | S=>N=>R1=>R2->R3->E |
| D1 | S->E->D1 | R2 | S=>N=>R1=>R2->R3->E->D1 | | D1 | S->E->D1 | R2 | S=>N=>R1=>R2->R3->E->D1 |
| D2 | S->E->R3->D2 | R2 | S=>N=>R1=>R2->R3->D2 | | D2 | S->E->R3->D2 | R2 | S=>N=>R1=>R2->R3->D2 |
+-------------+--------------+---------+-------------------------+ +-------------+--------------+---------+-------------------------+
Table 1: Remote-LFA backup paths via PQ-node R2 Table 1: Remote-LFA backup paths via PQ-node R2
A closer look at Table 1 shows that, while the PQ-node R2 provides A closer look at Table 1 shows that, while the PQ-node R2 provides
link-protection for all the destinations, it does not provide node- link-protection for all the destinations, it does not provide node-
protection for destinations E and F. In the event of the node-failure protection for destinations E and D1. In the event of the node-
on primary nexthop E, the alternate path from Remote-LFA nexthop R2 failure on primary nexthop E, the alternate path from Remote-LFA
to E and D1 also becomes unavailable. So for a Remote-LFA nexthop to nexthop R2 to E and D1 also becomes unavailable. So for a Remote-LFA
provide node-protection for a given destination, it is mandatory nexthop to provide node-protection for a given destination, it is
that, the shortest path from the given PQ-node to the given mandatory that, the shortest path from the given PQ-node to the given
destination MUST not traverse the primary nexthop. destination MUST not traverse the primary nexthop.
In another extension of the topology in Figure 1 let us consider an In another extension of the topology in Figure 1 let us consider an
additional link between N and E. additional link between N and E.
D1 D1
/ /
S-x-E S-x-E
/ / \ / / \
N---+ R3--D2 N---+ R3--D2
skipping to change at page 5, line 35 skipping to change at page 5, line 35
| R3 | S->E->R3 | R3 | S=>N=>E=>R3 | | R3 | S->E->R3 | R3 | S=>N=>E=>R3 |
| E | S->E | R3 | S=>N=>E=>R3->E | | E | S->E | R3 | S=>N=>E=>R3->E |
| D1 | S->E->D1 | R3 | S=>N=>E=>R3->E->D1 | | D1 | S->E->D1 | R3 | S=>N=>E=>R3->E->D1 |
| D2 | S->E->D1 | R3 | S=>N=>E=>R3->D2 | | D2 | S->E->D1 | R3 | S=>N=>E=>R3->D2 |
+-------------+--------------+---------+------------------------+ +-------------+--------------+---------+------------------------+
Table 2: Remote-LFA backup paths via PQ-node R3 Table 2: Remote-LFA backup paths via PQ-node R3
Again a closer look at Table 2 shows that, unlike Table 1, where the Again a closer look at Table 2 shows that, unlike Table 1, where the
single PQ-node R2 provided node-protection, for destinations R3 and single PQ-node R2 provided node-protection, for destinations R3 and
G, if we choose R3 as the R-LFA nexthop, it does not provide node- D1, if we choose R3 as the R-LFA nexthop, it does not provide node-
protection for R3 and D1 anymore. If S chooses R3 as the R-LFA protection for R3 and D1 anymore. If S chooses R3 as the R-LFA
nexthop, in the event of the node-failure on primary nexthop E, the nexthop, in the event of the node-failure on primary nexthop E, the
alternate path from S to R-LFA nexthop R3 also becomes unavailable. alternate path from S to R-LFA nexthop R3 also becomes unavailable.
So for a Remote-LFA nexthop to provide node-protection for a given So for a Remote-LFA nexthop to provide node-protection for a given
destination, it is also mandatory that, the shortest path from S to destination, it is also mandatory that, the shortest path from S to
the chosen PQ-node MUST not traverse the primary nexthop node. the chosen PQ-node MUST not traverse the primary nexthop node.
2.2. Few Additional Definitions 2.2. Few Additional Definitions
This document adds and enhances the following definitions extending This document adds and enhances the following definitions extending
skipping to change at page 6, line 15 skipping to change at page 6, line 15
S-E link on any of the shortest path from the direct neighbor to the S-E link on any of the shortest path from the direct neighbor to the
router. This MUST exclude any direct neighbor for which there is router. This MUST exclude any direct neighbor for which there is
atleast one ECMP path from the direct neighbor traversing the atleast one ECMP path from the direct neighbor traversing the
link(S-E) being protected. link(S-E) being protected.
A node Y is in link-protecting extended P-space w.r.t to the link A node Y is in link-protecting extended P-space w.r.t to the link
(S-E) being protected, if and only if, there exists atleast one (S-E) being protected, if and only if, there exists atleast one
direct neighbor of S, Ni, other than primary nexthop E, that direct neighbor of S, Ni, other than primary nexthop E, that
satisfies the following condition. satisfies the following condition.
D_opt(Ni,Y) < D_opt(Ni,S) + D_opt(S,E) + D_opt(E,Y) D_opt(Ni,Y) < D_opt(Ni,S) + D_opt(S,Y)
Where, Where,
D_opt(A,B) : Distance on most optimum path from A to B. D_opt(A,B) : Distance on most optimum path from A to B.
E : The primary nexthop on shortest path from S
to destination.
Ni : A direct neighbor of S other than primary Ni : A direct neighbor of S other than primary
nexthop E. nexthop E.
Y : The node being evaluated for link-protecting Y : The node being evaluated for link-protecting
extended P-Space. extended P-Space.
Figure 3: Link-Protecting Ext-P-Space Condition Figure 3: Link-Protecting Ext-P-Space Condition
2.2.2. Node-Protecting Extended P-Space 2.2.2. Node-Protecting Extended P-Space
The node-protecting extended P-space for a primary nexthop node E The node-protecting extended P-space for a primary nexthop node E
skipping to change at page 7, line 20 skipping to change at page 7, line 20
to destination. to destination.
Ni : A direct neighbor of S other than primary Ni : A direct neighbor of S other than primary
nexthop E. nexthop E.
Y : The node being evaluated for node-protecting Y : The node being evaluated for node-protecting
extended P-Space. extended P-Space.
Figure 4: Node-Protecting Ext-P-Space Condition Figure 4: Node-Protecting Ext-P-Space Condition
It must be noted that a node Y satisfying the condition in Figure 4 It must be noted that a node Y satisfying the condition in Figure 4
above only guarantees that the R-LFA alternate path segment from S above only guarantees that the R-LFA alternate path segment from S
via direct neighbor Ni to the PQ-node Y is not affected in the event via direct neighbor Ni to the node Y is not affected in the event of
of a node failure of E. It does not yet guarantee that the path a node failure of E. It does not yet guarantee that the path segment
segment from PQ-node Y to the destination is also unaffected by the from node Y to the destination is also unaffected by the same failure
same failure event. event.
2.2.3. Q-Space 2.2.3. Q-Space
The Remote-LFA [I-D.ietf-rtgwg-remote-lfa] draft already defines The Remote-LFA [I-D.ietf-rtgwg-remote-lfa] draft already defines
this. The Q-space for a link S-E being protected is the set of this. The Q-space for a link S-E being protected is the set of
routers that can reach primary node E, without traversing the S-E routers that can reach primary node E, without traversing the S-E
link on any of the shortest path from the node Y to primary nexthop link on any of the shortest path from the node Y to primary nexthop
E. This MUST exclude any destination for which there is atleast one E. This MUST exclude any destination for which there is atleast one
ECMP path from the node Y to the primary nexthop E traversing the ECMP path from the node Y to the primary nexthop E traversing the
link(S-E) being protected. link(S-E) being protected.
skipping to change at page 9, line 7 skipping to change at page 9, line 7
To choose a node-protecting R-LFA nexthop for a destination R3, To choose a node-protecting R-LFA nexthop for a destination R3,
router S needs to consider a PQ-node from the candidate node- router S needs to consider a PQ-node from the candidate node-
protecting PQ-space for the primary nexthop E on shortest path from S protecting PQ-space for the primary nexthop E on shortest path from S
to R3. As mentioned in Section 2.2.2, to consider a PQ-node as to R3. As mentioned in Section 2.2.2, to consider a PQ-node as
candidate node-protecting PQ-node, there must be atleast one direct candidate node-protecting PQ-node, there must be atleast one direct
neighbor Ni of S, such that all shortest paths from Ni to the PQ-node neighbor Ni of S, such that all shortest paths from Ni to the PQ-node
does not traverse primary nexthop node E. does not traverse primary nexthop node E.
Implementations should run the inequality in Section 2.2.2 Figure 4 Implementations should run the inequality in Section 2.2.2 Figure 4
for all direct neighbor, other than primary nexthop node E, to for all direct neighbor, other than primary nexthop node E, to
determine whether a PQ-node Y is also a candidate node-protecting PQ- determine whether a node Y is a candidate node-protecting PQ-node.
node. All of the metrics needed by this inequality would have been All of the metrics needed by this inequality would have been already
already collected from the forward SPFs rooted at each of direct collected from the forward SPFs rooted at each of direct neighbor S,
neighbor S, computed as part of standard LFA [RFC5286] computed as part of standard LFA [RFC5286] implementation. With
implementation. With reference to the topology in Figure 2, Table 3 reference to the topology in Figure 2, Table 3 below shows how the
below shows how the above condition can be used to determine the above condition can be used to determine the candidate node-
candidate node-protecting PQ-space for S-E link (primary nexthop E) protecting PQ-space for S-E link (primary nexthop E)
+----------+----------+----------+-----------+----------+-----------+ +------------+----------+----------+----------+---------+-----------+
| PQ-node | Direct | D_opt | D_opt | D_opt | Condition | | Candidate | Direct | D_opt | D_opt | D_opt | Condition |
| (Y) | Nbr (Ni) | (Ni,Y) | (Ni,E) | (E,Y) | Met | | PQ-node | Nbr (Ni) | (Ni,Y) | (Ni,E) | (E,Y) | Met |
+----------+----------+----------+-----------+----------+-----------+ | (Y) | | | | | |
| R2 | N | 2 (N,R2) | 1 (N,E) | 2 (E,R2) | Yes | +------------+----------+----------+----------+---------+-----------+
| R3 | N | 2 (N,R3) | 1 (N,E) | 1 (E,R3) | No | | R2 | N | 2 (N,R2) | 1 (N,E) | 2 | Yes |
+----------+----------+----------+-----------+----------+-----------+ | | | | | (E,R2) | |
| R3 | N | 2 (N,R3) | 1 (N,E) | 1 | No |
| | | | | (E,R3) | |
+------------+----------+----------+----------+---------+-----------+
Table 3: Node-protection evaluation for R-LFA repair tunnel to PQ- Table 3: Node-protection evaluation for R-LFA repair tunnel to PQ-
node node
As seen in the above Table 3 , R3 does not meet the node-protecting As seen in the above Table 3 , R3 does not meet the node-protecting
extended-p-space inequality And so, while R2 is in candidate node- extended-p-space inequality And so, while R2 is in candidate node-
protecting PQ space, R3 is not. protecting PQ space, R3 is not.
Some SPF implementations may also produce a list of links and nodes Some SPF implementations may also produce a list of links and nodes
traversed on the shortest path(s) from a given root to others. In traversed on the shortest path(s) from a given root to others. In
such implementations, router S may have executed a forward SPF with such implementations, router S may have executed a forward SPF with
each of it's direct neighbors as the SPF root, executed as part of each of it's direct neighbors as the SPF root, executed as part of
the standard LFA [RFC5286] computations. So S may re-use the list of the standard LFA [RFC5286] computations. So S may re-use the list of
links and nodes collected from the same SPF computations, to decide links and nodes collected from the same SPF computations, to decide
whether a PQ-node Y is a candidate node-protecting PQ-node or not. A whether a node Y is a candidate node-protecting PQ-node or not. A
PQ-node Y shall be considered as a node-protecting, if and only if, node Y shall be considered as a node-protecting PQ-node, if and only
there is atleast one direct neighbor of S, other than the primary if, there is atleast one direct neighbor of S, other than the primary
nexthop E, for which, the primary nexthop node E does not exist on nexthop E, for which, the primary nexthop node E does not exist on
the list of nodes traversed on any of the shortest path(s) from the the list of nodes traversed on any of the shortest path(s) from the
direct neighbor to the PQ-node. Table 4 below is an illustration of direct neighbor to the PQ-node. Table 4 below is an illustration of
the mechanism with the topology in Figure 2. the mechanism with the topology in Figure 2.
+---------+---------------------+-----------------+-----------------+ +-----------+-------------------+-----------------+-----------------+
| PQ-node | Repair Tunnel | Link-Protection | Node-Protection | | Candidate | Repair Tunnel | Link-Protection | Node-Protection |
| | Path(Repairing | | | | PQ-node | Path(Repairing | | |
| | router to PQ-node) | | | | | router to PQ- | | |
+---------+---------------------+-----------------+-----------------+ | | node) | | |
| R2 | S->N->R1->R2 | Yes | Yes | +-----------+-------------------+-----------------+-----------------+
| R2 | S->E->R3->R2 | No | No | | R2 | S->N->R1->R2 | Yes | Yes |
| R3 | S->N->E->R3 | Yes | No | | R2 | S->E->R3->R2 | No | No |
+---------+---------------------+-----------------+-----------------+ | R3 | S->N->E->R3 | Yes | No |
+-----------+-------------------+-----------------+-----------------+
Table 4: Protection of Remote-LFA tunnel to the PQ-node Table 4: Protection of Remote-LFA tunnel to the PQ-node
As seen in the above Table 4 while R2 is candidate node-protecting As seen in the above Table 4 while R2 is candidate node-protecting
Remote-LFA nexthop for R3 and G, it is not so for E and F, since the Remote-LFA nexthop for R3 and D2, it is not so for E and D1, since
primary nexthop E is in the shortest path from R2 to E and F. the primary nexthop E is in the shortest path from R2 to E and F.
2.3.2. Computing node-protecting paths from PQ-nodes to destinations 2.3.2. Computing node-protecting paths from PQ-nodes to destinations
Once a computing router finds all the candidate node-protecting PQ- Once a computing router finds all the candidate node-protecting PQ-
nodes for a given directly attached primary link, it shall follow the nodes for a given directly attached primary link, it shall follow the
procedure in proposed in this section, to choose one or more node- procedure in proposed in this section, to choose one or more node-
protecting R-LFA paths, for destinations reachable through the same protecting R-LFA paths, for destinations reachable through the same
primary link in the primary SPF graph. primary link in the primary SPF graph.
To find a node-protecting R-LFA path for a given destination, the To find a node-protecting R-LFA path for a given destination, the
skipping to change at page 10, line 43 skipping to change at page 10, line 44
destination remain unaffected in the event of a node failure of destination remain unaffected in the event of a node failure of
primary nexthop node. To ensure this, the computing router will need primary nexthop node. To ensure this, the computing router will need
to ensure that, the primary nexthop node should not be on any of the to ensure that, the primary nexthop node should not be on any of the
shortest paths from the PQ-node to the given destination. shortest paths from the PQ-node to the given destination.
This document proposes an additional forward SPF computation for each This document proposes an additional forward SPF computation for each
of the PQ-nodes, to discover all shortest paths from the PQ-nodes to of the PQ-nodes, to discover all shortest paths from the PQ-nodes to
the destination. The additional forward SPF computation for each PQ- the destination. The additional forward SPF computation for each PQ-
node, shall help determine, if a given primary nexthop node is on the node, shall help determine, if a given primary nexthop node is on the
shortest paths from the PQ-node to the given destination or not. To shortest paths from the PQ-node to the given destination or not. To
determine if a given PQ-node provides node-protecting alternate for a determine if a given candidate node-protecting PQ-node provides node-
given destination, the primary nexthop node should not be on any of protecting alternate for a given destination, the primary nexthop
the shortest paths from the PQ-node to the given destination. After node should not be on any of the shortest paths from the PQ-node to
running the forward SPF on a PQ-node (from the node-protecting PQ- the given destination. On running the forward SPF on a candidate
space) the computing router shall run the inequality in Figure 6 node-protecting PQ-node the computing router shall run the inequality
below. PQ-nodes that does not qualify the condition for a given in Figure 6 below. PQ-nodes that does not qualify the condition for
destination, does not gaurantee node-protection for the path segment a given destination, does not gaurantee node-protection for the path
from the PQ-node to the given destination. segment from the PQ-node to the given destination.
D_opt(Y,D) < D_opt(Y,E) + Distance_opt(E,D) D_opt(Y,D) < D_opt(Y,E) + Distance_opt(E,D)
Where, Where,
D_opt(A,B) : Distance on most optimum path from A to B. D_opt(A,B) : Distance on most optimum path from A to B.
D : The destination node. D : The destination node.
E : The primary nexthop on shortest path from S E : The primary nexthop on shortest path from S
to destination. to destination.
Y : The node-protecting PQ-node being evaluated Y : The node-protecting PQ-node being evaluated
 End of changes. 16 change blocks. 
54 lines changed or deleted 56 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/