Re: 3C905b partial lockup in 2.4.5-pre5 and up to 2.4.6-pre1

Jeff Garzik
2001-06-10T16:48:36Z

Russell King wrote:
> Indeed. However, I don't believe user space should _rely_ on the flag.
> The reason is that there are network cards out there where the only way
> to get the link status _is_ to transmit a packet, even on 10baseT.
>
> PCNET is one example - the "oh my god my link is down" status bit is in
> the transmit ring headers, not in an easily accessible register.
>
> The only interpretation user space can place on IFF_RUNNING for these
> cards is that if its not set, packets will get dropped by the interface.
> If its set, packets _may_ be dropped by the interface.

These are the exception not the rule, though, so I don't think we should
design primarily for them. On most decent cards, we can not only ask
for link status from a register, but also get interrupts when link
change occurs [though we may still need a timer for certain link
states].

> [note I've not found anything in 2.4.5 where netif_carrier_ok prevents
> the net layers queueing packets for an interface, and forwarding them
> on for transmission].

we want netif_carrier_{on,off} to emit netlink messages. I don't know
how DaveM would feel about such getting implemented in 2.4.x though,
even if well tested.

Note we went over netif_carrier_xxx and related issues not a week ago,
IIRC

Jeff

P.S. netdev@oss.sgi.com added to cc. please cc there on net
interface/driver issues...

--
Jeff Garzik | Andre the Giant has a posse.
Building 1024 |
MandrakeSoft |