netdev
[Top] [All Lists]

Re: RFC: PPP over X

To: jamal <hadi@xxxxxxxxxx>
Subject: Re: RFC: PPP over X
From: Mark Spencer <markster@xxxxxxxxx>
Date: Sun, 6 Feb 2000 12:28:42 -0600 (EST)
Cc: Michal Ostrowski <mostrows@xxxxxxxxxxxxxxxxx>, Henner Eisen <eis@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxx, axboe@xxxxxxx, mitch@xxxxxxxxxx, Andi Kleen <ak@xxxxxxx>, Marc Boucher <marc@xxxxxxx>, paulus@xxxxxxxxxxxxx, Ben LaHaise <bcrl@xxxxxxxxxx>
In-reply-to: <Pine.GSO.4.20.0002061140570.1009-100000@xxxxxxxxxxxxxxxx>
Sender: owner-netdev@xxxxxxxxxxx
> Is there a good reason as to why you did it this way (other than probably
> the code being smaller)?

It fit in well with the current pppd model.

> In particular with the Multi-PPP, how does it provide an advantage?

I put some mechanisms in the kernel to use the two parameters provided by
the MPPP spec to decide which should bundle, and provided an override
capability for pppd, if so desired.  I really don't think that the
userspace programs should have to confer with one another to decide who
should go in an MP bundle.

My method allowed any pppd to know whether it was a master or a slave
channel and the kernel could dynamically add and drop channels to/from a
bundle.

> You mention some relationship between the channels for MPPP; i just dont
> think that exists today; 

My patches were accepted but never applied, and (being a novice) I did not
continue to submit them beyond the first time.

> Mind to comment please (and whether moving to the socket interface
> will screw this grand scheme of things)

I really just don't see the socket advantage.  What's missing here is a
clear description for just what it is we're looking to accomplish, and a
good model for designing such a system.  For example, consider L2TP...  As
an LNS, I want to read PPP frames from a network socket (with l2tp
encapsulation) and then send them to the network layer or a pppd.  The
most likely scenario I can see for that is to create a socket, then call
some ioctl()'s to make the kernel aware of new connections and such.  Then
I need a way to apply those to PPP channels, and launch a pppd to handle
the negotiations.  We want the datapath within the kernel to be fast (no
copies).  

Now, if I'm a LAC, I want to copy PPP frames from a device (say, a tty or
ISDN driver, or even another pppd) to my L2TP socket...  Can this also be
done with a kernel datapath?  My API didn't really have a mechanism for
doing so, but it would be nice if the new one did.

Mark

p.s.  Would you like me to setup a mailing list for this?  I've got
majordomo and it wouldn't take me but a few minutes to do so.


<Prev in Thread] Current Thread [Next in Thread>