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;
 	}