Browse Source

[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.
tags/v1.0.0-rc1
Michael Brown 15 years ago
parent
commit
50242e4202
2 changed files with 5 additions and 1 deletions
  1. 2
    1
      src/drivers/net/ipoib.c
  2. 3
    0
      src/include/gpxe/infiniband.h

+ 2
- 1
src/drivers/net/ipoib.c View File

708
 		 sizeof ( mac->gid.u.half[0] ) );
708
 		 sizeof ( mac->gid.u.half[0] ) );
709
 
709
 
710
 	/* Update broadcast GID based on potentially-new partition key */
710
 	/* Update broadcast GID based on potentially-new partition key */
711
-	ipoib->broadcast.gid.u.words[2] = htons ( ibdev->pkey );
711
+	ipoib->broadcast.gid.u.words[2] =
712
+		htons ( ibdev->pkey | IB_PKEY_FULL );
712
 
713
 
713
 	/* Set net device link state to reflect Infiniband link state */
714
 	/* Set net device link state to reflect Infiniband link state */
714
 	rc = ib_link_rc ( ibdev );
715
 	rc = ib_link_rc ( ibdev );

+ 3
- 0
src/include/gpxe/infiniband.h View File

33
 /** Default Infiniband partition key */
33
 /** Default Infiniband partition key */
34
 #define IB_PKEY_DEFAULT 0xffff
34
 #define IB_PKEY_DEFAULT 0xffff
35
 
35
 
36
+/** Infiniband partition key full membership flag */
37
+#define IB_PKEY_FULL 0x8000
38
+
36
 /**
39
 /**
37
  * Maximum payload size
40
  * Maximum payload size
38
  *
41
  *

Loading…
Cancel
Save