[openib-general] Multicast join group failure prevents IPoIB performing

Shirley Ma xma at us.ibm.com
Sat Feb 3 08:54:41 PST 2007






According to IPoIB RFC4391 section 5, once IPoIB broadcast group has been
joined, the IPoIB link should be UP, since it's ready for data transfer,
the interface should be able to run for broadcast and unicast, do not need
to wait for all multicast join successfully. Here is the patch to allow
IPoIB interface running without waiting for all multicast join succesful,
like all host group multicast join .... Here is the patch:

diff -urpN ipoib/ipoib_multicast.c ipoib-patch/ipoib_multicast.c
--- ipoib/ipoib_multicast.c   2006-11-29 13:57:37.000000000 -0800
+++ ipoib-patch/ipoib_multicast.c   2007-02-03 00:52:23.000000000 -0800
@@ -566,6 +566,7 @@ void ipoib_mcast_join_task(void *dev_ptr

      if (!test_bit(IPOIB_MCAST_FLAG_ATTACHED, &priv->broadcast->flags)) {
            ipoib_mcast_join(dev, priv->broadcast, 0);
+           netif_carrier_on(dev);
            return;
      }

@@ -599,7 +600,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: multicast.patch)

http://www.rfc-editor.org/rfc/rfc4391.txt

5.  Setting Up an IPoIB Link

   The broadcast-GID, as defined in the previous section, MUST be set up
   for an IPoIB subnet to be formed.  Every IPoIB interface MUST
   "FullMember" join the IB multicast group defined by the broadcast-
   GID.  This multicast group will henceforth be referred to as the
   broadcast group.  The join operation returns the MTU, the Q_Key, and
   other parameters associated with the broadcast group.  The node then
   associates the parameters received as a result of the join operation
   with its IPoIB interface.  The broadcast group also serves to provide
   a link-layer broadcast service for protocols like ARP, net-directed,
   subnet-directed, and all-subnets-directed broadcasts in IPv4 over IB
   networks.

   The join operation is successful only if the Subnet Manager (SM)
   determines that the joining node can support the MTU registered with
   the broadcast group [RFC4392] ensuring support for a common link MTU.
   The SM also ensures that all the nodes joining the broadcast-GID have
   paths to one another and can therefore send and receive unicast
   packets.  It further ensures that all the nodes do indeed form a
   multicast tree that allows packets sent from any member to be
   replicated to every other member.   Thus, the IPoIB link is formed by
   the IPoIB nodes joining the broadcast group.  There is no physical
   demarcation of the IPoIB link other than that determined by the
   broadcast group membership.


Shirley Ma




                                                                           
             Shirley                                                       
             Ma/Beaverton/IBM@                                             
             IBMUS                                                      To 
             Sent by:                  openib-general at openib.org           
             openib-general-bo                                          cc 
             unces at openib.org                                              
                                                                   Subject 
                                       [openib-general] Multicast join     
             02/02/07 08:58 PM         group failure prevents IPoIB        
                                       performing                          
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




When bringing IPoIB interface up, I hit default group multicast join
failure. (This could be fixed in SM set up?)
ib0: multicast join failed for xxxx, status -22
Then the interface was UP but not RUNNING. So the nodes couldn't ping each
other. I think the right behavior of the interface should be UP and RUNNING
even with some multicast join failure. I would like to provide a patch if
there is no problem. Please advise.

Thanks
Shirley Ma_______________________________________________
openib-general mailing list
openib-general at openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit
http://openib.org/mailman/listinfo/openib-general
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20070203/dcec05be/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20070203/dcec05be/attachment.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pic07588.gif
Type: image/gif
Size: 1255 bytes
Desc: not available
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20070203/dcec05be/attachment-0001.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ecblank.gif
Type: image/gif
Size: 45 bytes
Desc: not available
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20070203/dcec05be/attachment-0002.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: multicast.patch
Type: application/octet-stream
Size: 684 bytes
Desc: not available
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20070203/dcec05be/attachment.obj>


More information about the general mailing list