Date: Tue, 3 Aug 2010 16:12:24 +0000 (UTC) From: Attilio Rao <attilio@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r210811 - projects/sv/sys/net Message-ID: <201008031612.o73GCOvQ094266@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: attilio Date: Tue Aug 3 16:12:23 2010 New Revision: 210811 URL: http://svn.freebsd.org/changeset/base/210811 Log: Add debugging knob and sync with in_arpinput(), noting it is already in sync with arpintr(). Modified: projects/sv/sys/net/netdump_client.c Modified: projects/sv/sys/net/netdump_client.c ============================================================================== --- projects/sv/sys/net/netdump_client.c Tue Aug 3 16:08:58 2010 (r210810) +++ projects/sv/sys/net/netdump_client.c Tue Aug 3 16:12:23 2010 (r210811) @@ -922,7 +922,10 @@ nd_handle_arp(struct mbuf **mb) } ah = mtod(m, struct arphdr *); - if (ntohs(ah->ar_hrd) != ARPHRD_ETHER) { + if (ntohs(ah->ar_hrd) != ARPHRD_ETHER && + ntohs(ar->ar_hrd) != ARPHRD_IEEE802 && + ntohs(ar->ar_hrd) != ARPHRD_ARCNET && + ntohs(ar->ar_hrd) != ARPHRD_IEEE1394) { NETDDEBUG("nd_handle_arp: unknown hardware address fmt " "0x%2D)\n", (unsigned char *)&ah->ar_hrd, ""); return; @@ -952,6 +955,13 @@ nd_handle_arp(struct mbuf **mb) return; } +#ifdef INVARIANTS + if (!bcmp(ar_sha(ah), ifp->if_broadcastaddr, ifp->if_addrlen)) { + NETDDEBUG("nd_handle_arp: ignoring ARP as link address is " + "broadcast.\n"); + return; + } + if (isaddr.s_addr == nd_client.s_addr) { printf("nd_handle_arp: %*D is using my IP address %s!\n", ifp->if_addrlen, (u_char *)ar_sha(ah), ":",
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008031612.o73GCOvQ094266>