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

Reply via email to