Finally there is some progress to report on the PPPoE front.
I've got two patches:
http://www.math.uwaterloo.ca/~mostrows/ppp.090400.patch.gz
- Patch against ppp CVS repository (April 9).
- Includes the patch posted by Mitch a while back that added
greater support for plugin hooks throughout pppd
- Includes an adapted version of Jamal's PPPoE
negotiation/discovery daemon which runs as plugin inside pppd
- To use this patch, use the "plugin" option to load the
pppoe.so plugin and follow that up with the device name
(e.g.: "eth0") in the options file.
http://www.math.uwaterloo.ca/~mostrows/pppoe.2.3.99-pre4-5.gz
- Patch against 2.3.99-pre3 (with pre4-5 patch)
- Adds support for PF_PPPOX with a PPPoE protocol
Using this code we have been able to make and maintain PPPoE
connections, BUT:
1. There appears to be a major bug somewhere which is triggered by
calls to "ppp_unregister_channel". After a PPPoE socket is closed
the kernel will oops on a "Scheduling in interrupt". I've made no
progress in tracking this down any further (when the oops is
generated "schedule" has been called from entry.S). If anyone has
any suggestions about this, I'd be happy to try pretty much anything
right now. That being said, the offending call to
ppp_unregister_channel is currently disabled, resulting in a
memory leak.
2. The PPPoE plugin for pppd needs significant work (in particular
getting this code to use AF_PACKET instead of raw AF_INET
sockets). This should be done in the next few weeks/days.
These patches are not ready yet for general use, though myself and
Jamal felt it necessary to get people's comments on them and start
heading towards integration.
Michal Ostrowski
mostrows@xxxxxxxxxxxxxxxxx
|