linux/drivers/infiniband/ulp/ipoib
Moni Shoua 5ee9512084 IPoIB: Don't turn on carrier for a non-active port
Multicast joins can succeed even if the IB port is down.  This happens
when the SM runs on the same port with the requesting port.  However,
IPoIB calls netif_carrier_on() when the join of the broadcast group
succeeds, without caring about the state of the IB port.  The result
is an IPoIB interface in RUNNING state but without an active IB port
to support it.

If a bonding interface uses this IPoIB interface as a slave it might
not detect that this slave is almost useless and failover
functionality will be damaged.  The fix checks the state of the IB
port in the carrier_task before calling netif_carrier_on().

Adresses: https://bugs.openfabrics.org/show_bug.cgi?id=1726
Signed-off-by: Moni Shoua <monis@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2009-09-24 12:01:05 -07:00
..
ipoib_cm.c IPoIB: Remove unused <rdma/ib_cache.h> includes 2009-09-05 20:23:38 -07:00
ipoib_ethtool.c IPoIB: Clean up ethtool support 2008-10-22 15:49:29 -07:00
ipoib_fs.c RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
ipoib_ib.c IPoIB: Remove unused <rdma/ib_cache.h> includes 2009-09-05 20:23:38 -07:00
ipoib_main.c IPoIB: Drop priv->lock before calling ipoib_send() 2009-09-05 20:23:40 -07:00
ipoib_multicast.c IPoIB: Don't turn on carrier for a non-active port 2009-09-24 12:01:05 -07:00
ipoib_verbs.c IPoIB: Get rid of ipoib_mcast_detach() wrapper 2008-07-14 23:48:50 -07:00
ipoib_vlan.c net: Fix ipoib rtnl_lock sysfs deadlock. 2009-05-18 22:15:59 -07:00
ipoib.h infiniband: remove IPOIB_GID_RAW_ARG, IPOIB_GID_ARG, IPOIB_GID_FMT 2008-10-28 23:02:37 -07:00
Kconfig IPoIB: Correct help text for INFINIBAND_IPOIB_DEBUG 2008-07-24 20:37:25 -07:00
Makefile IPoIB: Add basic ethtool support 2008-04-16 21:09:32 -07:00