Apply by doing: cd /usr/src patch -p0 < 003_arp.patch And then rebuild your kernel. Index: sys/netinet/if_ether.c =================================================================== RCS file: /cvs/src/sys/netinet/if_ether.c,v retrieving revision 1.48 retrieving revision 1.48.2.1 diff -u -p -r1.48 -r1.48.2.1 --- sys/netinet/if_ether.c 2 Jun 2003 23:28:13 -0000 1.48 +++ sys/netinet/if_ether.c 31 Oct 2003 00:07:52 -0000 1.48.2.1 @@ -740,10 +740,18 @@ arplookup(addr, create, proxy) rt->rt_refcnt--; if ((rt->rt_flags & RTF_GATEWAY) || (rt->rt_flags & RTF_LLINFO) == 0 || rt->rt_gateway->sa_family != AF_LINK) { - if (create) + if (create) { log(LOG_DEBUG, "arplookup: unable to enter address for %s\n", inet_ntoa(sin.sin_addr)); + if (rt->rt_refcnt <= 0 && + (rt->rt_flags & RTF_CLONED) != 0) { + rtrequest(RTM_DELETE, + (struct sockaddr *)rt_key(rt), + rt->rt_gateway, rt_mask(rt), rt->rt_flags, + 0); + } + } return (0); } return ((struct llinfo_arp *)rt->rt_llinfo);