Commit 5c441f7d06 for frr
commit 5c441f7d063e686eed4383d5e03a84ba1703d898
Author: Jafar Al-Gharaibeh <jafar@atcorp.com>
Date: Fri Oct 2 14:28:14 2026 -0500
pimd: don't warn when an interface has no vif to delete
pim_if_del_vif() warns whenever an interface has no vif, which is normal
for interfaces that never got one and for pimreg (vif 0). Log those only
with "debug pim zebra".
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c
index 050884ab8d..740b185463 100644
--- a/pimd/pim_iface.c
+++ b/pimd/pim_iface.c
@@ -1126,9 +1126,18 @@ int pim_if_del_vif(struct interface *ifp)
pim_upstream_rpf_interface_del(ifp);
if (pim_ifp->mroute_vif_index < 1) {
- zlog_warn("%s: vif_index=%d < 1 on interface %s ifindex=%d",
- __func__, pim_ifp->mroute_vif_index, ifp->name,
- ifp->ifindex);
+ /*
+ * Nothing to delete. The interface never got a vif (it has no
+ * usable address or never came up), or it already lost it when
+ * it went down or was removed from the kernel. pimreg always
+ * uses vif 0 and is left to the kernel, which removes it with
+ * the other vifs when the mroute socket is closed. This is
+ * routine (e.g. for every such interface at shutdown), so don't
+ * warn.
+ */
+ if (PIM_DEBUG_ZEBRA)
+ zlog_debug("%s: no vif to delete on interface %s (vif_index=%d ifindex=%d)",
+ __func__, ifp->name, pim_ifp->mroute_vif_index, ifp->ifindex);
return -1;
}