Re: kerneld/request-route

Jacques Gelinas (jack@solucorp.qc.ca)
Wed, 3 Jul 1996 12:32:08 -0400 (EDT)


On Wed, 3 Jul 1996, Eric Schenk wrote:

> There good reasons diald does not just run a user script. I originally
> tried this approach and ran into several serious problems. The main
> difficulty is as follows.
>
> Diald needs to know which ppp device (or slip device, diald supports slip
> as well) came up so it can monitor its status. This includes watching
> the traffic that passes over the link, so diald can decide if the
> link is "idle" (and this is NOT just a timeout decision. You can
> specify seperate timeouts for different types of traffic and even
> the contents of the packet headers.) It also includes watching for
> the link to just spontaneously die so it can be brought back up
> immediately.
>
> If you just run a user script to start up the link it is difficult
> to determine which ppp device came up. Keep in mind that there
> may be more than one ppp device up at the same time, indeed there
> may even be more than one copy of diald up at the same time!
> Now, I could have placed the burden on the user to somehow inform
> diald of the device that came up, which was what I originally tried,
> but this just turned out to be confusing.
> Also, even if you find out the ppp device that is being used,
> it is messy to watch for the death of pppd. You can't recover
> the pid of the pppd process from the device, so you end up
> checking to see if the device is still up every so often.
> Even worse, it turns out that pppd can bring the device down
> and then back up without ever failing (and before someone
> says this must be a bug, it is allowed by the RFC's), so watching
> the status of the device is not a reliable indicator of the fact
> that pppd has died!

It is unfortunate that "monitoring" the status of pppd is so difficult. I
mean, doing a simple script that fire pppd and get back a return code
identifying if it successfully connect should be obvious. It is not.

I know that there is some work being done on pppd for on demand dialing
and stuff like diald is currently doing.

Maybe diald would be much simpler if pppd was more aware that somebody
is calling and indeed would be happy to get a little bit more information
about what pppd have done (success, which ppp device, etc...).

Funny enough the basic principle of Unix does not work very well with
pppd as it is difficult to interoperate at the script level easily with
it. We can call it and that's about it (I know about ip-up and friend).
Look at /sbin/request-route as a withness of this unneeded complexity.

--------------------------------------------------------
Jacques Gelinas (jacques@solucorp.qc.ca)
Linuxconf: The ultimate administration system for Linux.
sunsite.unc.edu:/pub/Linux/system/Admin/linuxconf-...