[openib-general] [PATCH] OpenSM/osmtest: Add rudimentary SA GuidInfoRecord test
Hal Rosenstock
halr at voltaire.com
Wed May 10 05:45:16 PDT 2006
OpenSM/osmtest: Add rudimentary SA GuidInfoRecord test
Signed-off-by: Hal Rosenstock <halr at voltaire.com>
Index: osmtest/osmtest.c
===================================================================
--- osmtest/osmtest.c (revision 7043)
+++ osmtest/osmtest.c (working copy)
@@ -4055,6 +4055,59 @@ osmtest_validate_all_node_recs( IN osmte
#endif
#ifdef VENDOR_RMPP_SUPPORT
+static ib_api_status_t
+osmtest_validate_all_guidinfo_recs( IN osmtest_t * const p_osmt )
+{
+ osmtest_req_context_t context;
+ const ib_guidinfo_record_t *p_rec;
+ cl_status_t status;
+ size_t num_recs;
+
+ OSM_LOG_ENTER( &p_osmt->log, osmtest_validate_all_guidinfo_recs );
+
+ cl_memclr( &context, sizeof( context ) );
+
+ /*
+ * Do a blocking query for all GuidInfoRecords in the subnet.
+ */
+ status = osmtest_get_all_recs( p_osmt, IB_MAD_ATTR_GUIDINFO_RECORD,
+ sizeof( *p_rec ), &context );
+
+
+ if( status != IB_SUCCESS )
+ {
+ osm_log( &p_osmt->log, OSM_LOG_ERROR,
+ "osmtest_validate_all_guidinfo_recs: ERR 0099: "
+ "osmtest_get_all_recs failed (%s)\n",
+ ib_get_err_str( status ) );
+ goto Exit;
+ }
+
+ num_recs = context.result.result_cnt;
+
+ if( osm_log_is_active( &p_osmt->log, OSM_LOG_VERBOSE ) )
+ {
+ osm_log( &p_osmt->log, OSM_LOG_VERBOSE,
+ "osmtest_validate_all_guidinfo_recs: "
+ "Received %u records\n", num_recs );
+ }
+
+ /* No validation as yet */
+
+ Exit:
+ /*
+ * Return the IB query MAD to the pool as necessary.
+ */
+ if( context.result.p_result_madw != NULL )
+ {
+ osm_mad_pool_put( &p_osmt->mad_pool, context.result.p_result_madw );
+ context.result.p_result_madw = NULL;
+ }
+
+ OSM_LOG_EXIT( &p_osmt->log );
+ return ( status );
+}
+
/**********************************************************************
**********************************************************************/
static ib_api_status_t
@@ -4738,6 +4791,12 @@ osmtest_validate_against_db( IN osmtest_
if( status != IB_SUCCESS )
goto Exit;
+#ifdef VENDOR_RMPP_SUPPORT
+ status = osmtest_validate_all_guidinfo_recs( p_osmt );
+ if( status != IB_SUCCESS )
+ goto Exit;
+#endif
+
#if defined (VENDOR_RMPP_SUPPORT) && defined (DUAL_SIDED_RMPP)
cl_memclr( &context, sizeof( context ) );
cl_memclr( &request, sizeof( request ) );
More information about the general
mailing list