summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChirag Shah <chirag@nvidia.com>2023-10-10 17:30:55 +0200
committerGitHub <noreply@github.com>2023-10-10 17:30:55 +0200
commit0ddda5cd96ab6721929f6896cf87f01d55942193 (patch)
tree5b4af4ccb8cca4d50324c890c0ad91eb61ee5f51
parentMerge pull request #14548 from raja-rajasekar/frr_dev1 (diff)
parentzebra: be more careful removing 'installed' flag from nhgs (diff)
downloadfrr-0ddda5cd96ab6721929f6896cf87f01d55942193.tar.xz
frr-0ddda5cd96ab6721929f6896cf87f01d55942193.zip
Merge pull request #14515 from mjstapp/fix_nhg_intf_uninstall
zebra: be more careful removing 'installed' flag from nhgs
-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 d1a84491a..396e9acfc 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,