[openib-general] RE: [openib-commits] r3137 -gen2/trunk/src/linux-kernel/infiniband/ulp/ipoib

Hal Rosenstock halr at voltaire.com
Sat Aug 20 07:19:12 PDT 2005


Hi Roland,
 
What happens when the port is not a full member of the partition (and only a partial member) ? Is it just that the SA should reject those requests or does some other failure occur ?
 
-- Hal

________________________________

From: openib-commits-bounces at openib.org on behalf of roland at openib.org
Sent: Fri 8/19/2005 3:15 PM
To: openib-commits at openib.org
Subject: [openib-commits] r3137 -gen2/trunk/src/linux-kernel/infiniband/ulp/ipoib



Author: roland
Date: 2005-08-19 12:15:50 -0700 (Fri, 19 Aug 2005)
New Revision: 3137

Modified:
   gen2/trunk/src/linux-kernel/infiniband/ulp/ipoib/ipoib_main.c
Log:
[PATCH] IPoIB: Set full membership bit in P_Keys

Always make sure that the full membership bit is set in the P_Keys
that IPoIB uses.  This makes sure that all hosts join the correct
multicast groups so that hosts that are partial partition members
can talk to the rest of the network.

Signed-off-by: Roland Dreier <rolandd at cisco.com>


Modified: gen2/trunk/src/linux-kernel/infiniband/ulp/ipoib/ipoib_main.c
===================================================================
--- gen2/trunk/src/linux-kernel/infiniband/ulp/ipoib/ipoib_main.c       2005-08-18 19:36:50 UTC (rev 3136)
+++ gen2/trunk/src/linux-kernel/infiniband/ulp/ipoib/ipoib_main.c       2005-08-19 19:15:50 UTC (rev 3137)
@@ -699,7 +699,7 @@
        }

        spin_unlock_irqrestore(&priv->lock, flags);
-      
+
        if (ah)
                ipoib_put_ah(ah);
 }
@@ -883,6 +883,12 @@
        if (pkey < 0 || pkey > 0xffff)
                return -EINVAL;

+       /*
+        * Set the full membership bit, so that we join the right
+        * broadcast group, etc.
+        */
+       pkey |= 0x8000;
+
        ret = ipoib_vlan_add(container_of(cdev, struct net_device, class_dev),
                             pkey);

@@ -935,6 +941,12 @@
                goto alloc_mem_failed;
        }

+       /*
+        * Set the full membership bit, so that we join the right
+        * broadcast group, etc.
+        */
+       priv->pkey |= 0x8000;
+
        priv->dev->broadcast[8] = priv->pkey >> 8;
        priv->dev->broadcast[9] = priv->pkey & 0xff;


_______________________________________________
openib-commits mailing list
openib-commits at openib.org
http://openib.org/mailman/listinfo/openib-commits





More information about the general mailing list