[ofa-general] Patch for libvendor incompatibility with QLogic SM

Mike Heinz michael.heinz at qlogic.com
Thu Dec 18 12:03:47 PST 2008


> Shouldn't there be a similar patch for osm_vendor_mlx_sa.c ? I thought you had this originally.

Yes, originally there was - but from our discussions over the past few days, I thought we were limiting the scope of the change. I've added it back to the patch, and I'm not clear when the mlx version is used in preference to the umad version. Note that this version no longer sets num_path for LID based queries - I noticed that those queries are IB_MAD_METHOD_GET, not IB_MAD_METHOD_GETTABLE, so they don't need the attribute.

Signed-off-by: Michael Heinz <mheinz at qlogic.com>

--- osm_vendor_ibumad_sa.c.orig	2008-10-20 01:00:09.000000000 -0400
+++ osm_vendor_ibumad_sa.c	2008-12-18 14:50:49.000000000 -0500
@@ -615,7 +615,8 @@
 		sa_mad_data.attr_offset =
 		    ib_get_attr_offset(sizeof(ib_path_rec_t));
 		sa_mad_data.comp_mask =
-		    (IB_PR_COMPMASK_DGID | IB_PR_COMPMASK_SGID);
+		    (IB_PR_COMPMASK_DGID | IB_PR_COMPMASK_SGID | IB_PR_COMPMASK_NUMBPATH);
+		path_rec.num_path = 0x7f;
 		sa_mad_data.p_attr = &path_rec;
 		ib_gid_set_default(&path_rec.dgid,
 				   ((osmv_guid_pair_t *) (p_query_req->
@@ -634,7 +635,8 @@
 		sa_mad_data.attr_offset =
 		    ib_get_attr_offset(sizeof(ib_path_rec_t));
 		sa_mad_data.comp_mask =
-		    (IB_PR_COMPMASK_DGID | IB_PR_COMPMASK_SGID);
+		    (IB_PR_COMPMASK_DGID | IB_PR_COMPMASK_SGID | IB_PR_COMPMASK_NUMBPATH);
+		path_rec.num_path = 0x7f;
 		sa_mad_data.p_attr = &path_rec;
 		memcpy(&path_rec.dgid,
 		       &((osmv_gid_pair_t *) (p_query_req->p_query_input))->
--- osm_vendor_mlx_sa.c.orig	2008-10-20 01:00:09.000000000 -0400
+++ osm_vendor_mlx_sa.c	2008-12-18 14:51:34.000000000 -0500
@@ -743,7 +743,8 @@
 		sa_mad_data.attr_offset =
 		    ib_get_attr_offset(sizeof(ib_path_rec_t));
 		sa_mad_data.comp_mask =
-		    (IB_PR_COMPMASK_DGID | IB_PR_COMPMASK_SGID);
+		    (IB_PR_COMPMASK_DGID | IB_PR_COMPMASK_SGID | IB_PR_COMPMASK_NUMBPATH);
+		path_rec.num_path = 0x7f;
 		sa_mad_data.p_attr = &path_rec;
 		ib_gid_set_default(&path_rec.dgid,
 				   ((osmv_guid_pair_t *) (p_query_req->
@@ -763,7 +764,8 @@
 		sa_mad_data.attr_offset =
 		    ib_get_attr_offset(sizeof(ib_path_rec_t));
 		sa_mad_data.comp_mask =
-		    (IB_PR_COMPMASK_DGID | IB_PR_COMPMASK_SGID);
+		    (IB_PR_COMPMASK_DGID | IB_PR_COMPMASK_SGID | IB_PR_COMPMASK_NUMBPATH);
+		path_rec.num_path = 0x7f;
 		sa_mad_data.p_attr = &path_rec;
 		memcpy(&path_rec.dgid,
 		       &((osmv_gid_pair_t *) (p_query_req->p_query_input))->


-------------- next part --------------
A non-text attachment was scrubbed...
Name: libvendor.patchfile
Type: application/octet-stream
Size: 1882 bytes
Desc: libvendor.patchfile
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20081218/736db858/attachment.obj>


More information about the general mailing list