On Thu, 8 Jan 2004 17:00:42 -0800 Jonathan Lundell <jlundell@lundell-bros.com> wrote:
At 1:45am +0100 1/9/04, Willy Tarreau wrote: > > It's unfortunate that the two conditions are conflated by most net > > drivers. > >IMHO, saying "most net drivers" is unfair : tg3, tulip, 3c59x, starfire, >realtek, sis900, dl2k, pcnet32, and IIRC sunhme are OK. eepro100 is nearly >OK but has this annoying bug, and only older 10 Mbps drivers don't report >their status, often because the chip itself doesn't know.
I'm sure you're right; I should have said most of the drivers that I'm using (including e100 &e1000).
Can we find the cause for this obviously buggy behaviour inside the source?
Where is the handling of physical up/down events different in tulip compared to
e100(0) ?
In e1000 5.2.20 (as in earlier versions), the link-state reporters rely on netif_carrier_ok() for the state, which is in turned maintained by the driver's watchdog timer.
e1000_down() both cancels the watchdog timer and calls netif_carrier_off(), guaranteeing that if the interface is logically down, the link will be reported as down regardless of the actual link state.
I think e100 works the same way, though I haven't looked at the New & Improved version.
--
/Jonathan Lundell.
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html