Subject: PPPoE causing kernel crash
To: Martin Husemann <martin@duskware.de>
From: Rick Byers <rb-netbsd@BigScaryChildren.net>
List: current-users
Date: 10/22/2001 21:17:25
Hi,
Thanks for doing the kernel PPPoE stuff, its much nicer to use than the
userland hacks.  I just set it up yesterday, and it appears to be mostly
working.  However, occasionally my kernel crashes (and I have some other
questions too):

A few times now, after pppoe has been running for a while (~30 minutes?)
and possibly after I've destroyed and recreated the interface atleast once
(I think that was the case all 3 times now, not sure if its relevant) I
get a page fault in sppp_keepalive (+0x2c).  I don't have much more detail
than that at the moment (trying to figure out why I can't get a kernel
core dump).  What can I do to help narrow down the problem next time it
happens?  Would a core dump be usefull?  How about tcpdump on the
ethernet interface before the crash?  I doubt a local tcpdump would have
time to flush its output to disk before the crash if the crash was caused
by some weird PPPoE packet, however I might be able to setup another
computer on the same ethernet segment temporarily if it would be helpfull.
What snaplen do I need to use to get all relevant PPPoE data?  I am
running -current as of today on i386 (although I have yet to rebuild my
userland - still using the August 1.5X snapshot userland with pppoectl
binary copied from another 1.5Y machine).

Even if I don't create the pppoe0 interface and don't call pppoectl to
associate it with an ethernet interface, pppoe still seems to be listening
on my ethernet interface.  I get "pppoe: received PADO but could not find
request for it" kernel messages.  This isn't causing an immediate problem
or anything, but surprised me a little.  I expect it would be nice to have
pppoe in GENERIC, but probably only if it was completely inactive until a
pppoe interface was created.

Is there any way to see what the remote IP address is?  After the link has
been established, ifconfig pppoe0 still lists "0.0.0.1" as the remote IP
(although it does have the correct local IP).

Is "route add -ifp pppoe0 default 0.0.0.1" the correct way to add a
default route bound to the interface (i.e. immune to IP address change)?

Thanks,
	Rick