Date: Wed, 21 Nov 2001 17:32:27 -0800 (PST) From: Paul Herman <pherman@frenchfries.net> To: <freebsd-net@freebsd.org> Cc: <freebsd-alpha@freebsd.org> Subject: arp_rtrequest: bad gateway value Message-ID: <20011121171802.P23581-100000@tick.sc.omation.com>
next in thread | raw e-mail | index | archive | help
Hi, I'd like to pick some brains before I file a PR. I've got 4.4-RELEASE running on FreeBSD-alpha with more than one alias on my network interface. I decided to try out routed, and started noticing gobs and gobs of messages: Nov 15 11:38:10 tick /kernel: arp_rtrequest: bad gateway value Nov 15 11:43:10 tick /kernel: arp_rtrequest: bad gateway value Nov 15 11:47:59 tick /kernel: arp_rtrequest: bad gateway value Nov 15 11:58:02 tick last message repeated 2 times Nov 15 12:08:10 tick last message repeated 2 times Nov 15 12:18:10 tick last message repeated 2 times It turns out, this is caused by a bad arp entry: 17:21:33{{ttyq8}pherman@tick}~//> arp -a ns1.sc.omation.com (192.168.128.1) at 0:0:0:0:0:0 permanent [ethernet] rt=200 tick.sc.omation.com (192.168.128.2) at 0:60:97:6e:6e:92 permanent [ethernet] [...etc...] Trying to delete the entry gives me "cannot locate 192.168.128.1", probably because the kernel thinks it doesn't exist becase the MAC addr == NULL... ...perhaps (?) Whatever, it shouldn't be there in the first place. So, I've narrowed this down to when routed it writes RTM_CHANGE of type RTF_HOST in sbin/routed/table.c:725 if (mask == HOST_MASK) { w.w_rtm.rtm_flags |= RTF_HOST; w.w_rtm.rtm_msglen -= sizeof(w.w_mask); } else { w.w_rtm.rtm_addrs |= RTA_NETMASK; w.w_mask.sin_addr.s_addr = htonl(mask); Something is going haywire (64bit issues?) because when I change this to if (mask == HOST_MASK && 0) { it works fine, but I'm sure I'm breaking something. :-) There *is* a sizeof(long) just after it on line 734 which should be a sizeof(u_int32_t), but that doesn't change anything in this case. This obviously works fine on 32-bit architectures, so I'm thinking it's some kind of alignment or sizeof problem, but I don't see it. Can anyone comment on this? -Paul. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011121171802.P23581-100000>