summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zebra/if_netlink.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/zebra/if_netlink.c b/zebra/if_netlink.c
index beac8ffedb..7423e9237f 100644
--- a/zebra/if_netlink.c
+++ b/zebra/if_netlink.c
@@ -1040,6 +1040,12 @@ static void if_netlink_check_ifp_instance_consistency(uint16_t cmd,
other_ifp = if_lookup_by_name_not_ns(ns_id, ifp->name);
if (!other_ifp)
return;
+ /* because previous interface may be inactive,
+ * interface is moved back to default vrf
+ * then one may find the same pointer; ignore
+ */
+ if (other_ifp == ifp)
+ return;
if ((cmd == RTM_NEWLINK)
&& (CHECK_FLAG(other_ifp->status, ZEBRA_INTERFACE_ACTIVE)))
return;