summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/ipoib.c
diff options
context:
space:
mode:
authorMichael Brown2009-11-13 20:10:13 +0100
committerMichael Brown2009-11-16 23:14:58 +0100
commit50242e4202f7fc77facfcebca25d107c4abc60c1 (patch)
tree0a784f19bed32aae6622d2888fcef09f48c65750 /src/drivers/net/ipoib.c
parent[infiniband] Rename IB_PKEY_NONE to IB_PKEY_DEFAULT (diff)
downloadipxe-50242e4202f7fc77facfcebca25d107c4abc60c1.tar.gz
ipxe-50242e4202f7fc77facfcebca25d107c4abc60c1.tar.xz
ipxe-50242e4202f7fc77facfcebca25d107c4abc60c1.zip
[ipoib] Always set the "full membership" bit in the IPv4 broadcast GID
The SM always creates the IPoIB multicast groups with full membership partition keys.
Diffstat (limited to 'src/drivers/net/ipoib.c')
-rw-r--r--src/drivers/net/ipoib.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/drivers/net/ipoib.c b/src/drivers/net/ipoib.c
index 06e6a2cf..b8338916 100644
--- a/src/drivers/net/ipoib.c
+++ b/src/drivers/net/ipoib.c
@@ -708,7 +708,8 @@ void ipoib_link_state_changed ( struct ib_device *ibdev ) {
sizeof ( mac->gid.u.half[0] ) );
/* Update broadcast GID based on potentially-new partition key */
- ipoib->broadcast.gid.u.words[2] = htons ( ibdev->pkey );
+ ipoib->broadcast.gid.u.words[2] =
+ htons ( ibdev->pkey | IB_PKEY_FULL );
/* Set net device link state to reflect Infiniband link state */
rc = ib_link_rc ( ibdev );