8.1R: ppp default route uses wrong Netif (with pppoe)
Luigi Rizzo
rizzo at iet.unipi.it
Wed Aug 11 11:53:12 UTC 2010
Hi,
I found the following problem with ppp after upgrading to 8.1
I am using ppp -ddial -nat ... over pppoe. The entry in ppp.conf has
these lines (plus others not relevant here):
my-provider:
set line PPPoE:nfe0
...
add default HISADDR
Up to 7.2 this sufficed to establish a route using 'tun0' as the device
Destination Gateway Flags Refs Use Netif Expire
default 81.174.0.1 UGS 0 1885 tun0
With the upgrade to 8.1R the default route points to 'nfe0', i.e. the
device used to talk pppoe, instead of tun0.
This causes a number of failures which prevent operation.
I am not sure though whether the bug is in PPP or in the kernel,
and why ppp now uses the wrong device to install the route entry.
A functional workaround is the following (note you need all three lines!):
add default HISADDR
shell route delete default
shell route add default -interface INTERFACE
where the first line installs the bogus entry but supplies a default
address for outgoing packets, and the other two entries fix
the interface.
I tried to remove the 'add default HISADDR' but it does not seem
to work -- tcpdump shows outgoing packets carrying 0.0.0.0 as src-ip,
which prevents replies from coming back.
I'll submit a PR later, but would be curious to know if someone
has ideas on what could be a proper fix.
cheers
luigi
More information about the freebsd-net
mailing list