[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: OBSD2.8 and PPPOE (on ADSL) confusion...
- To: nino@cng.fr (Nino Margetic)
- Subject: Re: OBSD2.8 and PPPOE (on ADSL) confusion...
- From: Steve Williams <steve@genie96.com>
- Date: Tue, 31 Oct 2000 22:11:05 -0700 (MST)
- Cc: misc@openbsd.org
- Read-Receipt-To: steve@genie96.com
Hi,
I know three people ( myself included ) that have not been able to get
the "stock" pppoe in -current ( 2.8 ) working 100 % reliable ( under
high load ).
Please note, some people appear to have gotten it working. However, the
way it is designed, it may not be apparent that it is not working
properly unless it is stress tested, AND debugging is enabled to see the
connections dropping and being re-established. ( the PPP automatically
re-establishes the connection when it drops, and no connections are
terminated, so it's not apparent that there was a problem, just a 2-3
second "hang", and everything resumes where it was ).
Yes, it works fantastic in a low-load environment, telnet, single ftp
session to a slow link. But, try ftping in 4 sessions to fast servers,
and the problems occur.
I can duplicate it 100 % of the time.
PPPoE is also not very suitable for a NAT environment. The MTU of the
PPPoE segment is 1492, not 1500 of standard ethernet. This causes all
sorts of obscure problems with web browsing from behind the firewall.
I have URL's that detail the problems if anyone's interested ( or check
the mailing list archives for a post from me ).
All in all, PPPoE is a very gross hack ( as far as I am concerned ), and
should be avoided if possible. If it's not possible, it is possible to
get it working ( I am using PPPoE ported from another BSD, which is a
very basic implementation ), but be aware of the limitations.
The PPPoE Discovery is very straight forward, and seems 100 % reliable,
I've never seen it fail. It's just the manipulation of every packet
to add/strip headers that bothers me.
The implementation of PPPoE in OpenBSD is VERY well done, great code,
easy to understand, well written, etc ( that's to cover my ass <wink>).
Using Userland PPP, Userland PPPoE
A packet comes in from the world
the Ethernet Headers are stripped off
the PPPoE Headers are stripped off
the packet is sent to PPP ( via a socket )
*** Context Switch **
the PPP Headers are stripped off
the IP packet is then sent out onto the network
Try to figure out how many times each packet is copied between
buffers.... Good Luck!
>
> Dear all,
>
> *** I am confused. On one hand I have seen a report which says pppoe with
> 2.8 (or -current) works fine:
>
> > Configuring OpenBSD 2.8-beta (and later) to work with Verizon's ADSL service
> > is rather easy; pppoe and userland ppp work *almost* without a hitch. Here's
>
> *** and on the other I have seen at least two people saying quite the
> opposite:
>
> > The stock PPPoE implementation in -current is 100 % unreliable in high
> > load situations FOR ME. I can get it 100 % RELIABLE by setting the
> > SO_RCV & SO_SND BUF's to 65536 on all file descriptors, but that is a
>
> *** Can someone explain if the OBSD pppoe code is still changing (so there
> may be times when it works and when it doesn't) or is the a more sinister
> (or, for that matter, simpler) explanation??
>
> TIA.
>
> --Nino
>
>
--
Steve Williams, Calgary, Alberta, Canada
Genie Computer Systems Inc.
steve@genie96.com
"A man doesn't begin to attain wisdom until he recognizes that he is
no longer indispensable."
- Admiral Richard E. Byrd ( 1888-1957 )