On Fri, Oct 19, 2001 at 04:58:21PM -0700, Mark Peek wrote: > At 11:23 AM +0200 10/18/01, Harti Brandt wrote: > >On Thu, 18 Oct 2001, Max Khon wrote: > > > >MK>hi, there! > >MK> > >MK>On Thu, Oct 18, 2001 at 12:00:52AM +0200, Jose M. Alcaide wrote: > >MK> > >MK>> On Wed, Oct 17, 2001 at 12:11:45PM -0700, Julian Elischer wrote: > >MK>> > I've seen this when DHCP fails to allocate an address. > >MK>> > > >MK>> > >MK>> But I am not using DHCP. Maybe there are other machines in the LAN (it is > >MK>> a *big* LAN) trying to get their addresses using DHCP, and now -CURRENT > >MK>> shows a message whenever detects one of those packets. I will try to > >MK>> identify the senders (over 40!). > >MK>> > >MK>> Anyway, these "0.0.0.0" ARP messages are new in -CURRENT, and none of our > >MK>> machines running FreeBSD 4.x show them. > >MK> > >MK>how current -CURRENT are you running? > > > >I have these two on a yesterday's current and remember that they appeared > >after I saw a commit message approx. 2 weeks ago about adding hashing of > >inet addresses (maybe rev. 1.83 of if_ether.c). > > > Yes, it does appear to be due to this commit. The first address on the > interface queue has an address of 0.0.0.0. Here's a patch that works for > me to block the messages. I'm guessing at the correct behavior so use at > your own risk. At least the voices^Wlog messages have stopped. :-)
Below is the patch that I've sent to the people who reported the problem, I'm waiting to hear back from them that it works. -- Jonathan Index: if_ether.c =================================================================== RCS file: /ncvs/src/sys/netinet/if_ether.c,v retrieving revision 1.85 diff -u -r1.85 if_ether.c --- if_ether.c 2001/10/17 18:07:05 1.85 +++ if_ether.c 2001/10/19 15:38:07 @@ -593,10 +593,12 @@ isaddr.s_addr == ia->ia_addr.sin_addr.s_addr) goto match; /* - * No match, use the first address on the receive interface + * No match, use the first inet address on the receive interface * as a dummy address for the rest of the function. */ - ifa = TAILQ_FIRST(&ifp->if_addrhead); + TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) + if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_INET) + break; if (ifa == NULL) { m_freem(m); return; To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message