Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Jan 1996 10:49:19 -0800 (PST)
From:      pete@pelican.com (Pete Carah)
To:        current@freebsd.org
Subject:   pppd route/proxy problem
Message-ID:  <m0tczOi-0000SaC@pelican.com>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?m0tczOi-0000SaC>