From owner-freebsd-current Thu Jan 18 14:53:48 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id OAA09926 for current-outgoing; Thu, 18 Jan 1996 14:53:48 -0800 (PST) Received: from rocky.sri.MT.net (rocky.sri.MT.net [204.182.243.10]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id OAA09921 for ; Thu, 18 Jan 1996 14:53:45 -0800 (PST) Received: (from nate@localhost) by rocky.sri.MT.net (8.6.12/8.6.12) id PAA13671; Thu, 18 Jan 1996 15:55:50 -0700 Date: Thu, 18 Jan 1996 15:55:50 -0700 From: Nate Williams Message-Id: <199601182255.PAA13671@rocky.sri.MT.net> To: malenovi@cview.com (Nik Malenovic) Cc: freebsd-current@FreeBSD.org Subject: Re: pppd route/proxy problem Newsgroups: cview.freebsd.current In-Reply-To: References: Sender: owner-current@FreeBSD.org Precedence: bulk > [notice redirection to -hackers as well] [ Took it back out of -hacker. Leave it on one list please. ] > >The problem is that if the other end of a connection sends something to > >the ip addr while pppd is down, an 'incomplete' entry goes into the > >arp table. Under some circumstances a race occurs and that incomplete > >entry never times out. Even if it does, the proxy entry either doesn't > >end up in the table or doesn't work when written while the incomplete > >entry is present. > [...] > another solution is not to do proxyarp, and have PPP client IP be located > on the separate subnet (non-ethernet subnet) Then you don't need proxy-arp. But, this isn't a solution for many folks given the lack of address, especially for folks who have machines which may exist on the local ethernet OR via PPP. (Think portable computers.) > the third solution is to hack arp code, and remove creation of incomplete > IP entries on their use. (i.e. the time when the IP number is being > used, during broadcasts 'who-has such-and-such-IP', until the IP is > determined to be down by the broadcasting interface) A better sollution is to remove incomplete IP entries *when* a complete arp entry (either normal or proxy-arp) is found. This is what SunOS does. Unfortunately, the current code makes a distinction between all three different types of arp entries. :( > notice that BSDI, FreeBSD have this bug. I suspect NetBSD is the same. Yep, all 4.4BSD derived systems have this bug, and none have fixed it yet. Nate