tree b06c073dec56407c784eea3058f5d79da0bf81af
parent ec34a922d243c3401a694450734e9effb2bafbfe
author Roland Dreier <[EMAIL PROTECTED]> Sat, 20 Aug 2005 02:03:17 -0700
committer Roland Dreier <[EMAIL PROTECTED]> Sat, 27 Aug 2005 10:37:37 -0700

[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 <[EMAIL PROTECTED]>

 drivers/infiniband/ulp/ipoib/ipoib_main.c |   12 ++++++++++++
 1 files changed, 12 insertions(+)

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c 
b/drivers/infiniband/ulp/ipoib/ipoib_main.c
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -883,6 +883,12 @@ static ssize_t create_child(struct class
        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 @@ static struct net_device *ipoib_add_port
                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;
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to