Hi Hal, We noticed that when sending MCMemberRecord query, there is a check if the requestor is trusted (if not then PortGid, join_state and proxy_join are returned as zero). But, currently the trusted check is done on the sm_key in the response mad, which is set to zero (according to C15-0.1.5), instead of checking the sm_key in the request mad. The following patch fixes this issue, and also removes a comment out of place.
Thanks, Yael Signed-off-by: Yael Kalka <[EMAIL PROTECTED]> Index: opensm/osm_sa_mcmember_record.c =================================================================== --- opensm/osm_sa_mcmember_record.c (revision 5882) +++ opensm/osm_sa_mcmember_record.c (working copy) @@ -1952,13 +1952,6 @@ __osm_sa_mcm_by_comp_mask_cb( if (! osm_physp_has_pkey( p_rcv->p_log, p_mgrp->mcmember_rec.pkey, p_req_physp )) goto Exit; - /* - * o15-0.1.16: If SA supports UD multicast, then if it receives a - * SubnAdmGetTable() of MCMemberRecord with the MCMemberRecord:PortGID - * wildcarded, then SA shall return a single MCMemberRecord for each - * multicast group that matches the query operation. - */ - /* so did we got the PortGUID mask */ if (IB_MCR_COMPMASK_PORT_GID & comp_mask) { @@ -2219,7 +2212,7 @@ osm_mcmr_query_mgrp(IN osm_mcmr_recv_t* the mad is valid. Meaning - is either zero or equal to the local sm_key. */ - if (p_resp_sa_mad->sm_key == 0) + if (p_rcvd_mad->sm_key == 0) trusted_req = FALSE; for ( i = 0; i < pre_trim_num_rec; i++ ) _______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general