From 6c44fe2294c250c7f2e4d0927867662fde28f274 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Thu, 2 Jul 2015 09:53:59 -0400 Subject: [PATCH] pimd: Change ioctl call failure from vty_out to zlog_warn The command 'show ip multicast' when run, iterates over all interfaces on the router, if you do not have pim configured on that interface it would generate an error message: Interface Address ifi Vif PktsIn PktsOut BytesIn BytesOut br1 20.0.15.1 7 7 0 0 0 0 swp1 169.254.0.10 3 3 0 0 0 0 swp2 169.254.0.26 4 4 0 0 0 0 ioctl(SIOCGETVIFCNT=35296) failure for interface swp3 vif_index=-1: errno=22: Invalid argument ioctl(SIOCGETVIFCNT=35296) failure for interface swp4 vif_index=-1: errno=22: Invalid argument This fixes the issue to display this instead: Interface Address ifi Vif PktsIn PktsOut BytesIn BytesOut br1 20.0.15.1 7 7 0 0 0 0 swp1 169.254.0.10 3 3 0 0 0 0 swp2 169.254.0.26 4 4 0 0 0 0 swp3 0.0.0.0 5 -1 0 0 0 0 swp4 0.0.0.0 6 -1 0 0 0 0 Signed-off-by: Donald Sharp --- pimd/pim_cmd.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index 0acba045b8..2bc1de0070 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -2070,16 +2070,13 @@ static void show_multicast_interfaces(struct vty *vty) vreq.vifi = pim_ifp->mroute_vif_index; if (ioctl(qpim_mroute_socket_fd, SIOCGETVIFCNT, &vreq)) { - int e = errno; - vty_out(vty, - "ioctl(SIOCGETVIFCNT=%lu) failure for interface %s vif_index=%d: errno=%d: %s%s", - (unsigned long)SIOCGETVIFCNT, - ifp->name, - pim_ifp->mroute_vif_index, - e, - safe_strerror(e), - VTY_NEWLINE); - continue; + zlog_warn("ioctl(SIOCGETVIFCNT=%lu) failure for interface %s vif_index=%d: errno=%d: %s%s", + (unsigned long)SIOCGETVIFCNT, + ifp->name, + pim_ifp->mroute_vif_index, + errno, + safe_strerror(errno), + VTY_NEWLINE); } ifaddr = pim_ifp->primary_address; -- 2.39.5