[ofw] [PATCH] osmtest - use ib_get_attr_offset() routine instead of it's implementation.
Hal Rosenstock
hal.rosenstock at gmail.com
Fri May 21 05:24:43 PDT 2010
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 ?
-- 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