
For 2.4, you dont need this. The kernel already supports pppoe
just enable it.
The pppoe page for 2.4 is at:
http://www.math.uwaterloo.ca/~mostrows/

I keep getting a lot of questions, some of them although related are
really independent of this package;
so this is an attempt to document the most frequently asked.
The package is located at: http://www.davin.ottawa.on.ca/pppoe/
[New mirror site: ftp://ftp.netwinder.org/pub/mirrors/pppoe/]

It has been tested on Intels, ARM, Sparcs and PowerPC architectures
(these is from reports I have been getting).

Kal Lin maintains a good web page at:
http://www.cs.toronto.edu/~kal/hse/resource.html
It might help resolve your problem.

There are other solutions which are user space based. 

http://www.ecf.toronto.edu/~stras/pppoe.html 
http://www.hub.org/~gfischer/pppoe.html 
http://www.roaringpenguin.com/pppoe.html 
http://members.xoom.com/mmeichholz/pppoe.html 

You can also search freshmeat for probably more or probably write
Yet Another One. PPPOE is a very simple protocol.

With version 0.48 onwards, you dont need to patch or compile
the kernel anymore.
An idiot proof install script is supplied. There is therefore
absolutely no good reason to use  a user-space solution.
Regardless of how efficiently it is written it will have a
relative impact on your performance
Technically, a user-space solution adds two more context switches
and two extra copies _per packet_ 
You do the math.
You might still need the user-space solution for kernel 2.0.*
I dont have any plans to backport to 2.0, but if there is
extreme pressure to backport to 2.2, i'll consider it.


-------------------------------------------------------------------

MTU issues for masqueraded gateways: Hallelujah! we have a solution
that I consider to be much cleaner than touching all the boxes that
Linux is masquerading for.  Look at Marc Boucher's mssclampfw module 
included starting version 0.43 for both 2.2 and 2.3.

-1) How Do I compile the kernel?
I am sorry that is a topic outside of my control. Read the Kernel HOWTO.

UPDATE: with 0.48 you dont need to compile the kernel

0) How do I patch? 
I have tried my best to tell you in simple instructions how to do this
in the INSTALL. Enough so that you can patch for pppoed.
You might need other documentation to get more familiar with the
concept. "man patch" is a very good start.

UPDATE: with 0.48 you dont need to patch the kernel

1)pppoed: cannot open /dev/pppox0: No such device

Means you dont have the device created, or dont have the correct minor/major 
numbers or in the worst case you havent really compiled pppox support.
Most of the time this is caused also by trying to use already existing code
from  versions lower than 0.4 with 0.4 user space tools (pppoed)

2) Very weird compile errors such as missing header files etc:

Some distributions (such as slackware) use old glibcs and compilers.
Here's my setup which I know works(Redhat 6.1):
	glibc 2.1.*
	egcs-2.91.66 

Jason Walton <jcwalton@chat.carleton.ca> seems to have done a good job
at dealing with slackware 4.0 issues.
Since I have continued to receive these questions, Jason has been kind 
enough to set up a web page at: http://www.thedreaming.org/pppoed.html

3) Some cards startup pppoed+pppd and die but the connection remains setup.
Beats the reason to have the -R in the first place.
I am told that some tulip cards are notorious for this. I have
absolutely no clue what the problem is since it's never happened to
me. Try to get the latest drivers from Donald Becker's web
site. They tend to be more up to date than the ones in the kernel.

Matthew Darwin has provided a script that is a workaround for
these kind of problems located under contribs directory, filename
keepalive.ppp

2000-01-14: I am now sure this is a glibc problem. I am afraid, you
have to upgrade to newer glibcs.

2000-02-14: Damn! it happened to me on my laptop after upgrading to RH6.0!
Confirmed it is a glibc-kernel associated problem.
And here i was naively thinking that glibc fixed this problem a long
time ago! 
The solution is as follows(you need to do this only once):

---------------------
- Ensure that you have a /usr/src/linux symlinked to the kernel you are
using.

- Make sure your /usr/include/asm, /usr/include/linux, and /usr/include/scsi
   directories are just symlinks to the kernel sources:

                cd /usr/include
                rm -rf asm linux scsi
                ln -s /usr/src/linux/include/asm-i386 asm
                ln -s /usr/src/linux/include/linux linux
                ln -s /usr/src/linux/include/scsi scsi

---------------------

4)
I keep seeing these messages in my log file every time I ran pppoed:

----
 Jan 28 23:54:40 myhost modprobe: can't locate module ppp-compress-21
 Jan 28 23:54:41 myhost modprobe: can't locate module ppp-compress-24
 Jan 28 23:54:42 myhost modprobe: can't locate module ppp-compress-21
 Jan 28 23:54:42 myhost modprobe: can't locate module ppp-compress-24
.
.
---

These have absolutely nothing to do with pppoed. They are pppd related
but since you asked ...

Add the following lines to /etc/conf.modules

alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate

5) 
How come my ipchains rules are not automatically run when pppoed
is run?

Again this has nothing to do with pppoed. But since you asked, here's
the answer.... I'll tell you how I do mine in 2.2.
Kal Lin has a better description:

I put my rules in /etc/ppp/ip-up.local
When ppp comes up, it will execute this script. Make sure you
have execute permission on this file.
Note in my case my box is masquerading as well.

------
#enable forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
#cleanup the old rules
/sbin/ipchains -F
#restore our masquerading rules.
/sbin/ipchains-restore </etc/ipchains.conf
----

Rules stored in ipchains.conf

----
# my internal hosts use 10.0.0.0 addresses
-P forward DENY
-A forward -s 10.0.0.0/24 -j MASQ
----

6) Sometimes, web-forms, ftp etc dont work from a masqueraded box
but works fine from the masquerading box running.

I have found that this has to do with identd; You need an indentd
that spoofs responses for you on the masquerading box. Search freshmeat
for masquerading friendly identds. 


7) Can i dial on demand?

Look at the diald configuration supplied. In the future, you should
be able to just use plain pppd for this.

As of version 0.46 you should be able to use pppd dial on demand.
Look at the included document.
