[ofw] [PATCH] osmtest - use ib_get_attr_offset() routine instead of it's implementation.

Smith, Stan stan.smith at intel.com
Fri May 21 08:50:06 PDT 2010


Hal Rosenstock wrote:
> On Thu, May 20, 2010 at 5:57 PM, Smith, Stan <stan.smith at intel.com>
> wrote:
>>
>> Code cleanup by replacing 'cl_ntoh16((uint16_t) (attr_size >> 3))'
>> expression with a call to the inline function
>> 'ib_get_attr_offset(attr_size)'; takes advantage of (debug build)
>> attr offset size checking. Validates input attr_size is a multiple
>> of 8 bytes per IB spec.
>> Function returns same value as the expression plus it isolates the
>> implementation to a single point to ease future changes.
>>
>> signed-off-by: stan smith <stan.smith at intel.com>
>>
>> --- b/ulp/opensm/user/osmtest/osmtest.c Thu May 20 14:44:52 2010
>> +++ b/ulp/opensm/user/osmtest/osmtest.c Thu May 20 14:45:29 2010 @@
>> -579,7 +579,7 @@
>>
>>        p_context->p_osmt = p_osmt;
>>        user.attr_id = attr_id;
>> -       user.attr_offset = cl_ntoh16((uint16_t) (attr_size >> 3));
>> +       user.attr_offset = ib_get_attr_offset(attr_size);
>>
>>        req.query_type = OSMV_QUERY_USER_DEFINED;
>>        req.timeout_ms = p_osmt->opt.transaction_timeout; @@ -739,7
>> +739,7 @@
>>        p_context->p_osmt = p_osmt;
>>        user.comp_mask = IB_NR_COMPMASK_NODEGUID;
>>        user.attr_id = IB_MAD_ATTR_NODE_RECORD;
>> -       user.attr_offset = cl_ntoh16((uint16_t) (sizeof(record) >>
>> 3)); +       user.attr_offset = ib_get_attr_offset((uint16_t)
>> (sizeof(record)));
>>        user.p_attr = &record;
>>
>>        req.query_type = OSMV_QUERY_USER_DEFINED;
>> @@ -813,7 +813,7 @@
>>        p_context->p_osmt = p_osmt;
>>        user.comp_mask = IB_NR_COMPMASK_LID;
>>        user.attr_id = IB_MAD_ATTR_NODE_RECORD;
>> -       user.attr_offset = cl_ntoh16((uint16_t) (sizeof(record) >>
>> 3)); +       user.attr_offset = ib_get_attr_offset((uint16_t)
>> (sizeof(record)));
>>        user.p_attr = &record;
>>
>>        req.query_type = OSMV_QUERY_USER_DEFINED;
>> @@ -1085,7 +1085,7 @@
>>        p_context->p_osmt = p_osmt;
>>        user.comp_mask = IB_PIR_COMPMASK_LID;
>>        user.attr_id = IB_MAD_ATTR_PORTINFO_RECORD;
>> -       user.attr_offset = cl_ntoh16((uint16_t) (sizeof(record) >>
>> 3)); +       user.attr_offset = ib_get_attr_offset((uint16_t)
>> (sizeof(record)));
>>        user.p_attr = &record;
>>
>>        req.query_type = OSMV_QUERY_USER_DEFINED;
>> @@ -2043,7 +2043,7 @@
>>        req.sm_key = 0;
>>
>>        OSM_LOG(&p_osmt->log, OSM_LOG_VERBOSE,
>> -               "Query for path from 0x%X to 0x%X\n", slid, dlid);
>> +               "Query for path (by lid pair) from 0x%X to 0x%X\n",
>> slid, dlid);
>>        status = osmv_query_sa(p_osmt->h_bind, &req);
>>        if (status != IB_SUCCESS) {
>>                OSM_LOG(&p_osmt->log, OSM_LOG_ERROR, "ERR 0053: " @@
>> -2269,7 +2269,7 @@
>>        return (status);
>>  }
>>
>> -#else
>> +#else /* !VENDOR_RMPP_SUPPORT */
>>  /*
>>  * NON RMPP BASED QUERY FOR ALL NODES: BASED ON THE MAX LID GIVEN BY
>> THE USER
>>  */
>> @@ -4269,7 +4269,7 @@
>>        if (to_lid)
>>                user.comp_mask |= IB_LR_COMPMASK_TO_LID;
>>        user.attr_id = IB_MAD_ATTR_LINK_RECORD;
>> -       user.attr_offset = cl_ntoh16((uint16_t) (sizeof(record) >>
>> 3)); +       user.attr_offset = ib_get_attr_offset((uint16_t)
>> (sizeof(record)));
>>        user.p_attr = &record;
>>
>>        req.query_type = OSMV_QUERY_USER_DEFINED;
>> @@ -4347,7 +4347,7 @@
>>        p_context->p_osmt = p_osmt;
>>        user.comp_mask = IB_GIR_COMPMASK_LID;
>>        user.attr_id = IB_MAD_ATTR_GUIDINFO_RECORD;
>> -       user.attr_offset = cl_ntoh16((uint16_t) (sizeof(record) >>
>> 3)); +       user.attr_offset = ib_get_attr_offset((uint16_t)
>> (sizeof(record)));
>>        user.p_attr = &record;
>>
>>        req.query_type = OSMV_QUERY_USER_DEFINED;
>> @@ -4426,7 +4426,7 @@
>>        p_context->p_osmt = p_osmt;
>>        user.comp_mask = IB_PKEY_COMPMASK_LID;
>>        user.attr_id = IB_MAD_ATTR_PKEY_TBL_RECORD;
>> -       user.attr_offset = cl_ntoh16((uint16_t) (sizeof(record) >>
>> 3)); +       user.attr_offset = ib_get_attr_offset((uint16_t)
>> (sizeof(record)));
>>        user.p_attr = &record;
>>
>>        req.query_type = OSMV_QUERY_USER_DEFINED;
>> @@ -4505,7 +4505,7 @@
>>        if (lid)
>>                user.comp_mask = IB_SWIR_COMPMASK_LID;
>>        user.attr_id = IB_MAD_ATTR_SWITCH_INFO_RECORD;
>> -       user.attr_offset = cl_ntoh16((uint16_t) (sizeof(record) >>
>> 3)); +       user.attr_offset = ib_get_attr_offset((uint16_t)
>> (sizeof(record)));
>>        user.p_attr = &record;
>>
>>        req.query_type = OSMV_QUERY_USER_DEFINED;
>> @@ -4584,7 +4584,7 @@
>>        if (lid)
>>                user.comp_mask = IB_LFTR_COMPMASK_LID;
>>        user.attr_id = IB_MAD_ATTR_LFT_RECORD;
>> -       user.attr_offset = cl_ntoh16((uint16_t) (sizeof(record) >>
>> 3)); +       user.attr_offset = ib_get_attr_offset((uint16_t)
>> (sizeof(record)));
>>        user.p_attr = &record;
>>
>>        req.query_type = OSMV_QUERY_USER_DEFINED;
>> @@ -4663,7 +4663,7 @@
>>        if (lid)
>>                user.comp_mask = IB_MFTR_COMPMASK_LID;
>>        user.attr_id = IB_MAD_ATTR_MFT_RECORD;
>> -       user.attr_offset = cl_ntoh16((uint16_t) (sizeof(record) >>
>> 3)); +       user.attr_offset = ib_get_attr_offset((uint16_t)
>> (sizeof(record)));
>>        user.p_attr = &record;
>>
>>        req.query_type = OSMV_QUERY_USER_DEFINED;
>> @@ -4737,7 +4737,7 @@
>>
>>        p_context->p_osmt = p_osmt;
>>        user.attr_id = IB_MAD_ATTR_SMINFO_RECORD;
>> -       user.attr_offset = cl_ntoh16((uint16_t) (sizeof(record) >>
>> 3)); +       user.attr_offset = ib_get_attr_offset((uint16_t)
>> (sizeof(record)));
>>        p_sm_info_opt = p_options;
>>        if (p_sm_info_opt->sm_guid != 0) {
>>                record.sm_info.guid = p_sm_info_opt->sm_guid; @@
>> -4839,7 +4839,7 @@
>>        p_context->p_osmt = p_osmt;
>>        user.attr_id = attr_id;
>>        if (attr_id == IB_MAD_ATTR_INFORM_INFO_RECORD) {
>> -               user.attr_offset = cl_ntoh16((uint16_t)
>> (sizeof(record) >> 3)); +               user.attr_offset =
>> ib_get_attr_offset((uint16_t) (sizeof(record)));
>>                p_inform_info_rec_opt = p_options;
>>                if
>> (p_inform_info_rec_opt->subscriber_gid.unicast.prefix != 0 &&
>>                    p_inform_info_rec_opt->subscriber_gid.unicast. @@
>> -4853,7 +4853,7 @@
>>                user.comp_mask |= IB_IIR_COMPMASK_ENUM;
>>                user.p_attr = &record;
>>        } else {
>> -               user.attr_offset = cl_ntoh16((uint16_t) (sizeof(rec)
>> >> 3)); +               user.attr_offset =
>> ib_get_attr_offset((uint16_t) (sizeof(record)));
>>                /* comp mask bits below are for InformInfoRecord
>> rather than InformInfo */
>>                /* as currently no comp mask bits defined for
>> InformInfo!!! */
>>                user.comp_mask = IB_IIR_COMPMASK_SUBSCRIBE; @@
>> -5006,7 +5006,7 @@
>>        context.p_osmt = p_osmt;
>>        user.comp_mask = IB_NR_COMPMASK_LID;
>>        user.attr_id = IB_MAD_ATTR_NODE_RECORD;
>> -       user.attr_offset = cl_ntoh16((uint16_t) (sizeof(record) >>
>> 3)); +       user.attr_offset = ib_get_attr_offset((uint16_t)
>> sizeof(record));
>>        user.p_attr = &record;
>>
>>        req.query_type = OSMV_QUERY_USER_DEFINED;
>
> Should this change be pushed to the Linux osmtest.c ?

Yes - will do so ASAP.

>
> -- Hal
>
>> _______________________________________________
>> ofw mailing list
>> ofw at lists.openfabrics.org
>> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw




More information about the ofw mailing list