[ofa-general] [PATCH] resubmit: enable IPoIB only if broadcast join finish

Shirley Ma xma at us.ibm.com
Thu Mar 1 14:55:55 PST 2007






Hello, Roalnd,

According to IPoIB RFC4391 section 5, once IPoIB broacast group has been
joined, the interface should be ready for data transfer. Below patch is
going to enable IPoIB carrier only if broadcast join successfully. Any
other multicast join failure shouldn't prevent IPoIB interface from ready
transferring data.

This patch is built against 2.6.21-rc1 kernel. Please review it.

Signed-off-by: Shirley Ma <xma at us.ibm.com>

diff -urpN ipoib/ipoib_multicast.c ipoib-link/ipoib_multicast.c
--- ipoib/ipoib_multicast.c   2007-02-27 07:21:50.000000000 -0800
+++ ipoib-link/ipoib_multicast.c    2007-02-27 07:52:10.000000000 -0800
@@ -407,6 +407,11 @@ static int ipoib_mcast_join_complete(int
                  queue_delayed_work(ipoib_workqueue,
                                 &priv->mcast_task, 0);
            mutex_unlock(&mcast_mutex);
+           /*
+            * broadcast join finished, enable carrier
+            */
+           if (unlikely(mcast == priv->broadcast))
+                 netif_carrier_on(dev);
            return 0;
      }

@@ -596,7 +601,6 @@ void ipoib_mcast_join_task(struct work_s
      ipoib_dbg_mcast(priv, "successfully joined all multicast groups\n");

      clear_bit(IPOIB_MCAST_RUN, &priv->flags);
-     netif_carrier_on(dev);
 }

 int ipoib_mcast_start_thread(struct net_device *dev)

(See attached file: ipoib-link.patch)

Thanks
Shirley Ma
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20070301/dc7324f5/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipoib-link.patch
Type: application/octet-stream
Size: 816 bytes
Desc: not available
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20070301/dc7324f5/attachment.obj>


More information about the general mailing list