[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: advantages/disadvantages of kernel pppoe(4) vs userland pppoe(8)?

---- Original message ----
>Date: Fri, 21 Apr 2006 14:30:00 +0200 (CEST)
>From: Jonathan Thornburg <jthorn_(_at_)_aei_(_dot_)_mpg_(_dot_)_de>  
>Subject: advantages/disadvantages of kernel pppoe(4) vs userland pppoe(8)?  
>To: misc_(_at_)_openbsd_(_dot_)_org
>Cc: Jonathan Thornburg <jthorn_(_at_)_aei_(_dot_)_mpg_(_dot_)_de>
>I'm about to setup up ADSL at home for the first time, using the
>following network topology:
>ADSL        +-------+          +----------+         +----------+
>to  <-----> |  DSL  |<-------> | firewall | <-----> | ethernet |
>ISP         | modem |  pppoe   | + router |         |  switch  |
>             +-------+          | + nat    |         +----------+
>                                +----------+          |   |    |
>                                                      V   V    V
>                                                   to other computers
>The firewall/router/nat box is (will be when I get this setup)
>an old 486 laptop with 2 pcmcia ethernet cards, running 3.9-stable.
>(Yes, I've ordered a CD; until it arrives I'm using 3.8-stable.)

i might worry that the 486 can't handle the work you're going to give it, but i
haven't tested this hypothesis. i have a 486 DX2/50 laying around and it was so
slow that ssh and terminal sessions to it were unacceptably sluggish. it wasn't
handling any packets or filtering either, YMMV.

>I already have the (external) DSL modem, and from talking to other
>Unix-savvy customers of my ISP (arcor.de), their setup is that the
>DSL modem talks pppoe to me (in this case to my firewall/router/nat
>box).  From looking at the FAQ section 6, it seems I have two basic
>options available doing this in OpenBSD: pppoe(4) in the kernal, and
>pppoe(8) in userland.  My question is, what are the relative
>advantages/disadvantages of these?
>The obvious tradeoff is performance: I expect pppoe(8) to be slower
>due to the extra kernel/user-space crossings for each packet.  My
>ADSL is 6M bits/sec downstream, 0.5M upstream.
>But are there other significant differences in
>* support for pppoe features?
>* ease of configuration?
>* reliability?

i've used the userland pppoe for several years and i'm none too keen on how it
works. all your settings are in /etc/ppp/ppp.X files and the standard thing to
do is have PF brought up when the pppoe link, tun0 in this case, goes up (put
pfctl -e -f /etc/pf.conf in ppp.linkup). the debugging outputs from the userland
version are crappy too. 

i'm quite happy with the kernel pppoe since you can put all your configuration
into the /etc/hostname.pppoe0 file and be done with it. you can also set PF=yes
in your rc.conf.local instead of having it brought up and down with the pppoe
link. the wildcarding for your IP and your default route upstream are optional,
allowing you to more clearly see how the routing works, instead of "ppp pppoe"
doing it for you.