summaryrefslogtreecommitdiff
path: root/zebra/zebra_nhg.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/zebra_nhg.c')
-rw-r--r--zebra/zebra_nhg.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/zebra/zebra_nhg.c b/zebra/zebra_nhg.c
index d1a84491aa..396e9acfc8 100644
--- a/zebra/zebra_nhg.c
+++ b/zebra/zebra_nhg.c
@@ -3750,8 +3750,13 @@ void zebra_interface_nhg_reinstall(struct interface *ifp)
rb_node_dep->nhe->flags);
zebra_nhg_install_kernel(rb_node_dep->nhe);
- /* mark depedent uninstall, when interface associated
- * singleton is installed, install depedent
+ /* Don't need to modify dependents if installed */
+ if (CHECK_FLAG(rb_node_dep->nhe->flags,
+ NEXTHOP_GROUP_INSTALLED))
+ continue;
+
+ /* mark dependent uninstalled; when interface associated
+ * singleton is installed, install dependent
*/
frr_each_safe (nhg_connected_tree,
&rb_node_dep->nhe->nhg_dependents,