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