Hi Stewart/Alvaro,
It maybe a very late, but I wanted to point the following issue with the
algorithm/psuedocode text provided in section 4.3.
/////////////////////////////////////////////////////////////////
//
// Calculate extended P-space
//
// Note the strictly less than operator is needed to
// avoid ECMP issues.
Compute_Extended_P_Space(fail_intf)
foreach node y in network
y.in_extended_P_space = false
// Extend P-space to the P-spaces of all reachable
// neighbours
foreach interface intf in self
[Pushpasis] From definition of intf.remote_node, there maybe multiple
'remote_node's for a given 'intf' (specially if the 'intf' is a LAN intf. So
there should be another 'foreach intf.remote_node in intf' loop here in this
algorithm text.
if (intf.remote_node != fail_intf.remote_node)
if ( D_opt(intf.remote_node, y) <
D_opt(intf.remote_node, self) +
D_opt(self,fail_intf.remote_node) +
D_opt(fail_intf.remote_node,y) )
y.in_extended_P_space = true
/////////////////////////////////////////////////////////////////
//
// Compute the nodes in Q-space
//
Compute_Q_Space(fail_intf)
// Compute the cost from every node the network to the
// node normally reachable across the failed link
Compute_and_Store_Reverse_SPF(fail_intf.remote_node)
// Compute the cost from every node the network to self
Compute_and_Store_Reverse_SPF(self)
foreach node y in network
[Pushpasis] Again from definition of intf.remote_node, there maybe multiple
'remote_node's for a given 'fail_intf' (specially if the 'fail_intf' is a LAN
intf. So there should be another 'foreach intf.remote_node in intf' loop here
in this algorithm text. Also there is a question of which 'remote_node' will
the below inequality be evaluated on in this case. This needs to be clarified.
if ( D_opt(y,fail_intf.remote_node) < D_opt(y,self) +
D_opt(self,fail_intf.remote_node) )
y.in_Q_space = true
else
y.in_Q_space = false
/////////////////////////////////////////////////////////////////
//
// Compute set of nodes in both extended P-space and in Q-space
Intersect_Extended_P_and_Q_Space()
[Pushpasis] The PQ-space is a function of the 'fail_intf'. One node maybe
PQ-node for one 'fail_intf' and still not be the PQ-node for another
'fail_intf'. So the 'fail_intf' should be a input parameter for this procedure.
Also the flags in_extended_P_space and in_Q_space for node y should be defined
per 'fail_intf'.
foreach node y in network
if ( y.in_extended_P_space && y.in_Q_space )
y.valid_tunnel_endpoint = true
else
y.valid_tunnel_endpoint = false
The current text needs to be enhanced and clarified with more details to
achieve completeness in my opinion. Once again regret the late response.
Thanks
-Pushpasis
From: Alvaro Retana (aretana) [mailto:[email protected]]
Sent: Wednesday, December 04, 2013 7:06 PM
To: [email protected]
Cc: [email protected]
Subject: WGLC for draft-ietf-rtgwg-remote-lfa
Hi!
After what I thought was a productive set of feedback and discussion related to
this draft, both in the mailing list as well as at the meeting in Vancouver, I
would like to start a Working Group Last Call. This call will close by EOD
(pick your favorite time zone) on December 19, 2013.
http://tools.ietf.org/html/draft-ietf-rtgwg-remote-lfa
Please provide specific feedback as to why you support (or not) the advancement
of this draft. Please avoid "+1"-type responses.
Thanks!
Alvaro.
_______________________________________________
rtgwg mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/rtgwg