[ofw] OpenSM patches for saquery porting - 1 of 6 patches.

Tzachi Dar tzachid at mellanox.co.il
Wed Feb 4 07:40:58 PST 2009


Hi Stan,

Please note that there is still a build break after all the checkins:

ulp\opensm\user\opensm\osm_sa_class_port_info.c(179) : error C2039:
'resp_time_val' : is not a member of '_ib_class_port_info'

Can you please fix that.

Thanks
Tzachi 

> -----Original Message-----
> From: ofw-bounces at lists.openfabrics.org 
> [mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Tzachi Dar
> Sent: Wednesday, February 04, 2009 5:19 PM
> To: Stan C. Smith; Yevgeny Kliteynik
> Cc: ofw at lists.openfabrics.org
> Subject: RE: [ofw] OpenSM patches for saquery porting - 1 of 
> 6 patches.
> 
> Applied on 1925.
> 
> Thanks
> Tzachi
> 
> > -----Original Message-----
> > From: ofw-bounces at lists.openfabrics.org 
> > [mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of 
> Stan C. Smith
> > Sent: Saturday, January 31, 2009 12:50 AM
> > To: Yevgeny Kliteynik
> > Cc: ofw at lists.openfabrics.org
> > Subject: [ofw] OpenSM patches for saquery porting - 1 of 6 patches.
> > 
> > Hello,
> >   The following OpenSM patches update OpenSM's ib_types.h a 
> small step 
> > closer to the OFED version by
> >   1) matching field names.
> >   2) missing #defines
> >   3) missing functions
> > Changes were required in order to port the OFED 1.4 
> ibsaquery command.
> > 
> > With your permission, I can commit the changes upon your approval.
> > 
> > Signed-off by stan.smith at intel.com
> > 
> > Path record changes:
> > resv0[8] --> service_id
> > sl --> qos_class_sl
> > resp_time_val --> cap_mask2_resp_time
> > 
> > diff U3 C:/Documents and Settings/scsmith/Local 
> > Settings/Temp/ib_types.h-revBASE.svn000.tmp.h C:/Documents and 
> > Settings/scsmith/My 
> > Documents/openIB-windows/SVN/gen1/trunk/ulp/opensm/user/includ
> > e/iba/ib_types.h
> > --- C:/Documents and Settings/scsmith/Local 
> > Settings/Temp/ib_types.h-revBASE.svn000.tmp.h	Fri Jan 
> 30 14:21:58 2009
> > +++ C:/Documents and Settings/scsmith/My
> > +++ 
> > Documents/openIB-windows/SVN/gen1/trunk/ulp/opensm/user/include/iba/
> > +++ ib_types.h
> > Fri Jan 30 09:48:28 2009
> > @@ -1696,6 +1696,50 @@
> >  #define IB_SMINFO_STATE_MASTER				3
> >  /**********/
> >  
> > +/****d* IBA Base: Constants/IB_PATH_REC_SL_MASK
> > +* NAME
> > +*	IB_PATH_REC_SL_MASK
> > +*
> > +* DESCRIPTION
> > +*	Mask for the sl field for path record
> > +*
> > +* SOURCE
> > +*/
> > +#define IB_PATH_REC_SL_MASK				0x000F
> > +
> > +/****d* IBA Base: Constants/IB_MULTIPATH_REC_SL_MASK
> > +* NAME
> > +*	IB_MILTIPATH_REC_SL_MASK
> > +*
> > +* DESCRIPTION
> > +*	Mask for the sl field for MultiPath record
> > +*
> > +* SOURCE
> > +*/
> > +#define IB_MULTIPATH_REC_SL_MASK			0x000F
> > +
> > +/****d* IBA Base: Constants/IB_PATH_REC_QOS_CLASS_MASK
> > +* NAME
> > +*	IB_PATH_REC_QOS_CLASS_MASK
> > +*
> > +* DESCRIPTION
> > +*	Mask for the QoS class field for path record
> > +*
> > +* SOURCE
> > +*/
> > +#define IB_PATH_REC_QOS_CLASS_MASK			0xFFF0
> > +
> > +/****d* IBA Base: Constants/IB_MULTIPATH_REC_QOS_CLASS_MASK
> > +* NAME
> > +*	IB_MULTIPATH_REC_QOS_CLASS_MASK
> > +*
> > +* DESCRIPTION
> > +*	Mask for the QoS class field for MultiPath record
> > +*
> > +* SOURCE
> > +*/
> > +#define IB_MULTIPATH_REC_QOS_CLASS_MASK			0xFFF0
> > +
> >  /****d* IBA Base: Constants/IB_PATH_REC_SELECTOR_MASK
> >  * NAME
> >  *	IB_PATH_REC_SELECTOR_MASK
> > @@ -2310,7 +2354,7 @@
> >  #include <complib/cl_packon.h>
> >  typedef struct _ib_path_rec
> >  {
> > -	uint8_t					resv0[8];
> > +	ib_net64_t				service_id;
> >  	ib_gid_t				dgid;
> >  	ib_gid_t				sgid;
> >  	ib_net16_t				dlid;
> > @@ -2319,7 +2363,7 @@
> >  	uint8_t					tclass;
> >  	uint8_t					num_path; 
> >  	ib_net16_t				pkey;
> > -	ib_net16_t				sl;
> > +	ib_net16_t				qos_class_sl;
> >  	uint8_t					mtu;
> >  	uint8_t					rate;
> >  	uint8_t					pkt_life;
> > @@ -2670,7 +2714,7 @@
> >  	p_rec->num_path = num_path;
> >  	p_rec->pkey = pkey;
> >  	/* Lower 4 bits of path rec's SL are reserved. */
> > -	p_rec->sl = cl_ntoh16( sl );
> > +	p_rec->qos_class_sl = cl_ntoh16( sl );
> >  	p_rec->mtu = (uint8_t)((mtu & IB_PATH_REC_BASE_MASK) |
> >  			(uint8_t)(mtu_selector << 6));
> >  	p_rec->rate = (uint8_t)((rate & IB_PATH_REC_BASE_MASK)
> > | @@ -2683,7 +2727,7 @@
> >  	p_rec->hop_flow_raw = 0;
> >  	p_rec->tclass = 0;
> >  
> > -	*((uint64_t*)p_rec->resv0) = 0;
> > +	*((uint64_t*)p_rec->service_id) = 0;
> >  	*((uint32_t*)p_rec->resv2) = 0;
> >  	*((uint16_t*)p_rec->resv2 + 2) = 0;
> >  }
> > @@ -2788,7 +2832,7 @@
> >  ib_path_rec_sl(
> >  	IN	const	ib_path_rec_t* const	p_rec )
> >  {
> > -	return( (uint8_t)((cl_ntoh16( p_rec->sl )) & 0xF) );
> > +	return( (uint8_t)((cl_ntoh16( p_rec->qos_class_sl )) & 0xF) );
> >  }
> >  /*
> >  * PARAMETERS
> > @@ -2804,6 +2848,71 @@
> >  *	ib_path_rec_t
> >  *********/
> >  
> > +/****f* IBA Base: Types/ib_path_rec_set_qos_class
> > +* NAME
> > +*	ib_path_rec_set_qos_class
> > +*
> > +* DESCRIPTION
> > +*	Set path QoS class.
> > +*
> > +* SYNOPSIS
> > +*/
> > +static inline void OSM_API
> > +ib_path_rec_set_qos_class(IN ib_path_rec_t * const p_rec,
> > +			  IN const uint16_t qos_class)
> > +{
> > +	p_rec->qos_class_sl =
> > +	    (p_rec->qos_class_sl & CL_HTON16(IB_PATH_REC_SL_MASK)) |
> > +	    cl_hton16(qos_class << 4);
> > +}
> > +
> > +/*
> > +* PARAMETERS
> > +*	p_rec
> > +*		[in] Pointer to the path record object.
> > +*
> > +*	qos_class
> > +*		[in] QoS class to set.
> > +*
> > +* RETURN VALUES
> > +*	None
> > +*
> > +* NOTES
> > +*
> > +* SEE ALSO
> > +*	ib_path_rec_t
> > +*********/
> > +
> > +/****f* IBA Base: Types/ib_path_rec_qos_class
> > +* NAME
> > +*	ib_path_rec_qos_class
> > +*
> > +* DESCRIPTION
> > +*	Get QoS class.
> > +*
> > +* SYNOPSIS
> > +*/
> > +static inline uint16_t OSM_API
> > +ib_path_rec_qos_class(IN const ib_path_rec_t * const p_rec) {
> > +	return (cl_ntoh16(p_rec->qos_class_sl) >> 4); }
> > +
> > +/*
> > +* PARAMETERS
> > +*	p_rec
> > +*		[in] Pointer to the path record object.
> > +*
> > +* RETURN VALUES
> > +*	QoS class of the path record.
> > +*
> > +* NOTES
> > +*
> > +* SEE ALSO
> > +*	ib_path_rec_t
> > +*********/
> > +
> > +
> >  /****f* IBA Base: Types/ib_path_rec_mtu
> >  * NAME
> >  *	ib_path_rec_mtu
> > @@ -3127,8 +3236,7 @@
> >  	uint8_t					base_ver;
> >  	uint8_t					class_ver;
> >  	ib_net16_t				cap_mask;
> > -	uint8_t					reserved[3];
> > -	uint8_t					resp_time_val;
> > +	ib_net32_t				cap_mask2_resp_time;
> >  	ib_gid_t				redir_gid;
> >  	ib_net32_t				redir_tc_sl_fl;
> >  	ib_net16_t				redir_lid;
> > @@ -3155,8 +3263,9 @@
> >  *	cap_mask
> >  *		Supported capabilities of this management class.
> >  *
> > -*	resp_time_value
> > -*		Maximum expected response time.
> > +*	cap_mask2_resp_time
> > +*		Maximum expected response time and additional
> > +*		supported capabilities of this management class.
> >  *
> >  *	redr_gid
> >  *		GID to use for redirection, or zero
> > @@ -3202,6 +3311,135 @@
> >  *
> >  *********/
> >  
> > +/****f* IBA Base: Types/ib_class_set_resp_time_val
> > +* NAME
> > +*	ib_class_set_resp_time_val
> > +*
> > +* DESCRIPTION
> > +*	Set maximum expected response time.
> > +*
> > +* SYNOPSIS
> > +*/
> > +static inline void OSM_API
> > +ib_class_set_resp_time_val(IN ib_class_port_info_t * const p_cpi,
> > +			   IN const uint8_t val)
> > +{
> > +	p_cpi->cap_mask2_resp_time =
> > +	    (p_cpi->cap_mask2_resp_time &
> > CL_HTON32(~IB_CLASS_RESP_TIME_MASK)) |
> > +	    cl_hton32(val & IB_CLASS_RESP_TIME_MASK); }
> > +
> > +/*
> > +* PARAMETERS
> > +*	p_cpi
> > +*		[in] Pointer to the class port info object.
> > +*
> > +*	val
> > +*		[in] Response time value to set.
> > +*
> > +* RETURN VALUES
> > +*	None
> > +*
> > +* NOTES
> > +*
> > +* SEE ALSO
> > +*	ib_class_port_info_t
> > +*********/
> > +
> > +/****f* IBA Base: Types/ib_class_resp_time_val
> > +* NAME
> > +*	ib_class_resp_time_val
> > +*
> > +* DESCRIPTION
> > +*	Get response time value.
> > +*
> > +* SYNOPSIS
> > +*/
> > +static inline uint8_t OSM_API
> > +ib_class_resp_time_val(IN ib_class_port_info_t * const p_cpi) {
> > +	return (uint8_t)(cl_ntoh32(p_cpi->cap_mask2_resp_time) &
> > +			 IB_CLASS_RESP_TIME_MASK);
> > +}
> > +
> > +/*
> > +* PARAMETERS
> > +*	p_cpi
> > +*		[in] Pointer to the class port info object.
> > +*
> > +* RETURN VALUES
> > +*	Response time value.
> > +*
> > +* NOTES
> > +*
> > +* SEE ALSO
> > +*	ib_class_port_info_t
> > +*********/
> > +
> > +/****f* IBA Base: Types/ib_class_set_cap_mask2
> > +* NAME
> > +*	ib_class_set_cap_mask2
> > +*
> > +* DESCRIPTION
> > +*	Set ClassPortInfo:CapabilityMask2.
> > +*
> > +* SYNOPSIS
> > +*/
> > +static inline void OSM_API
> > +ib_class_set_cap_mask2(IN ib_class_port_info_t * const p_cpi,
> > +		       IN const uint32_t cap_mask2) {
> > +	p_cpi->cap_mask2_resp_time = (p_cpi->cap_mask2_resp_time &
> > +		CL_HTON32(IB_CLASS_RESP_TIME_MASK)) |
> > +		cl_hton32(cap_mask2 << 5);
> > +}
> > +
> > +/*
> > +* PARAMETERS
> > +*	p_cpi
> > +*		[in] Pointer to the class port info object.
> > +*
> > +*	cap_mask2
> > +*		[in] CapabilityMask2 value to set.
> > +*
> > +* RETURN VALUES
> > +*	None
> > +*
> > +* NOTES
> > +*
> > +* SEE ALSO
> > +*	ib_class_port_info_t
> > +*********/
> > +
> > +/****f* IBA Base: Types/ib_class_cap_mask2
> > +* NAME
> > +*	ib_class_cap_mask2
> > +*
> > +* DESCRIPTION
> > +*	Get ClassPortInfo:CapabilityMask2.
> > +*
> > +* SYNOPSIS
> > +*/
> > +static inline uint32_t OSM_API
> > +ib_class_cap_mask2(IN const ib_class_port_info_t * const p_cpi) {
> > +	return (cl_ntoh32(p_cpi->cap_mask2_resp_time) >> 5); }
> > +
> > +/*
> > +* PARAMETERS
> > +*	p_cpi
> > +*		[in] Pointer to the class port info object.
> > +*
> > +* RETURN VALUES
> > +*	CapabilityMask2 of the ClassPortInfo.
> > +*
> > +* NOTES
> > +*
> > +* SEE ALSO
> > +*	ib_class_port_info_t
> > +*********/
> > +
> >  /****s* IBA Base: Types/ib_sm_info_t
> >  * NAME
> >  *	ib_sm_info_t
> > @@ -7196,6 +7434,40 @@
> >  }
> >  /*
> >  * PARAMETERS
> > +*
> > +* NOTES
> > +*
> > +* SEE ALSO
> > +*	ib_inform_info_t
> > +*********/
> > +
> > +/****f* IBA Base: Types/ib_inform_info_get_prod_type
> > +* NAME
> > +*	ib_inform_info_get_prod_type
> > +*
> > +* DESCRIPTION
> > +*	Get Producer Type of the Inform Info
> > +*	13.4.8.3 InformInfo
> > +*
> > +* SYNOPSIS
> > +*/
> > +static inline ib_net32_t OSM_API
> > +ib_inform_info_get_prod_type(IN const ib_inform_info_t * p_inf) {
> > +	uint32_t nt;
> > +
> > +	nt = cl_ntoh16(p_inf->g_or_v.generic.node_type_lsb) |
> > +	    (p_inf->g_or_v.generic.node_type_msb << 16);
> > +	return cl_hton32(nt);
> > +}
> > +
> > +/*
> > +* PARAMETERS
> > +*	p_inf
> > +*		[in] pointer to an inform info
> > +*
> > +* RETURN VALUES
> > +*     The producer type
> >  *
> >  * NOTES
> >  *
> > 
> _______________________________________________
> ofw mailing list
> ofw at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
> 



More information about the ofw mailing list