Deccan, Thanks for the feedback.
See inline below with [CB]. Chris From: [email protected] [mailto:[email protected]] Sent: Wednesday, April 06, 2016 9:25 PM To: Chris Bowers <[email protected]> Cc: [email protected] Subject: some issues in draft-ietf-rtgwg-mrt-frr-algorithm-09 Hi Chris There maybe some trivial mistakes in the document, please confirm it. 1) in section "5.2. MRT Island Identification" see pseudo-code in Figure 16, the second if-statement "if (not intf.remote_node.IN_MRT_ISLAND))" will never meet, the BFS will stop abnormally. [CB] I think the issue might be convention we are using in the pseudocode of using the indentation to indicate the scope of if, for, and while statements. We could have chosen to use more explicit scoping like endif, endfor, and endwhile. For this discussion, I rewrote the while loop in figure 16 below using this more explicit scoping. while (explore_list is not empty) next_rtr = remove_head(explore_list) for each intf in next_rtr if (not intf.MRT-ineligible and not intf.remote_intf.MRT-ineligible and not intf.IGP-excluded and (intf in area) and (intf.remote_node supports profile_id) ) intf.IN_MRT_ISLAND = TRUE intf.remote_node.IN_MRT_ISLAND = TRUE if (not intf.remote_node.IN_MRT_ISLAND)) intf.remote_node.IN_MRT_ISLAND = TRUE add_to_tail(explore_list, intf.remote_node) endif endif endfor endwhile Written in this form, it is easier to see that we are using the last if-statement to avoid adding to the explore_list any nodes that have already been marked as being in the MRT Island, and are already in the explore_list. If we don't do this, I think the algorithm will not terminate in some topologies. Did I understand your point correctly? If not, can you clarify more? 2) in section "5.7.5. Complete Algorithm to Compute MRT Next-Hops" see pseudo-code in Figure 23, in function "SPF_No_Traverse_Block_Root(spf_root, block_root, direction)", the code "path_metric = min_node.spf_metric + intf.metric" and the following remainder code of this function need to be included in the if-statement "if ( ( ((direction is FORWARD) and intf.OUTGOING) or". [CB] Thanks for catching this error. This is a case where using the indentation to indicate scope made this error less obvious. I will change the indentation of "if ( ( ((direction is FORWARD) and intf.OUTGOING) etc" to correct this. Do the text below now convey the correct meaning? while (spf_heap is not empty) min_node = remove_lowest(spf_heap) Store_Results(min_node, direction) if ((min_node is spf_root) or (min_node is not block_root)) foreach interface intf of min_node if ( ( ((direction is FORWARD) and intf.OUTGOING) or ((direction is REVERSE) and intf.INCOMING) ) and In_Common_Block(spf_root, intf.remote_node) ) path_metric = min_node.spf_metric + intf.metric if path_metric < intf.remote_node.spf_metric intf.remote_node.spf_metric = path_metric if min_node is spf_root intf.remote_node.next_hops = make_list(intf) else intf.remote_node.next_hops = min_node.next_hops insert_or_update(spf_heap, intf.remote_node) else if path_metric == intf.remote_node.spf_metric if min_node is spf_root add_to_list(intf.remote_node.next_hops, intf) else add_list_to_list(intf.remote_node.next_hops, min_node.next_hops) 3) in section "5.9.4. Computing MRT Alternates for Proxy-Nodes" "Similarly, if run Select_Alternates(X, F, primary_intf) and we find that it is safe to USE_BLUE to reach Y" here the first parameter X would be replaced to Y. [CB] Thanks. We will correct this as well. thanks Deccan -------------------------------------------------------- ZTE Information Security Notice: The information contained in this mail (and any attachment transmitted herewith) is privileged and confidential and is intended for the exclusive use of the addressee(s). If you are not an intended recipient, any disclosure, reproduction, distribution or other dissemination or use of the information contained is strictly prohibited. If you have received this mail in error, please delete it and notify us immediately. -------------------------------------------------------- ZTE Information Security Notice: The information contained in this mail (and any attachment transmitted herewith) is privileged and confidential and is intended for the exclusive use of the addressee(s). If you are not an intended recipient, any disclosure, reproduction, distribution or other dissemination or use of the information contained is strictly prohibited. If you have received this mail in error, please delete it and notify us immediately.
_______________________________________________ rtgwg mailing list [email protected] https://www.ietf.org/mailman/listinfo/rtgwg
