浏览代码

[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 14 年前
父节点
当前提交
50242e4202
共有 2 个文件被更改,包括 5 次插入1 次删除
  1. 2
    1
      src/drivers/net/ipoib.c
  2. 3
    0
      src/include/gpxe/infiniband.h

+ 2
- 1
src/drivers/net/ipoib.c 查看文件

@@ -708,7 +708,8 @@ void ipoib_link_state_changed ( struct ib_device *ibdev ) {
708 708
 		 sizeof ( mac->gid.u.half[0] ) );
709 709
 
710 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 714
 	/* Set net device link state to reflect Infiniband link state */
714 715
 	rc = ib_link_rc ( ibdev );

+ 3
- 0
src/include/gpxe/infiniband.h 查看文件

@@ -33,6 +33,9 @@ FILE_LICENCE ( GPL2_OR_LATER );
33 33
 /** Default Infiniband partition key */
34 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 40
  * Maximum payload size
38 41
  *

正在加载...
取消
保存