Kernel-level PPPoE server

Andrew infofarmer at mail.ru
Sun Jul 11 18:54:10 PDT 2004


Hi! I'm fighting my way through manuals and mailing-list archives and I hope
you won't mind a dumb question.

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?

Thanks,
Andrew



More information about the freebsd-questions mailing list