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

Mike Heinz michael.heinz at qlogic.com
Mon May 4 06:19:04 PDT 2009


Hey, all -

I submitted this patch back in December; there's some question on my end about whether or not it was accepted for the next release of OFED.

Can anyone set me straight?

--
Michael Heinz
Principal Engineer, Qlogic Corporation
King of Prussia, Pennsylvania

-----Original Message-----
From: Mike Heinz 
Sent: Thursday, December 18, 2008 4:05 PM
To: 'Hal Rosenstock'
Cc: general at lists.openfabrics.org
Subject: RE: [ofa-general] Patch for libvendor incompatibility with QLogic SM

No problem. I figured it had to be something like that. 


--
Michael Heinz
Principal Engineer, Qlogic Corporation
King of Prussia, Pennsylvania

-----Original Message-----
From: Hal Rosenstock [mailto:hal.rosenstock at gmail.com] 
Sent: Thursday, December 18, 2008 4:02 PM
To: Mike Heinz
Cc: general at lists.openfabrics.org
Subject: Re: [ofa-general] Patch for libvendor incompatibility with QLogic SM

Mike,

On Thu, Dec 18, 2008 at 3:49 PM, Mike Heinz <michael.heinz at qlogic.com> wrote:
> Hal,
>
> You've got me really confused now - there are only two cases that need changing, OSMV_QUERY_PATH_REC_BY_GIDS and OSMV_QUERY_PATH_REC_BY_PORT_GUIDS;  OSMV_QUERY_PATH_REC_BY_LIDS does *not* need to be changed because it uses the GET method. Thus, this should be the correct patch. (I'm re-including it for clarity).

The below looks right to me. The previous one with osm_vendor_mlx_sa.c was truncated somehow in my gmail and appeared to only have 1 of the 2 cases and I didn't look at the attachment. Sorry for the confusion.

-- Hal

>
> 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))->
>
> --
> Michael Heinz
> Principal Engineer, Qlogic Corporation King of Prussia, Pennsylvania
>
> -----Original Message-----
> From: Hal Rosenstock [mailto:hal.rosenstock at gmail.com]
> Sent: Thursday, December 18, 2008 3:32 PM
> To: Mike Heinz
> Cc: general at lists.openfabrics.org
> Subject: Re: [ofa-general] Patch for libvendor incompatibility with 
> QLogic SM
>
> On Thu, Dec 18, 2008 at 3:22 PM, Mike Heinz <michael.heinz at qlogic.com> wrote:
>>
>>> Right and it wouldn't need num_paths either (as get assumes 1) so I don't think the changes for OSMV_QUERY_PATH_REC_BY_LIDS in both these patches are needed.
>>
>> Sorry if I was unclear, the last patch submission neither sets the num_path field nor the attribute mask for OSMV_QUERY_PATH_REC_BY_LIDS queries.
>
> Right; I didn't see the updated patch was for both sa files. In the new patch, one case was missed in terms of the needed change though unless I missed that too...
>



More information about the general mailing list