Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Aug 2001 12:09:32 +0100
From:      Brian Somers <brian@Awfulhak.org>
To:        Daniel Rock <D.Rock@t-online.de>
Cc:        current@FreeBSD.ORG, brian@freebsd-services.com
Subject:   Re: Syntax change in ppp? 
Message-ID:  <200108201109.f7KB9XU80095@hak.lan.Awfulhak.org>
In-Reply-To: Message from Daniel Rock <D.Rock@t-online.de>  of "Mon, 20 Aug 2001 01:54:46 %2B0200." <3B8051C6.3BC1CBC3@t-online.de> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Hi,
> 
> after the latest updates I just noticed a different behaviour of ppp.
> 
> in /etc/ppp/ppp.linkup I had an additional line
>   iface clear
> for my profile to get rid of stuffed up IP pairs. After the latest update
> this entry also clears my defaultroute, but only after redialing.
> 
> I now had to put the "iface clear" into /etc/ppp/ppp.linkdown, but then
> the old IP pair is still there during the next connection.

Putting ``iface clear'' in ppp.linkup will result in the whole 
iface-alias thing being broken.  It's meant to be in ppp.linkdown.

The objective is that ppp, once connected, has two IP numbers on the 
interface, one for what was there before the connection completed and 
one for the negotiated IP address.  When this happens, the ``first 
connection'' continues to work (the process that caused the dial-up 
will be bound to the IP number that was on the interface when it 
started and the nat engine will tweak these packets so that they use 
the negotiated IP number).

So really, you're doing the equivalent of ``disable iface-alias'' and 
stopping your first connection from working.  Moving the ``iface 
clear'' to ppp.linkdown should be better.

> Were my assumptions wrong (regarding the "iface clear" command) or is
> something
> broken in ppp?

Yes and yes.

> I have an idea which might cause the accidential removal of the defaultroute
> after redialing:
> 
> Before the first connection I have to set a dummy IP pair:
>   set ifaddr 172.23.11.1/0 172.23.11.2/0 255.255.255.255 0.0.0.0
> so my defaulroute will be set to 172.23.11.2
> 
> After dialing I'm getting a different destination IP address from my provider,
> and
> the old route will be deleted:
> route del $OLDADDR
> But after that, even if my own address will be different, the destination
> address will be the same:
> tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
>         inet6 fe80::2e0:7dff:fe75:fdfb%tun0 prefixlen 64 scopeid 0x6 
>         inet 217.224.28.71 --> 217.5.98.90 netmask 0xffffffff 
>         inet 217.224.27.153 --> 217.5.98.90 netmask 0xffffffff 
> so after executing "iface clear" from /etc/ppp/ppp.linkup, ppp will also
> delete
> the old route - but this time the old route is the same as the current one.

When IPCP comes up, ppp adds the new address to the interface.  It's 
*meant* to change the old interface destination address to 
255.255.255.255, but is getting this wrong.  Then, as you've already 
spotted, when your ``iface clear'' is run, it blows away the default 
route.

I've just committed a fix for this.  It's in version 1.25 of iface.c.

> BTW: If I disable IPv6 in the kernel, ppp won't start at all. It will spit out
> tons of messages
> Error: iface_Add: socket(): Protocol not supported 

Yep, a fix for that was committed a few days ago too.  My apologies.

> Daniel

-- 
Brian <brian@freebsd-services.com>                <brian@Awfulhak.org>
      http://www.freebsd-services.com/        <brian@[uk.]FreeBSD.org>
Don't _EVER_ lose your sense of humour !      <brian@[uk.]OpenBSD.org>



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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