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 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