All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Khapyorsky <sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org>
To: Hal Rosenstock <hnrose-Wuw85uim5zDR7s880joybQ@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] osmtest/SA client: Only set attribute offset for RMPP operations
Date: Wed, 1 Sep 2010 22:27:22 +0300	[thread overview]
Message-ID: <20100901192722.GH12172@me> (raw)
In-Reply-To: <20100827123717.GA15888-Wuw85uim5zDR7s880joybQ@public.gmane.org>

Hi Hal,

On 08:37 Fri 27 Aug     , Hal Rosenstock wrote:
> 

The patch description would be very useful.

What is motivation for such changes?

Sasha

> Signed-off-by: Hal Rosenstock <hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
> diff --git a/opensm/libvendor/osm_vendor_ibumad_sa.c b/opensm/libvendor/osm_vendor_ibumad_sa.c
> index 3a7d54a..a81a6b7 100644
> --- a/opensm/libvendor/osm_vendor_ibumad_sa.c
> +++ b/opensm/libvendor/osm_vendor_ibumad_sa.c
> @@ -2,7 +2,7 @@
>   * Copyright (c) 2004-2009 Voltaire, Inc. All rights reserved.
>   * Copyright (c) 2002-2007,2009 Mellanox Technologies LTD. All rights reserved.
>   * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
> - * Copyright (c) 2009 HNR Consulting. All rights reserved.
> + * Copyright (c) 2009,2010 HNR Consulting. All rights reserved.
>   *
>   * This software is available to you under a choice of one of two
>   * licenses.  You may choose to be licensed under the terms of the GNU
> @@ -342,6 +342,7 @@ __osmv_send_sa_req(IN osmv_sa_bind_info_t * p_bind,
>  	static atomic32_t trans_id;
>  	boolean_t sync;
>  	osmv_query_req_t *p_query_req_copy;
> +	uint32_t sa_size;
>  
>  	OSM_LOG_ENTER(p_log);
>  
> @@ -401,8 +402,8 @@ __osmv_send_sa_req(IN osmv_sa_bind_info_t * p_bind,
>  		p_sa_mad->rmpp_flags = IB_RMPP_FLAG_ACTIVE;
>  #endif
>  	if (p_sa_mad->comp_mask) {
> -		memcpy(p_sa_mad->data, p_sa_mad_data->p_attr,
> -		       ib_get_attr_size(p_sa_mad_data->attr_offset));
> +		p_sa_mad_data->attr_offset ? (sa_size = ib_get_attr_size(p_sa_mad_data->attr_offset)) : (sa_size = IB_SA_DATA_SIZE);
> +		memcpy(p_sa_mad->data, p_sa_mad_data->p_attr, sa_size);
>  	}
>  
>  	/*
> @@ -488,6 +489,7 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  	/* Set the request information. */
>  	sa_mad_data.method = IB_MAD_METHOD_GETTABLE;
>  	sa_mad_data.attr_mod = 0;
> +	sa_mad_data.attr_offset = 0;
>  
>  	/* Set the MAD attributes and component mask correctly. */
>  	switch (p_query_req->query_type) {
> @@ -497,7 +499,11 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  		p_user_query = (osmv_user_query_t *) p_query_req->p_query_input;
>  		if (p_user_query->method)
>  			sa_mad_data.method = p_user_query->method;
> -		sa_mad_data.attr_offset = p_user_query->attr_offset;
> +#ifdef DUAL_SIDED_RMPP
> +		if (sa_mad_data.method == IB_MAD_METHOD_GETMULTI ||
> +		    sa_mad_data.method == IB_MAD_METHOD_GETTRACETABLE)
> +			sa_mad_data.attr_offset = p_user_query->attr_offset;
> +#endif
>  		sa_mad_data.attr_id = p_user_query->attr_id;
>  		sa_mad_data.attr_mod = p_user_query->attr_mod;
>  		sa_mad_data.comp_mask = p_user_query->comp_mask;
> @@ -507,8 +513,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  	case OSMV_QUERY_ALL_SVC_RECS:
>  		OSM_LOG(p_log, OSM_LOG_DEBUG, "DBG:001 SVC_REC_BY_NAME\n");
>  		sa_mad_data.attr_id = IB_MAD_ATTR_SERVICE_RECORD;
> -		sa_mad_data.attr_offset =
> -		    ib_get_attr_offset(sizeof(ib_service_record_t));
>  		sa_mad_data.comp_mask = 0;
>  		sa_mad_data.p_attr = &u.svc_rec;
>  		break;
> @@ -518,8 +522,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  		sa_mad_data.method = IB_MAD_METHOD_GET;
>  		sa_mad_data.attr_id = IB_MAD_ATTR_SERVICE_RECORD;
>  		sa_mad_data.comp_mask = IB_SR_COMPMASK_SNAME;
> -		sa_mad_data.attr_offset =
> -		    ib_get_attr_offset(sizeof(ib_service_record_t));
>  		sa_mad_data.p_attr = &u.svc_rec;
>  		memcpy(u.svc_rec.service_name, p_query_req->p_query_input,
>  		       sizeof(ib_svc_name_t));
> @@ -529,8 +531,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  		OSM_LOG(p_log, OSM_LOG_DEBUG, "DBG:001 SVC_REC_BY_ID\n");
>  		sa_mad_data.attr_id = IB_MAD_ATTR_SERVICE_RECORD;
>  		sa_mad_data.comp_mask = IB_SR_COMPMASK_SID;
> -		sa_mad_data.attr_offset =
> -		    ib_get_attr_offset(sizeof(ib_service_record_t));
>  		sa_mad_data.p_attr = &u.svc_rec;
>  		u.svc_rec.service_id =
>  		    *(ib_net64_t *) (p_query_req->p_query_input);
> @@ -540,8 +540,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  		OSM_LOG(p_log, OSM_LOG_DEBUG, "DBG:001 CLASS_PORT_INFO\n");
>  		sa_mad_data.method = IB_MAD_METHOD_GET;
>  		sa_mad_data.attr_id = IB_MAD_ATTR_CLASS_PORT_INFO;
> -		sa_mad_data.attr_offset =
> -		    ib_get_attr_offset(sizeof(ib_class_port_info_t));
>  		sa_mad_data.comp_mask = 0;
>  		sa_mad_data.p_attr = &u.class_port_info;
>  		break;
> @@ -549,8 +547,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  	case OSMV_QUERY_NODE_REC_BY_NODE_GUID:
>  		OSM_LOG(p_log, OSM_LOG_DEBUG, "DBG:001 NODE_REC_BY_NODE_GUID\n");
>  		sa_mad_data.attr_id = IB_MAD_ATTR_NODE_RECORD;
> -		sa_mad_data.attr_offset =
> -		    ib_get_attr_offset(sizeof(ib_node_record_t));
>  		sa_mad_data.comp_mask = IB_NR_COMPMASK_NODEGUID;
>  		sa_mad_data.p_attr = &u.node_rec;
>  		u.node_rec.node_info.node_guid =
> @@ -560,8 +556,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  	case OSMV_QUERY_PORT_REC_BY_LID:
>  		OSM_LOG(p_log, OSM_LOG_DEBUG, "DBG:001 PORT_REC_BY_LID\n");
>  		sa_mad_data.attr_id = IB_MAD_ATTR_PORTINFO_RECORD;
> -		sa_mad_data.attr_offset =
> -		    ib_get_attr_offset(sizeof(ib_portinfo_record_t));
>  		sa_mad_data.comp_mask = IB_PIR_COMPMASK_LID;
>  		sa_mad_data.p_attr = &u.port_info;
>  		u.port_info.lid = *(ib_net16_t *) (p_query_req->p_query_input);
> @@ -572,8 +566,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  		p_user_query = (osmv_user_query_t *) p_query_req->p_query_input;
>  		OSM_LOG(p_log, OSM_LOG_DEBUG, "DBG:001 PORT_REC_BY_LID_AND_NUM\n");
>  		sa_mad_data.attr_id = IB_MAD_ATTR_PORTINFO_RECORD;
> -		sa_mad_data.attr_offset =
> -		    ib_get_attr_offset(sizeof(ib_portinfo_record_t));
>  		sa_mad_data.comp_mask =
>  		    IB_PIR_COMPMASK_LID | IB_PIR_COMPMASK_PORTNUM;
>  		sa_mad_data.p_attr = p_user_query->p_attr;
> @@ -584,8 +576,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  		p_user_query = (osmv_user_query_t *) p_query_req->p_query_input;
>  		OSM_LOG(p_log, OSM_LOG_DEBUG, "DBG:001 OSMV_QUERY_VLARB_BY_LID_PORT_BLOCK\n");
>  		sa_mad_data.attr_id = IB_MAD_ATTR_VLARB_RECORD;
> -		sa_mad_data.attr_offset =
> -		    ib_get_attr_offset(sizeof(ib_vl_arb_table_record_t));
>  		sa_mad_data.comp_mask =
>  		    IB_VLA_COMPMASK_LID | IB_VLA_COMPMASK_OUT_PORT |
>  		    IB_VLA_COMPMASK_BLOCK;
> @@ -597,8 +587,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  		p_user_query = (osmv_user_query_t *) p_query_req->p_query_input;
>  		OSM_LOG(p_log, OSM_LOG_DEBUG, "DBG:001 OSMV_QUERY_VLARB_BY_LID_PORT_BLOCK\n");
>  		sa_mad_data.attr_id = IB_MAD_ATTR_SLVL_RECORD;
> -		sa_mad_data.attr_offset =
> -		    ib_get_attr_offset(sizeof(ib_slvl_table_record_t));
>  		sa_mad_data.comp_mask =
>  		    IB_SLVL_COMPMASK_LID | IB_SLVL_COMPMASK_OUT_PORT |
>  		    IB_SLVL_COMPMASK_IN_PORT;
> @@ -609,8 +597,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  		OSM_LOG(p_log, OSM_LOG_DEBUG, "DBG:001 PATH_REC_BY_PORT_GUIDS\n");
>  		memset(&u.path_rec, 0, sizeof(ib_path_rec_t));
>  		sa_mad_data.attr_id = IB_MAD_ATTR_PATH_RECORD;
> -		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_NUMBPATH);
>  		u.path_rec.num_path = 0x7f;
> @@ -629,8 +615,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  		OSM_LOG(p_log, OSM_LOG_DEBUG, "DBG:001 PATH_REC_BY_GIDS\n");
>  		memset(&u.path_rec, 0, sizeof(ib_path_rec_t));
>  		sa_mad_data.attr_id = IB_MAD_ATTR_PATH_RECORD;
> -		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_NUMBPATH);
>  		u.path_rec.num_path = 0x7f;
> @@ -648,8 +632,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  		memset(&u.path_rec, 0, sizeof(ib_path_rec_t));
>  		sa_mad_data.method = IB_MAD_METHOD_GET;
>  		sa_mad_data.attr_id = IB_MAD_ATTR_PATH_RECORD;
> -		sa_mad_data.attr_offset =
> -		    ib_get_attr_offset(sizeof(ib_path_rec_t));
>  		sa_mad_data.comp_mask =
>  		    (IB_PR_COMPMASK_DLID | IB_PR_COMPMASK_SLID);
>  		sa_mad_data.p_attr = &u.path_rec;
> @@ -665,8 +647,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  		p_user_query = (osmv_user_query_t *) p_query_req->p_query_input;
>  		OSM_LOG(p_log, OSM_LOG_DEBUG, "DBG:001 OSMV_QUERY_UD_MULTICAST_SET\n");
>  		sa_mad_data.attr_id = IB_MAD_ATTR_MCMEMBER_RECORD;
> -		sa_mad_data.attr_offset =
> -		    ib_get_attr_offset(sizeof(ib_member_rec_t));
>  		sa_mad_data.comp_mask = p_user_query->comp_mask;
>  		sa_mad_data.p_attr = p_user_query->p_attr;
>  		break;
> @@ -676,8 +656,6 @@ osmv_query_sa(IN osm_bind_handle_t h_bind,
>  		p_user_query = (osmv_user_query_t *) p_query_req->p_query_input;
>  		OSM_LOG(p_log, OSM_LOG_DEBUG, "DBG:001 OSMV_QUERY_UD_MULTICAST_DELETE\n");
>  		sa_mad_data.attr_id = IB_MAD_ATTR_MCMEMBER_RECORD;
> -		sa_mad_data.attr_offset =
> -		    ib_get_attr_offset(sizeof(ib_member_rec_t));
>  		sa_mad_data.comp_mask = p_user_query->comp_mask;
>  		sa_mad_data.p_attr = p_user_query->p_attr;
>  		break;
> diff --git a/opensm/osmtest/osmt_multicast.c b/opensm/osmtest/osmt_multicast.c
> index 34422b7..5c938b5 100644
> --- a/opensm/osmtest/osmt_multicast.c
> +++ b/opensm/osmtest/osmt_multicast.c
> @@ -2,6 +2,7 @@
>   * Copyright (c) 2006-2009 Voltaire, Inc. All rights reserved.
>   * Copyright (c) 2002-2005,2008 Mellanox Technologies LTD. All rights reserved.
>   * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
> + * Copyright (c) 2010 HNR Consulting. All rights reserved.
>   *
>   * This software is available to you under a choice of one of two
>   * licenses.  You may choose to be licensed under the terms of the GNU
> @@ -65,7 +66,6 @@ static void __osmt_print_all_multicast_records(IN osmtest_t * const p_osmt)
>  	memset(&user, 0, sizeof(user));
>  
>  	user.attr_id = IB_MAD_ATTR_MCMEMBER_RECORD;
> -	user.attr_offset = ib_get_attr_offset(sizeof(*mcast_record));
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
>  	req.timeout_ms = p_osmt->opt.transaction_timeout;
> @@ -167,7 +167,6 @@ ib_api_status_t osmt_query_mcast(IN osmtest_t * const p_osmt)
>  
>  	context.p_osmt = p_osmt;
>  	user.attr_id = IB_MAD_ATTR_MCMEMBER_RECORD;
> -	user.attr_offset = ib_get_attr_offset(sizeof(ib_member_rec_t));
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
>  	req.timeout_ms = p_osmt->opt.transaction_timeout;
> @@ -303,14 +302,12 @@ osmt_send_mcast_request(IN osmtest_t * const p_osmt,
>  		req.query_type = OSMV_QUERY_USER_DEFINED;
>  		user.method = IB_MAD_METHOD_GET;
>  		user.attr_id = IB_MAD_ATTR_MCMEMBER_RECORD;
> -		user.attr_offset = ib_get_attr_offset(sizeof(ib_member_rec_t));
>  	} else if (is_set == 0xff) {
>  		OSM_LOG(&p_osmt->log, OSM_LOG_VERBOSE,
>  			"Set USER DEFINED QUERY\n");
>  		req.query_type = OSMV_QUERY_USER_DEFINED;
>  		user.method = IB_MAD_METHOD_SET;
>  		user.attr_id = IB_MAD_ATTR_MCMEMBER_RECORD;
> -		user.attr_offset = ib_get_attr_offset(sizeof(ib_member_rec_t));
>  	}
>  
>  	/* TODO : Check the validity of all user fields in order to use
> diff --git a/opensm/osmtest/osmt_service.c b/opensm/osmtest/osmt_service.c
> index a203b0c..6f27109 100644
> --- a/opensm/osmtest/osmt_service.c
> +++ b/opensm/osmtest/osmt_service.c
> @@ -2,6 +2,7 @@
>   * Copyright (c) 2006-2008 Voltaire, Inc. All rights reserved.
>   * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved.
>   * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
> + * Copyright (c) 2010 HNR Consulting. All rights reserved.
>   *
>   * This software is available to you under a choice of one of two
>   * licenses.  You may choose to be licensed under the terms of the GNU
> @@ -121,7 +122,6 @@ osmt_register_service(IN osmtest_t * const p_osmt,
>  		    IB_SR_COMPMASK_SLEASE |
>  		    IB_SR_COMPMASK_SKEY | IB_SR_COMPMASK_SNAME;
>  	}
> -	user.attr_offset = ib_get_attr_offset(sizeof(ib_service_record_t));
>  	user.p_attr = &svc_rec;
>  
>  	status = osmv_query_sa(p_osmt->h_bind, &req);
> @@ -226,7 +226,6 @@ osmt_register_service_with_full_key(IN osmtest_t * const p_osmt,
>  		    IB_SR_COMPMASK_SLEASE |
>  		    IB_SR_COMPMASK_SKEY | IB_SR_COMPMASK_SNAME;
>  	}
> -	user.attr_offset = ib_get_attr_offset(sizeof(ib_service_record_t));
>  	user.p_attr = &svc_rec;
>  
>  	status = osmv_query_sa(p_osmt->h_bind, &req);
> @@ -373,7 +372,6 @@ osmt_register_service_with_data(IN osmtest_t * const p_osmt,
>  		    IB_SR_COMPMASK_SDATA32_1 |
>  		    IB_SR_COMPMASK_SDATA64_0 | IB_SR_COMPMASK_SDATA64_1;
>  	}
> -	user.attr_offset = ib_get_attr_offset(sizeof(ib_service_record_t));
>  	user.p_attr = &svc_rec;
>  
>  	/*  Dump to Service Data b4 send */
> @@ -486,7 +484,6 @@ osmt_get_service_by_id_and_name(IN osmtest_t * const p_osmt,
>  	user.method = IB_MAD_METHOD_GET;
>  	user.attr_id = IB_MAD_ATTR_SERVICE_RECORD;
>  	user.comp_mask = IB_SR_COMPMASK_SID | IB_SR_COMPMASK_SNAME;
> -	user.attr_offset = ib_get_attr_offset(sizeof(ib_service_record_t));
>  	user.p_attr = &svc_rec;
>  
>  	status = osmv_query_sa(p_osmt->h_bind, &req);
> @@ -607,7 +604,6 @@ osmt_get_service_by_id(IN osmtest_t * const p_osmt,
>  	user.method = IB_MAD_METHOD_GET;
>  	user.attr_id = IB_MAD_ATTR_SERVICE_RECORD;
>  	user.comp_mask = IB_SR_COMPMASK_SID;
> -	user.attr_offset = ib_get_attr_offset(sizeof(ib_service_record_t));
>  	user.p_attr = &svc_rec;
>  
>  	status = osmv_query_sa(p_osmt->h_bind, &req);
> @@ -739,7 +735,6 @@ osmt_get_service_by_name_and_key(IN osmtest_t * const p_osmt,
>  	user.method = IB_MAD_METHOD_GET;
>  	user.attr_id = IB_MAD_ATTR_SERVICE_RECORD;
>  	user.comp_mask = IB_SR_COMPMASK_SNAME | IB_SR_COMPMASK_SKEY;
> -	user.attr_offset = ib_get_attr_offset(sizeof(ib_service_record_t));
>  	user.p_attr = &svc_rec;
>  	status = osmv_query_sa(p_osmt->h_bind, &req);
>  	if (status != IB_SUCCESS) {
> @@ -1092,7 +1087,6 @@ osmt_delete_service_by_name(IN osmtest_t * const p_osmt,
>  	user.method = IB_MAD_METHOD_DELETE;
>  	user.attr_id = IB_MAD_ATTR_SERVICE_RECORD;
>  	user.comp_mask = IB_SR_COMPMASK_SNAME;
> -	user.attr_offset = ib_get_attr_offset(sizeof(ib_service_record_t));
>  	user.p_attr = &svc_rec;
>  
>  	status = osmv_query_sa(p_osmt->h_bind, &req);
> diff --git a/opensm/osmtest/osmtest.c b/opensm/osmtest/osmtest.c
> index d96fb28..af17d15 100644
> --- a/opensm/osmtest/osmtest.c
> +++ b/opensm/osmtest/osmtest.c
> @@ -2,7 +2,7 @@
>   * Copyright (c) 2006-2009 Voltaire, Inc. All rights reserved.
>   * Copyright (c) 2002-2007 Mellanox Technologies LTD. All rights reserved.
>   * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
> - * Copyright (c) 2009 HNR Consulting. All rights reserved.
> + * Copyright (c) 2009,2010 HNR Consulting. All rights reserved.
>   *
>   * This software is available to you under a choice of one of two
>   * licenses.  You may choose to be licensed under the terms of the GNU
> @@ -563,7 +563,6 @@ osmtest_get_all_recs(IN osmtest_t * const p_osmt,
>  
>  	p_context->p_osmt = p_osmt;
>  	user.attr_id = attr_id;
> -	user.attr_offset = ib_get_attr_offset((uint16_t) attr_size);
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
>  	req.timeout_ms = p_osmt->opt.transaction_timeout;
> @@ -719,7 +718,6 @@ osmtest_get_node_rec(IN osmtest_t * const p_osmt,
>  	p_context->p_osmt = p_osmt;
>  	user.comp_mask = IB_NR_COMPMASK_NODEGUID;
>  	user.attr_id = IB_MAD_ATTR_NODE_RECORD;
> -	user.attr_offset = ib_get_attr_offset((uint16_t) sizeof(record));
>  	user.p_attr = &record;
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
> @@ -793,7 +791,6 @@ osmtest_get_node_rec_by_lid(IN osmtest_t * const p_osmt,
>  	p_context->p_osmt = p_osmt;
>  	user.comp_mask = IB_NR_COMPMASK_LID;
>  	user.attr_id = IB_MAD_ATTR_NODE_RECORD;
> -	user.attr_offset = ib_get_attr_offset((uint16_t) sizeof(record));
>  	user.p_attr = &record;
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
> @@ -1057,7 +1054,6 @@ osmtest_get_port_rec(IN osmtest_t * const p_osmt,
>  	p_context->p_osmt = p_osmt;
>  	user.comp_mask = IB_PIR_COMPMASK_LID;
>  	user.attr_id = IB_MAD_ATTR_PORTINFO_RECORD;
> -	user.attr_offset = ib_get_attr_offset((uint16_t) sizeof(record));
>  	user.p_attr = &record;
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
> @@ -4171,7 +4167,6 @@ osmtest_get_link_rec_by_lid(IN osmtest_t * const p_osmt,
>  	if (to_lid)
>  		user.comp_mask |= IB_LR_COMPMASK_TO_LID;
>  	user.attr_id = IB_MAD_ATTR_LINK_RECORD;
> -	user.attr_offset = ib_get_attr_offset((uint16_t) sizeof(record));
>  	user.p_attr = &record;
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
> @@ -4249,7 +4244,6 @@ osmtest_get_guidinfo_rec_by_lid(IN osmtest_t * const p_osmt,
>  	p_context->p_osmt = p_osmt;
>  	user.comp_mask = IB_GIR_COMPMASK_LID;
>  	user.attr_id = IB_MAD_ATTR_GUIDINFO_RECORD;
> -	user.attr_offset = ib_get_attr_offset((uint16_t) sizeof(record));
>  	user.p_attr = &record;
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
> @@ -4328,7 +4322,6 @@ osmtest_get_pkeytbl_rec_by_lid(IN osmtest_t * const p_osmt,
>  	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 = ib_get_attr_offset((uint16_t) sizeof(record));
>  	user.p_attr = &record;
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
> @@ -4407,7 +4400,6 @@ osmtest_get_sw_info_rec_by_lid(IN osmtest_t * const p_osmt,
>  	if (lid)
>  		user.comp_mask = IB_SWIR_COMPMASK_LID;
>  	user.attr_id = IB_MAD_ATTR_SWITCH_INFO_RECORD;
> -	user.attr_offset = ib_get_attr_offset((uint16_t) sizeof(record));
>  	user.p_attr = &record;
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
> @@ -4486,7 +4478,6 @@ osmtest_get_lft_rec_by_lid(IN osmtest_t * const p_osmt,
>  	if (lid)
>  		user.comp_mask = IB_LFTR_COMPMASK_LID;
>  	user.attr_id = IB_MAD_ATTR_LFT_RECORD;
> -	user.attr_offset = ib_get_attr_offset((uint16_t) sizeof(record));
>  	user.p_attr = &record;
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
> @@ -4565,7 +4556,6 @@ osmtest_get_mft_rec_by_lid(IN osmtest_t * const p_osmt,
>  	if (lid)
>  		user.comp_mask = IB_MFTR_COMPMASK_LID;
>  	user.attr_id = IB_MAD_ATTR_MFT_RECORD;
> -	user.attr_offset = ib_get_attr_offset((uint16_t) sizeof(record));
>  	user.p_attr = &record;
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
> @@ -4637,7 +4627,6 @@ osmtest_sminfo_record_request(IN osmtest_t * const p_osmt,
>  
>  	p_context->p_osmt = p_osmt;
>  	user.attr_id = IB_MAD_ATTR_SMINFO_RECORD;
> -	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;
> @@ -4737,7 +4726,6 @@ osmtest_informinfo_request(IN osmtest_t * const p_osmt,
>  	p_context->p_osmt = p_osmt;
>  	user.attr_id = attr_id;
>  	if (attr_id == IB_MAD_ATTR_INFORM_INFO_RECORD) {
> -		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.
> @@ -4751,7 +4739,6 @@ osmtest_informinfo_request(IN osmtest_t * const p_osmt,
>  		user.comp_mask |= IB_IIR_COMPMASK_ENUM;
>  		user.p_attr = &record;
>  	} else {
> -		user.attr_offset = ib_get_attr_offset((uint16_t) sizeof(rec));
>  		/* 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;
> @@ -4900,7 +4887,6 @@ osmtest_validate_single_node_rec_lid(IN osmtest_t * const p_osmt,
>  	context.p_osmt = p_osmt;
>  	user.comp_mask = IB_NR_COMPMASK_LID;
>  	user.attr_id = IB_MAD_ATTR_NODE_RECORD;
> -	user.attr_offset = ib_get_attr_offset((uint16_t) sizeof(record));
>  	user.p_attr = &record;
>  
>  	req.query_type = OSMV_QUERY_USER_DEFINED;
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2010-09-01 19:27 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-27 12:37 [PATCH] osmtest/SA client: Only set attribute offset for RMPP operations Hal Rosenstock
     [not found] ` <20100827123717.GA15888-Wuw85uim5zDR7s880joybQ@public.gmane.org>
2010-09-01 19:27   ` Sasha Khapyorsky [this message]
2010-09-01 19:29     ` Hal Rosenstock

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100901192722.GH12172@me \
    --to=sashak-smomgflxvozwk0htik3j/w@public.gmane.org \
    --cc=hnrose-Wuw85uim5zDR7s880joybQ@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.