[openib-general] [PATCH] IPoIB network interface "RUNNING" status with the cable disconnected - fix

Jason Gunthorpe jgunthorpe at obsidianresearch.com
Mon Mar 20 19:50:08 PST 2006


On Mon, Mar 20, 2006 at 04:12:44PM -0800, Roland Dreier wrote:
>     Leonid>    the patch fixes a problem with the network interface
>     Leonid> "RUNNING" status.  The problem was that the status stayed
>     Leonid> "RUNNING" with the cable disconnected,
> 
> Hmm, is this really a bug?  For example, on my laptop with an e1000
> wired interface with no cable plugged, the interface is still shown as
> RUNNING.

In linux it depends on the driver and chipset if this is
supported.. Alot of the drivers are using the generic MII stuff which
supports carrier detection. In my experience all the common drivers
now support it. It is important because the IPv6 stuff has recently
started using running transitions as triggers to do dad and radv
actions:

 eth0: link down
 eth0: link up, 10Mbps, half-duplex, lpa 0x0000
 ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
 eth0: no IPv6 routers present

Good dhcp clients should also trigger actions on running changes.

e1000 seems to call netif_carrier_on/off at reasonable points so at
least the driver is trying to detect carrier ;>

Since the main use of carrier detect is currently things like IPv6,
it should follow the logical state of the ipoib device - ie the port
is active, the mcast group is ready, etc. That way no radv or dad
packets are sent into oblivion.

Jason



More information about the general mailing list