# ppp Change route failed



## oobayly (Mar 30, 2010)

I'm using FreeBSD 7.2-RELEASE with a custom kernel (VESA support, & reduced driver support) as a router/firewall/dhcp server for my two ADSL connections.

Whenever one of the ppp interfaces has to reconnect, I get the following entry in /var/log/messages

```
Mar 30 16:04:34 router ppp[17132]: tun1: Warning: ff02:8::/32:
      Change route failed: errno: Network is unreachable
```

While everthing is working, I noticed the log file being flooded with this as one ADSL line was reconnecting every 95s (due to an unrelated ISP issue). What's bizarre is that the address is a multicast address, and IPv6 isn't enabled (at least it shouldn't be). Also, IPv6 has explicitly been disabled in /etc/ppp/ppp.conf.

However, when I look a the routing table I see:

```
# netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire

<snip>

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UHL         lo0
fe80::%lo0/64                     fe80::1%lo0                   U           lo0
fe80::1%lo0                       link#5                        UHL         lo0
ff01:5::/32                       fe80::1%lo0                   UC          lo0
ff01:7::/32                       link#7                        UGC        tun0
ff01:8::/32                       link#8                        UGC        tun1
ff02::%lo0/32                     fe80::1%lo0                   UC          lo0
ff02::%tun0/32                    fe80::20f:3dff:fece:4272%tun0 UGC        tun0
ff02::%tun1/32                    fe80::20f:3dff:fece:4272%tun1 UGC        tun1
```

Is there any way I can disable the IPv6 routing table as it appears that it could be the cause of the log entries? If not, can anyone suggest what the problem is?

Many thanks,
John


----------



## SirDice (Mar 30, 2010)

From ppp(8):


> ipv6cp
> Default: Enabled.  This option allows ppp to attempt to negotiate IPv6 control protocol capabilities and if successful to exchange IPv6 datagrams with the peer.


----------



## oobayly (Mar 30, 2010)

@SirDice,
Thanks for the reply. I've already disabled ipv6cp (I don't think I made that clear). My /etc/ppp/ppp.conf

```
bt:
        # PPPoE
        set speed sync
        set mru 1492
        set mtu 1492
        set ctsrts off

        # Monitor line quality
        enable echo
        set echoperiod 15
        enable lqr
        set lqrperiod 15

        # Log just a bit
        set log phase tun

        # Don't need IPv6
        disable ipv6cp

        # Don't update resolv.conf nameservers
        disable dns

        set device PPPoE:vr0

        set authname <redacted>
        set authkey <redacted>

tiscali:
        # PPPoE
        set speed sync
        set mru 1492
        set mtu 1492
        set ctsrts off

        # Monitor line quality
        enable echo
        set echoperiod 15
        enable lqr
        set lqrperiod 15

        # Log just a bit
        set log phase tun

        # Don't need IPv6
        disable ipv6cp

        # Don't update resolv.conf nameservers
        disable dns

        set device PPPoE:vr1

        set authname <redacted>
        set authkey <redacted>
```


----------



## Ruler2112 (Mar 31, 2010)

I get the same error every time my PPPoE reauthenticates.  Doesn't seem to hurt anything and after googling for 2+ days and not finding anything but people asking what the hell it means, I decided to just live with it.  Let me know if you find a solution though - I'd rather not have the error if possible; as long as it doesn't hurt anything, I'm OK with it now.


----------



## oobayly (Apr 1, 2010)

@Ruler2112
Yup, I'd resigned myself to living with this too. Dawned upon me that this would be the place to ask. Will definitely update this thread if I ever do find a solution.

John


----------



## oobayly (May 10, 2010)

After having to trawl through the ppp code due to a separate issue (http://forums.freebsd.org/showthread.php?t=13898), I saw the the compiler option to disable IPv6.

All you have to do install the src for usr.sbin. Then just recompile ppp:
`# cd /usr/src/usr.sbin/ppp`
`# make clean && make NOINET6=1 && make install && make clean`

Just make sure to remove the following from /etc/ppp/ppp.conf, as it's now an unrecognised option.

```
# Don't need IPv6
        disable ipv6cp
```


----------

