Kernel-level PPPoE server

Andrew infofarmer at mail.ru
Mon Jul 12 06:58:43 PDT 2004


On Monday, July 12, 2004 12:48PM +0400, Matthew Seaman wrote:

> Is there any particular reason why you insist on using the kernel
> pppd? This whole question of speed is a shibboleth -- any tiny little
> increase you might get between running user mode PPP vs kernel mode
> PPP[1] is entirely outweighed by the fact that the limiting factor is
> the available downstream bandwidth. Even if you have 10 Mb/s cable,
> either of those PPP implementations will be able to pump data down the
> link at full speed without breaking into a sweat.
> If you need your PPPoE setup and running any time soon, I suggest
> using the usermode PPP. On the other hand, patches to the kernel mode
> PPP to add the functionality you need would certainly be well
> received.
>
> [1] And don't assume that kernel mode PPP will automatically be faster
> in this sense either. You'ld need to make some quite careful
> measurements to be able to say for sure.

Thanks, but I'm just curious - it must be very easy to set up pppd with
pppoed, but nobody seems to have done it at all! As for speed and
perfomance: you can find some tests at [2] and handbook implies it as well
[3]. Now, I know that using mpd is one way, but I think pppd would cope just
fine.

Again: is there a way to open a pty-tty representing current stdin and
stdout?

[2] http://www.jraitala.net/comp/articles/2002/pppoe/
[3]
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ppp-and-slip.html#PPP-AND-SLIP-SYNOPSIS


> On Mon, Jul 12, 2004 at 05:58:12AM +0400, Andrew wrote:
>
> > I run FreeBSD4.10-Release and I want to set up a kernel-level PPPoE
server.
> > The problem is I can't find a way to make pppd work with pppoed. As you
> > know, pppoed executes "exec /usr/sbin/ppp -direct label" by default, but
it
> > can be passed any other line to execute. Pppoed(8) says: "The child
process
> > will have standard input and standard output attached to the same
> > netgraph(4) data socket (see ng_socket(4)) when started." Unfortunately,
> > pppd has no analog of "direct" option for ppp. If we execute pppd
without
> > any tty_name, then it assumes "/dev/tty" and, as expected, exits after
an
> > error: "Failed to open /dev/tty: Device not configured".
> >
> > Since pppoed can execute any line, we can run any script or program
before
> > we invoke pppd. So, is there any way to open a pseudo-terminal that
would
> > connect to current standart input and standart output? Pppoed opens a
pppoe
> > connection via ng_pppoe and ng_socket, all we need for pppd to work is a
> > device (tty) representing the data socket.
> >
> > Is there any other way to get pppd and pppoed working together?
> >
> > Is there any other way to set up a fast pppoe server under FreeBSD?



More information about the freebsd-questions mailing list