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
Luigi Rizzo <rizzo@iet.unipi.it> wrote:
 > 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.
That's strange ...  I have a simuilar setup on my router
which was upgraded from FreeBSD 6.x to 8.x recently.
I don't have any routing problems.  So maybe it is a
problem with your configuration, not a FreeBSD bug.
My rc.conf contains:
    ifconfig_fxp0="up"
    ppp_enable="YES"
    ppp_mode="ddial"
    ppp_nat="YES"
    ppp_profile="pppoe_myisp"
    gateway_enable="YES"
And ppp.conf looks like this (few things omitted for brevity):
    default:
      set ifaddr 10.0.0.1/0 10.0.0.2/0
      set server /var/run/ppp.ctl "" 0177
      nat enable yes
    pppoe_myisp:
      set device PPPoE:fxp0
      set authname myauthname
      set authkey myauthkey
      set dial
      set login
      add default HISADDR
      enable dns
      resolv readonly
The default route is set correctly:
    $ route get default
       route to: default
    destination: default
           mask: default
        gateway: gateway.myisp.net
      interface: tun0
          flags: <UP,GATEWAY,DONE,STATIC>
     recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
           0         0         0         0      1492         1         0
Best regards
   Oliver
-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Gesch?ftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht M?n-
chen, HRB 125758,  Gesch?ftsf?hrer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
Blogging:  Never before have so many people
with so little to say said so much to so few.
Michael BlackHeart
2010-Aug-12  16:00 UTC
8.1R: ppp default route uses wrong Netif (with pppoe)
As I understand this isn't a bug but a mistype or misunderstand of config ( see man ppp.conf ) I'm running myself 8.0, 8.1 and currently 8.STABLE with pppoe in this way and never have a problem as many peolpe do. Look in listing> my-provider: > set line PPPoE:nfe0Here's some "set line" and should be "set device" like this:> pppoe_myisp: > set device PPPoE:fxp0I think that's the clue.