Subject: Re: PPPoE causing kernel crash
To: Rick Byers <rb-netbsd@BigScaryChildren.net>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: current-users
Date: 10/24/2001 20:57:57
On Mon, Oct 22, 2001 at 09:17:25PM -0400, Rick Byers wrote:
> 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

I see it too, on a sparc. I have to destroy and recreate pppoe0 to get
it. A pppoe interface created from scratch at boot it rock solid (my sparc
has been up for 9 days now).

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

Yes, I think this would be helpfull. A crash dump, too. I got one from my
sparc but gdb couldn't get anything usefull out of it.
Also my sparc crashed with an alignement fault so I was looking for an
unaligned access, where it may just be an uninitialised variable.

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

This is something I planned to look at, too.

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

I don't know. I have a fixed IP so I just add the default route to my
local address.

--
Manuel Bouyer <bouyer@antioche.eu.org>
--