<html><body>
<p>Hi, Roland,<br>
<br>
Please review this patch. According to IPoIB RFC4391 section 5, once IPoIB broacast group has been joined, the interface should be ready for data transfer. In current IPoIB implementation, the interface is UP and RUNNING when all default multicast join successful. We hit a problem while the broadcast join finishe and sucessful but the all hosts multicast join failure.<br>
<br>
Here is the patch, if possible please give your input asap, we have an urgent customer issue need to be resolved:<br>
<br>
diff -urpN ipoib/ipoib_multicast.c ipoib-multicast/ipoib_multicast.c<br>
--- ipoib/ipoib_multicast.c     2006-11-29 13:57:37.000000000 -0800<br>
+++ ipoib-multicast/ipoib_multicast.c   2007-02-04 22:34:16.000000000 -0800<br>
@@ -402,6 +402,11 @@ static void ipoib_mcast_join_complete(in<br>
                        queue_work(ipoib_workqueue, &priv->mcast_task);<br>
                mutex_unlock(&mcast_mutex);<br>
                complete(&mcast->done);<br>
+               /*<br>
+                * broadcast join finished, enable carrier<br>
+                */<br>
+               if (mcast == priv->broadcast)<br>
+                       netif_carrier_on(dev);<br>
                return;<br>
        }<br>
 <br>
@@ -599,7 +604,6 @@ void ipoib_mcast_join_task(void *dev_ptr<br>
        ipoib_dbg_mcast(priv, "successfully joined all multicast groups\n");<br>
 <br>
        clear_bit(IPOIB_MCAST_RUN, &priv->flags);<br>
-       netif_carrier_on(dev);<br>
 }<br>
 <br>
 int ipoib_mcast_start_thread(struct net_device *dev)<br>
<font size="4"><br>
</font><i>(See attached file: ipoib-multicast.patch)</i><br>
<br>
Thanks<br>
Shirley Ma<br>
IBM Linux Technology Center<br>
15300 SW Koll Parkway<br>
Beaverton, OR 97006-6063<br>
Phone(Fax): (503) 578-7638</body></html>