opensm/osm_sa_mcmember_record.c: When consolidating SNM, need separate
group per PKey
If don't do this, leaves on one group can cause the entire group to be
prematurely removed
Also, fix consolidation issue introduced at commit
a20dad09d2dbaecff6c05d4566fe8fac358b614e
Also, cosmetic change to log message
Signed-off-by: Hal Rosenstock <[EMAIL PROTECTED]>
diff --git a/opensm/opensm/osm_sa_mcmember_record.c
b/opensm/opensm/osm_sa_mcmember_record.c
index de174c5..1a9bc54 100644
--- a/opensm/opensm/osm_sa_mcmember_record.c
+++ b/opensm/opensm/osm_sa_mcmember_record.c
@@ -1093,7 +1093,8 @@ __search_mgrp_by_mgid(IN cl_map_item_t * const
p_map_item, IN void *context)
/* 0xff1Z601bXXXX0000 : 0x00000001ffYYYYYY */
/* Where Z is the scope, XXXX is the P_Key, and
* YYYYYY is the last 24 bits of the port guid */
-#define PREFIX_MASK (0xff10ffff0000ffffULL)
+#define PREFIX_NOPKEY_MASK (0xff10ffff0000ffffULL)
+#define PREFIX_MASK (0xff10ffffffffffffULL)
#define PREFIX_SIGNATURE (0xff10601b00000000ULL)
#define INT_ID_MASK (0xfffffff1ff000000ULL)
#define INT_ID_SIGNATURE (0x00000001ff000000ULL)
@@ -1102,15 +1103,15 @@ __search_mgrp_by_mgid(IN cl_map_item_t * const
p_map_item, IN void *context)
uint64_t rcv_prefix =
cl_ntoh64(p_recvd_mgid->unicast.prefix);
uint64_t rcv_interface_id =
cl_ntoh64(p_recvd_mgid->unicast.interface_id);
- if ((rcv_prefix & PREFIX_MASK) == PREFIX_SIGNATURE &&
+ if ((rcv_prefix & PREFIX_NOPKEY_MASK) ==
PREFIX_SIGNATURE &&
(rcv_interface_id & INT_ID_MASK) ==
INT_ID_SIGNATURE &&
(g_prefix & PREFIX_MASK) ==
- (rcv_prefix && PREFIX_MASK) &&
+ (rcv_prefix & PREFIX_MASK) &&
(g_interface_id & INT_ID_MASK) ==
(rcv_interface_id & INT_ID_MASK)) {
OSM_LOG(sa->p_log, OSM_LOG_INFO,
"Special Case Solicited Node Mcast "
- " Join for MGID 0x%016" PRIx64
+ "Join for MGID 0x%016" PRIx64
" : 0x%016" PRIx64 "\n",
rcv_prefix, rcv_interface_id);
} else
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general