Date: Wed, 28 Mar 2001 12:02:10 +0400 From: Yar Tikhiy <yar@comp.chem.msu.su> To: Archie Cobbs <archie@dellroad.org> Cc: freebsd-stable@FreeBSD.ORG, freebsd-net@FreeBSD.ORG Subject: Re: Kernel Panic on 4.3-RC #0 using PPPoE Message-ID: <20010328120209.A35959@comp.chem.msu.su> In-Reply-To: <20010328113049.B28919@comp.chem.msu.su>; from yar@comp.chem.msu.su on Wed, Mar 28, 2001 at 11:30:49AM %2B0400 References: <4.2.2.20010327070955.01db1268@192.168.0.12> <200103272040.f2RKeBn44013@arch20m.dellroad.org> <20010328113049.B28919@comp.chem.msu.su>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Mar 28, 2001 at 11:30:49AM +0400, Yar Tikhiy wrote: > > Please take a careful look at the frames 6 through 9 of the stack > trace in PR#25478, so you may notice that your patch happens to do > nothing about the broblem. You are going to add a check for IFF_UP > to ether_output_frame() while that function is just a bottom half > of ether_output(), which does do the check at its very beginning. Just a clarifying note: Please keep in mind that ether_output() (frame 9) through vlan_start() (frame 7) are called on a vlan interface while fxp_start() (frame 6) is called on a different interface - fxp. > The real problem is that ethernet card drivers rely on ether_output() > making sure they are up before calling their if_output()s. AFAIK > the vlan driver is the only piece of code where the standard > ether_output()->if_output() order is bypassed, and an if_output() > routine of an ethernet card is called directly. Therefore, the > IFF_UP check should be in the vlan code, and I'm going to commit > a corresponding fix (PR: kern/22179). Any objections? Please substitute "if_output" with "if_start" when reading the above paragraph. Sorry :-) SY, Yar To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010328120209.A35959>