dhcpcd-discuss

Re: Race between dhcpcd and ppp while trying to update openresolv?

Roy Marples

Fri Mar 11 08:05:37 2011

On Wed, 2011-03-09 at 22:41 +0000, Ed W wrote:
> ..some pppd negotiation...
> Mar  9 22:32:43 localhost daemon.debug pppd[24124]: rcvd [IPCP ConfAck id=0x4 <addr 10.140.80.87> <ms-dns1 10.203.129.70> <ms-dns2 10.203.129.68>]
> Mar  9 22:32:43 localhost daemon.warn pppd[24124]: Could not determine remote IP address: defaulting to 10.64.64.65
> Mar  9 22:32:43 localhost user.debug dhcpcd[22228]: ppp1: executing `/lib/dhcpcd/dhcpcd-run-hooks', reason STATIC
> Mar  9 22:32:43 localhost daemon.notice pppd[24124]: local  IP address 10.140.80.87
> Mar  9 22:32:43 localhost daemon.notice pppd[24124]: remote IP address 10.64.64.65
> Mar  9 22:32:43 localhost daemon.notice pppd[24124]: primary   DNS address 10.203.129.70
> Mar  9 22:32:43 localhost daemon.notice pppd[24124]: secondary DNS address 10.203.129.68
> Mar  9 22:32:43 localhost daemon.debug pppd[24124]: Script /etc/ppp/ip-up started (pid 24172)
> Mar 09 22:32:43 40-dns.sh ran resolvconf using 10.203.129.70 and 10.203.129.68
> Mar  9 22:32:43 localhost user.debug dhcpcd[22228]: ppp1: executing `/lib/dhcpcd/dhcpcd-run-hooks', reason EXPIRE
> Mar  9 22:32:43 localhost user.debug dhcpcd[22228]: ppp1: executing `/lib/dhcpcd/dhcpcd-run-hooks', reason STATIC
> Mar  9 22:32:44 localhost daemon.debug pppd[24124]: Script /etc/ppp/ip-up finished (pid 24172), status = 0x0
> 
> Need to peer a little more deeply, but I'm assuming it's the "reason
>  EXPIRE" which zaps the resolvconf?

Yes, this is the reason. It's because ppp assigns a useless temporary
IPv4 address to the interface (1st STATIC from dhcpcd) and then removes
it (EXPIRE) before adding the real address. There is no logical reason
for ppp to do this, please stop it from doing so :)

You can also instruct dhcpcd not to run resolv.conf stuff for ppp like
so in /etc/dhcpcd.conf

interface ppp
nohook resolv.conf

> Perhaps I'm being a bit of a twit though... Disabling dhcpcd on this
>  interface also solves the issue since bringing up the interface and
>  managing IP allocation seems adequately handled by pppd...?
> 
> Is there something I am missing by not allowing dhcpcd to manage my ppp
>  interfaces?

On Linux not so much, but definitely for BSD. The issue is one of
routing mainly and choosing if the default route should run over PPP or
use the existing. dhcpcd handles this by managing the routing table via
use of interface metrics, lowest wins. This allows the user to decide
which one to have.

Thanks

Roy


Follow-Ups:
Re: Race between dhcpcd and ppp while trying to update openresolv?Ed W
References:
Race between dhcpcd and ppp while trying to update openresolv?Ed W
Re: Race between dhcpcd and ppp while trying to update openresolv?Ed W
Archive administrator: postmaster@marples.name