[frr] [PATCH 11/11] bgpd: if multipath entries reached, no changes in routing

Philippe Guibert philippe.guibert at 6wind.com
Wed Dec 21 09:13:56 EST 2016


In order to propagate information for any multipath changes, the flag
MULTIPATH_CHG is used to notify that there are changes or not. Like
that, not only aggregation update will not be needed, but also, as
no multipath changes or any attribute changes are seen, then the bgp
processing does not perform anything.

Signed-off-by: Philippe Guibert <philippe.guibert at 6wind.com>
---
 bgpd/bgp_route.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index e93829cdb6b3..71c4daf23da8 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -1776,7 +1776,8 @@ bgp_best_selection (struct bgp *bgp, struct bgp_node *rn,
     }
 
   bgp_info_mpath_update (rn, new_select, old_select, &mp_list, mpath_cfg);
-  bgp_info_mpath_aggregate_update (new_select, old_select);
+  if(!( new_select && !CHECK_FLAG (new_select->flags, BGP_INFO_MULTIPATH_CHG)))
+    bgp_info_mpath_aggregate_update (new_select, old_select);
   bgp_mp_list_clear (&mp_list);
 
   result->old = old_select;
-- 
2.1.4





More information about the dev mailing list