From owner-freebsd-current Thu Jan 18 10:49:39 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id KAA24780 for current-outgoing; Thu, 18 Jan 1996 10:49:39 -0800 (PST) Received: from pelican.com (pelican.com [134.24.4.62]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id KAA24771 for ; Thu, 18 Jan 1996 10:49:35 -0800 (PST) Received: by pelican.com (Smail3.1.29.1 #10) id m0tczOi-0000SaC; Thu, 18 Jan 96 10:49 PST Message-Id: From: pete@pelican.com (Pete Carah) Subject: pppd route/proxy problem To: current@freebsd.org Date: Thu, 18 Jan 1996 10:49:19 -0800 (PST) X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-current@freebsd.org Precedence: bulk I think this is an old problem that has never been resolved, but I may have some narrow circumstances now, and some idea what to do about part of the problem. pppd terminates abnormally (hangup usually) and the next invocation for that ip address doesn't work. proxyarp is specified in the options file. 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. Fix directions: 1. Proxy arp entry should nuke (or just overwrite?) any incomplete entry whether or not the incomplete entry has timed out. 2. Somehow an incomplete can get written into the table with no expire time (we've had them last days); I presume that this is a race with the pppd termination. 3. It would be nice to have a flag (-v?) for arp -a that would print out *all* the arp info including expire time or lack of it... Maybe this can point the way to some of the other routing table problems with pppd that people have remarked over the years... I have glanced at the if_ether source for this part of things but not really studied it. -- Pete