From 55196042ac8def6f0057039017eb6a400d7f73fb Mon Sep 17 00:00:00 2001 From: "Andrew J. Schorr" Date: Wed, 17 May 2006 15:04:59 +0000 Subject: [debug] Improve zebra kernel socket debug message to include IP addresses. 2006-05-17 Andrew J. Schorr * kernel_socket.c: (ifam_read_mesg) Improve debug message to show the IP address. --- zebra/kernel_socket.c | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) (limited to 'zebra/kernel_socket.c') diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c index 9764cbb3..bd4d9c4b 100644 --- a/zebra/kernel_socket.c +++ b/zebra/kernel_socket.c @@ -510,9 +510,46 @@ ifam_read_mesg (struct ifa_msghdr *ifm, RTA_ADDR_GET (brd, RTA_BRD, ifm->ifam_addrs, pnt); if (IS_ZEBRA_DEBUG_KERNEL) - zlog_debug ("%s: ifindex %d, ifname %s, ifam_addrs 0x%x", - __func__, ifm->ifam_index, - (ifnlen ? ifname : "(nil)"), ifm->ifam_addrs); + { + switch (sockunion_family(addr)) + { + case AF_INET: + { + char buf[2][INET_ADDRSTRLEN]; + zlog_debug ("%s: ifindex %d, ifname %s, ifam_addrs 0x%x, " + "addr %s/%d broad %s", + __func__, ifm->ifam_index, + (ifnlen ? ifname : "(nil)"), ifm->ifam_addrs, + inet_ntop(AF_INET,&addr->sin.sin_addr, + buf[0],sizeof(buf[0])), + ip_masklen(mask->sin.sin_addr), + inet_ntop(AF_INET,&brd->sin.sin_addr, + buf[1],sizeof(buf[1]))); + } + break; +#ifdef HAVE_IPV6 + case AF_INET6: + { + char buf[2][INET6_ADDRSTRLEN]; + zlog_debug ("%s: ifindex %d, ifname %s, ifam_addrs 0x%x, " + "addr %s/%d broad %s", + __func__, ifm->ifam_index, + (ifnlen ? ifname : "(nil)"), ifm->ifam_addrs, + inet_ntop(AF_INET6,&addr->sin6.sin6_addr, + buf[0],sizeof(buf[0])), + ip6_masklen(mask->sin6.sin6_addr), + inet_ntop(AF_INET6,&brd->sin6.sin6_addr, + buf[1],sizeof(buf[1]))); + } + break; +#endif /* HAVE_IPV6 */ + default: + zlog_debug ("%s: ifindex %d, ifname %s, ifam_addrs 0x%x", + __func__, ifm->ifam_index, + (ifnlen ? ifname : "(nil)"), ifm->ifam_addrs); + break; + } + } /* Assert read up end point matches to end point */ if (pnt != end) -- cgit v1.2.1