summaryrefslogtreecommitdiff
path: root/zebra/interface.c
diff options
context:
space:
mode:
authorRuss White <russ@riw.us>2018-05-12 06:24:45 -0400
committerGitHub <noreply@github.com>2018-05-12 06:24:45 -0400
commitefe6e16ade012283951efb0a8ba6f92dd57af375 (patch)
tree23f94a090bb79c98f7a0611e2a8959daf9ab034b /zebra/interface.c
parent6b50b12ac75d635e78bee46d40bca936d03d1bc8 (diff)
parent7befff57dffd2e6ed10881cf4b72c7dc10df62c6 (diff)
Merge pull request #2171 from pguibert6WIND/misc_crashes_moving_ifp_from_netns
Misc crashes moving ifp from netns
Diffstat (limited to 'zebra/interface.c')
-rw-r--r--zebra/interface.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/zebra/interface.c b/zebra/interface.c
index 8d430be3e3..7de18d683c 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -202,6 +202,7 @@ struct interface *if_link_per_ns(struct zebra_ns *ns, struct interface *ifp)
if (rn->info) {
ifp = (struct interface *)rn->info;
route_unlock_node(rn); /* get */
+ ifp->node = rn;
return ifp;
}
@@ -725,6 +726,9 @@ void if_delete_update(struct interface *ifp)
return;
}
+ if (!CHECK_FLAG(ifp->status, ZEBRA_INTERFACE_ACTIVE))
+ return;
+
/* Mark interface as inactive */
UNSET_FLAG(ifp->status, ZEBRA_INTERFACE_ACTIVE);