*BSD News Article 33694


Return to BSD News archive

Newsgroups: comp.os.386bsd.misc
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msuinfo!agate!howland.reston.ans.net!usc!elroy.jpl.nasa.gov!decwrl!netcomsv!netcom.com!bakul
From: bakul@netcom.com (Bakul Shah)
Subject: Re: PPP under BSD (have a heart)
Message-ID: <bakulCttyCM.7n@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <317qnl$f1m@cyberspace.com> <michaelv.775404734@ponderous.cc.iastate.edu> <31aajm$gfe@euterpe.owl.de> <31guqq$ghs@Starbase.NeoSoft.COM>
Date: Mon, 1 Aug 1994 00:21:58 GMT
Lines: 32

peter@Starbase.NeoSoft.COM (Peter da Silva) writes:

>In article <31aajm$gfe@euterpe.owl.de>,

>Anyone thought of a good way to get pppd to dial on demand? I've had this
>idea of hooking pppd up via a pty to a daemon that dialed when it got
>activity from pppd and then went into passthrough mode until it saw there
>was no activity for a while and dropped the connect.

What is needed is to transparently keep the if interface up while
the serial line goes up and down.  Probably a bunch of additional
ioctls.  When a line is idle for a (configurable) period of time,
the if_ppp driver signals pppd.  Pppd drops the line and does any
other cleanup processing (such as removing any lock files,
updating accounting records etc.).  When there is some traffic,
if_ppp again signals pppd.  Now ppd will try to acquire *some*
serial line, go through the login dialog and (assuming the other
end is smart enough) tell the driver to use the new serial line.
The driver also signals pppd if the line is dropped by the other
side.  If the other side dials in first on some serial line, it
should be possible to continue with the same if interface.  This
will allow either side to drop the connection when idle and
restablish it when warranted.  Some additional machinery is
needed to verify that the ``other side'' is the same peer and to
finally break the connection.  This scheme will also allow use of
the same serial lines by other programs during periods of
inactivity.  Going from this to use of multiple serial lines
between the same two end points (to increase bandwidth) is a
much smaller step.  You'd also want to control the `either side
can dialup the other side' feature via an ioctl.

Bakul Shah <bvs@BitBlocks.com>