Don't force loops in MLD

Related commit 0972ec9115
This commit is contained in:
Michael Krasnyk
2017-10-02 12:34:58 +02:00
parent 708b47938d
commit d0936dc7fd
2 changed files with 8 additions and 13 deletions
@@ -255,7 +255,8 @@ void routingStep(const DataFacade<Algorithm> &facade,
auto reverse_weight = reverse_heap.GetKey(node);
auto path_weight = weight + reverse_weight;
// if loops are forced, they are so at the source
// MLD uses loops forcing only to prune single node paths in forward and/or
// backward direction (there is no need to force loops in MLD but in CH)
if (!(force_loop_forward && forward_heap.GetData(node).parent == node) &&
!(force_loop_reverse && reverse_heap.GetData(node).parent == node) &&
(path_weight >= 0) && (path_weight < path_upper_bound))