Quellcode durchsuchen

[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 vor 14 Jahren
Ursprung
Commit
50242e4202
2 geänderte Dateien mit 5 neuen und 1 gelöschten Zeilen
  1. 2
    1
      src/drivers/net/ipoib.c
  2. 3
    0
      src/include/gpxe/infiniband.h

+ 2
- 1
src/drivers/net/ipoib.c Datei anzeigen

@@ -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 Datei anzeigen

@@ -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
  *

Laden…
Abbrechen
Speichern