osmtest/SA client: Only set attribute offset for RMPP operations
PATCH 1/1 osmtest/SA client: Only set attribute offset for RMPP operations
---
opensm/libvendor/osm_vendor_ibumad_sa.c +10 -32
@@ -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 ;
opensm/osmtest/osmt_multicast.c +1 -4
@@ -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
opensm/osmtest/osmt_service.c +1 -7
@@ -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);
opensm/osmtest/osmtest.c +1 -15
@@ -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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): [email protected]
Hi Hal,
Quoted 1 line · Hal Rosenstock
The patch description would be very useful.
What is motivation for such changes?
Sasha
Quoted 411 lines
Signed-off-by Hal Rosenstock <[email protected]>---
opensm/libvendor/osm_vendor_ibumad_sa.c +10
-32@@ -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 ;opensm/osmtest/osmt_multicast.c +1
-4@@ -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 opensm/osmtest/osmt_service.c +1
-7@@ -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);opensm/osmtest/osmtest.c +1
-14@@ -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 ;
opensm/osmtest/osmtest.c osmtest_validate_single_node_rec_lid(IN osmtest_t * const p_osmt, · line 4892
Quoted 7 lines
opensm/osmtest/osmtest.c +0
-1@@ -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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 6 lines · Sasha Khapyorsky
Hi Hal,
Quoted 1 line · Hal Rosenstock
The patch description would be very useful.
I thought the subject line was sufficiently descriptive but I guess not.
Quoted 1 line
What is motivation for such changes?
Most of what the SA client is doing is not RMPP (for example, a GetTable is not RMPP but is requesting RMPP). SA AttributeOffset only needs to be set in RMPP DATA packets.
-- Hal
Quoted 418 lines
Sasha
Quoted 416 lines
Signed-off-by Hal Rosenstock <[email protected]>---
opensm/libvendor/osm_vendor_ibumad_sa.c +10
-4@@ -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;opensm/libvendor/osm_vendor_ibumad_sa.c +0
-4@@ -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);opensm/libvendor/osm_vendor_ibumad_sa.c +0
-2@@ -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 =opensm/libvendor/osm_vendor_ibumad_sa.c +0
-0@@ -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);opensm/libvendor/osm_vendor_ibumad_sa.c +0
-2@@ -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;opensm/libvendor/osm_vendor_ibumad_sa.c +0
-2@@ -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;opensm/libvendor/osm_vendor_ibumad_sa.c +0
-2@@ -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;opensm/libvendor/osm_vendor_ibumad_sa.c +0
-2@@ -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;opensm/libvendor/osm_vendor_ibumad_sa.c +0
-2@@ -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;opensm/libvendor/osm_vendor_ibumad_sa.c +0
-2@@ -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;opensm/libvendor/osm_vendor_ibumad_sa.c +0
-4@@ -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;opensm/osmtest/osmt_multicast.c +1
-4@@ -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 useopensm/osmtest/osmt_service.c +1
-0@@ -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);opensm/osmtest/osmt_service.c +0
-0@@ -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);opensm/osmtest/osmt_service.c +0
-0@@ -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 */
opensm/osmtest/osmt_service.c +0
-4@@ -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);opensm/osmtest/osmtest.c +1
-13@@ -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.opensm/osmtest/osmtest.c +0
-2@@ -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;
Quoted 7 lines
opensm/osmtest/osmtest.c osmtest_validate_single_node_rec_lid(IN osmtest_t * const p_osmt, · line 4892
Quoted 2 lines
opensm/osmtest/osmtest.c +0
-0req.query_type = OSMV_QUERY_USER_DEFINED;--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html