Re: Problem with 2.4.24 e1000 and keepalived

From: Jonathan Lundell
Date: Fri Jan 09 2004 - 14:16:13 EST


At 1:18pm +0100 1/9/04, Stephan von Krawczynski wrote:
On Thu, 8 Jan 2004 17:00:42 -0800
Jonathan Lundell <jlundell@xxxxxxxxxxxxxxxx> 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.
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html