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

Re: OBSD2.8 and PPPOE (on ADSL) confusion...



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 )