On Fri, 9 Jan 2004 10:43:13 -0800 Jonathan Lundell <jlundell@lundell-bros.com> wrote: > At 1:18pm +0100 1/9/04, Stephan von Krawczynski wrote: > >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. That cannot be the cause, as the logical interface state is UP in the problem case. Regards, Stephan - : 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