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 [EMAIL PROTECTED]
with "unsubscribe freebsd-stable" in the body of the message

Reply via email to