On Thu, May 20, 2010 at 5:57 PM, Smith, Stan <[email protected]> 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 <[email protected]> > > --- 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 > [email protected] > http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw > _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
