[openib-general] Fw: [PATCH] enable IPoIB only if broadcast join finish

2007-02-27 Thread Shirley Ma





Hello Roland,

  Sorry to bother you again. Could you please review below patch to see
it's possible to be in upper stream soon? IPoIB can't ping each other if
broadcast join successfully but encounting any other IB multicast join
failure (like  IB multicast group join failure for default IPv6 link local
solicited address) when bringing the interface up. It does impact IPoIB
usability in large node cluster when MCG LIDs are limited.

Thanks
Shirley Ma


- Forwarded by Shirley Ma/Beaverton/IBM on 02/27/07 06:23 AM -
   
 Shirley   
 Ma/Beaverton/IBM@ 
 IBMUS  To
 Sent by:  Roland Dreier [EMAIL PROTECTED]
 openib-general-bo  cc
 [EMAIL PROTECTED]  openib-general@openib.org   
   Subject
   [openib-general] [PATCH] enable 
 02/05/07 06:50 AM IPoIB only if broadcast join finish
   
   
   
   
   
   




Hi, Roland,

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.

Here is the patch, if possible please give your input asap, we have an
urgent customer issue need to be resolved:

diff -urpN ipoib/ipoib_multicast.c ipoib-multicast/ipoib_multicast.c
--- ipoib/ipoib_multicast.c 2006-11-29 13:57:37.0 -0800
+++ ipoib-multicast/ipoib_multicast.c 2007-02-04 22:34:16.0 -0800
@@ -402,6 +402,11 @@ static void ipoib_mcast_join_complete(in
queue_work(ipoib_workqueue, priv-mcast_task);
mutex_unlock(mcast_mutex);
complete(mcast-done);
+ /*
+ * broadcast join finished, enable carrier
+ */
+ if (mcast == priv-broadcast)
+ netif_carrier_on(dev);
return;
}

@@ -599,7 +604,6 @@ void ipoib_mcast_join_task(void *dev_ptr
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-multicast.patch)

Thanks
Shirley Ma
IBM Linux Technology Center
15300 SW Koll Parkway
Beaverton, OR 97006-6063
Phone(Fax): (503) 578-7638(See attached file: ipoib-multicast.patch)
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit
http://openib.org/mailman/listinfo/openib-general



ipoib-multicast.patch
Description: Binary data
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Re: [openib-general] Fw: [PATCH] enable IPoIB only if broadcast join finish

2007-02-27 Thread Roland Dreier
I don't think this applies any more since Sean's multicast stuff was
merged.  I didn't realize you wanted to get this merged upstream --
anyway, can you please regenerate the patch against the latest kernel?

Thanks

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general



Re: [openib-general] Fw: [PATCH] enable IPoIB only if broadcast join finish

2007-02-27 Thread Shirley Ma




Roland Dreier [EMAIL PROTECTED] wrote on 02/27/2007 02:35:34 PM:

 I don't think this applies any more since Sean's multicast stuff was
 merged.  I didn't realize you wanted to get this merged upstream --
 anyway, can you please regenerate the patch against the latest kernel?

 Thanks
Sure. I will generate a new patch.

Thanks
Shirley Ma___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Re: [openib-general] Fw: [PATCH] enable IPoIB only if broadcast join finish

2007-02-27 Thread Shirley Ma




Hello Roland,

Here is the new patch against 2.6.20-rc1 kernel. Please review it.

diff -urpN ipoib/ipoib_multicast.c ipoib-link/ipoib_multicast.c
--- ipoib/ipoib_multicast.c   2007-02-27 07:21:50.0 -0800
+++ ipoib-link/ipoib_multicast.c2007-02-27 07:52:10.0 -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

ipoib-link.patch
Description: Binary data
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general