[openib-general] [PATCH 2/4] opensm: remove unused osm_pkey_mgr_t object

Sasha Khapyorsky sashak at voltaire.com
Sun Apr 23 07:26:21 PDT 2006


The structure osm_pkey_mgr_t is not used for pkey management -
clean it up.

Signed-off-by: Sasha Khapyorsky <sashak at voltaire.com>
---

 osm/include/opensm/osm_pkey_mgr.h  |  183 ++----------------------------------
 osm/include/opensm/osm_sm.h        |    2 
 osm/include/opensm/osm_state_mgr.h |   11 --
 osm/opensm/osm_pkey_mgr.c          |  182 ++++++++++++++----------------------
 osm/opensm/osm_sm.c                |   12 --
 osm/opensm/osm_state_mgr.c         |    8 +-
 6 files changed, 82 insertions(+), 316 deletions(-)

diff --git a/osm/include/opensm/osm_pkey_mgr.h b/osm/include/opensm/osm_pkey_mgr.h
index fef3667..cb0075d 100644
--- a/osm/include/opensm/osm_pkey_mgr.h
+++ b/osm/include/opensm/osm_pkey_mgr.h
@@ -1,4 +1,5 @@
 /*
+ * Copyright (c) 2006 Voltaire, Inc. All rights reserved.
  * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
  *
  * This software is available to you under a choice of one of two
@@ -35,9 +36,8 @@
 
 /*
  * Abstract:
- * 	Declaration of osm_pkey_mgr_t.
- *	This object represents the P_Key Manager object.
- *	This object is part of the OpenSM family of objects.
+ * 	Prototype for osm_pkey_mgr_process() function
+ *	This is part of the OpenSM family of objects.
  *
  * Environment:
  * 	Linux User Mode
@@ -49,10 +49,8 @@
 #ifndef _OSM_PKEY_MGR_H_
 #define _OSM_PKEY_MGR_H_
 
-#include <complib/cl_passivelock.h>
-#include <opensm/osm_subnet.h>
-#include <opensm/osm_req.h>
-#include <opensm/osm_log.h>
+#include <opensm/osm_base.h>
+#include <opensm/osm_opensm.h>
 
 #ifdef __cplusplus
 #  define BEGIN_C_DECLS extern "C" {
@@ -64,166 +62,6 @@ #endif /* __cplusplus */
 
 BEGIN_C_DECLS
 
-/****h* OpenSM/P_Key Manager
-* NAME
-*	P_Key Manager
-*
-* DESCRIPTION
-*	The P_Key Manager object manage the p_key tables of all
-*	objects in the subnet
-*
-* AUTHOR
-*	Ofer Gigi, Mellanox
-*
-*********/
-/****s* OpenSM: P_Key Manager/osm_pkey_mgr_t
-* NAME
-*	osm_pkey_mgr_t
-*
-* DESCRIPTION
-*	p_Key Manager structure.
-*
-*
-* SYNOPSIS
-*/
-
-typedef struct _osm_pkey_mgr
-{
-    osm_subn_t					*p_subn;
-	osm_log_t					*p_log;
-	osm_req_t					*p_req;
-	cl_plock_t					*p_lock;
-
-} osm_pkey_mgr_t;
-
-/*
-* FIELDS
-*	p_subn
-*		Pointer to the Subnet object for this subnet.
-*
-*	p_log
-*		Pointer to the log object.
-*
-*	p_req
-*		Pointer to the Request object.
-*
-*	p_lock
-*		Pointer to the serializing lock.
-*
-* SEE ALSO
-*	P_Key Manager object
-*********/
-
-/****** OpenSM: P_Key Manager/osm_pkey_mgr_construct
-* NAME
-*	osm_pkey_mgr_construct
-*
-* DESCRIPTION
-*	This function constructs a P_Key Manager object.
-*
-* SYNOPSIS
-*/
-void 
-osm_pkey_mgr_construct(
-	IN osm_pkey_mgr_t* const p_mgr );
-/*
-* PARAMETERS
-*	p_mgr
-*		[in] Pointer to a P_Key Manager object to construct.
-*
-* RETURN VALUE
-*	This function does not return a value.
-*
-* NOTES
-*	Allows calling osm_pkey_mgr_init, osm_pkey_mgr_destroy
-*
-*	Calling osm_pkey_mgr_construct is a prerequisite to calling any other
-*	method except osm_pkey_mgr_init.
-*
-* SEE ALSO
-*	P_Key Manager object, osm_pkey_mgr_init,
-*	osm_pkey_mgr_destroy
-*********/
-
-/****f* OpenSM: P_Key Manager/osm_pkey_mgr_destroy
-* NAME
-*	osm_pkey_mgr_destroy
-*
-* DESCRIPTION
-*	The osm_pkey_mgr_destroy function destroys the object, releasing
-*	all resources.
-*
-* SYNOPSIS
-*/
-void
-osm_pkey_mgr_destroy(
-	IN osm_pkey_mgr_t* const p_mgr );
-/*
-* PARAMETERS
-*	p_mgr
-*		[in] Pointer to the object to destroy.
-*
-* RETURN VALUE
-*	This function does not return a value.
-*
-* NOTES
-*	Performs any necessary cleanup of the specified
-*	P_Key Manager object.
-*	Further operations should not be attempted on the destroyed object.
-*	This function should only be called after a call to
-*	osm_pkey_mgr_construct or osm_pkey_mgr_init.
-*
-* SEE ALSO
-*	P_Key Manager object, osm_pkey_mgr_construct,
-*	osm_pkey_mgr_init
-*********/
-
-/****f* OpenSM: P_Key Manager/osm_pkey_mgr_init
-* NAME
-*	osm_pkey_mgr_init
-*
-* DESCRIPTION
-*	The osm_pkey_mgr_init function initializes a
-*	P_Key Manager object for use.
-*
-* SYNOPSIS
-*/
-ib_api_status_t
-osm_pkey_mgr_init(
-	IN osm_pkey_mgr_t* const p_mgr,
-	IN osm_subn_t* const p_subn,
-	IN osm_log_t* const p_log,
-	IN osm_req_t* const p_req,
-	IN cl_plock_t* const p_lock );
-/*
-* PARAMETERS
-*	p_mgr
-*		[in] Pointer to an osm_pkey_mgr_t object to initialize.
-*
-*	p_subn
-*		[in] Pointer to the Subnet object for this subnet.
-*
-*	p_log
-*		[in] Pointer to the log object.
-*
-*	p_req
-*		[in] Pointer to an osm_req_t object.
-*
-*	p_lock
-*		[in] Pointer to the OpenSM serializing lock.
-*
-* RETURN VALUES
-*	IB_SUCCESS if the P_Key Manager object was initialized
-*	successfully.
-*
-* NOTES
-*	Allows calling other P_Key Manager methods.
-*
-* SEE ALSO
-*	P_Key Manager object, osm_pkey_mgr_construct,
-*	osm_pkey_mgr_destroy
-*********/
-
 /****f* OpenSM: P_Key Manager/osm_pkey_mgr_process
 * NAME
 *	osm_pkey_mgr_process
@@ -235,23 +73,18 @@ osm_pkey_mgr_init(
 */
 osm_signal_t 
 osm_pkey_mgr_process(
-	IN const osm_pkey_mgr_t* const p_mgr );
+	IN osm_opensm_t *p_osm );
 /*
 * PARAMETERS
-*	p_mgr
-*		[in] Pointer to an osm_pkey_mgr_t object.
+*	p_osm
+*		[in] Pointer to an osm_opensm_t object.
 *
 * RETURN VALUES
 *	None
 *
 * NOTES
-*   Current Operations:
-*   - Inserts IB_DEFAULT_PKEY to all node objects that don't have 
-*      IB_DEFAULT_PARTIAL_PKEY or IB_DEFAULT_PKEY as part 
-*     of their p_key table
 *
 * SEE ALSO
-*	P_Key Manager
 *********/
 
 END_C_DECLS
diff --git a/osm/include/opensm/osm_sm.h b/osm/include/opensm/osm_sm.h
index d9fbd8a..d6086d4 100644
--- a/osm/include/opensm/osm_sm.h
+++ b/osm/include/opensm/osm_sm.h
@@ -74,7 +74,6 @@ #include <opensm/osm_lid_mgr.h>
 #include <opensm/osm_ucast_mgr.h>
 #include <opensm/osm_link_mgr.h>
 #include <opensm/osm_drop_mgr.h>
-#include <opensm/osm_pkey_mgr.h>
 #include <opensm/osm_lin_fwd_rcv_ctrl.h>
 #include <opensm/osm_mcast_fwd_rcv_ctrl.h>
 #include <opensm/osm_sweep_fail_ctrl.h>
@@ -162,7 +161,6 @@ typedef struct _osm_sm
   osm_link_mgr_t           link_mgr;
   osm_state_mgr_t          state_mgr;
   osm_drop_mgr_t           drop_mgr;
-  osm_pkey_mgr_t           pkey_mgr;
   osm_lft_rcv_t            lft_rcv;
   osm_lft_rcv_ctrl_t       lft_rcv_ctrl;
   osm_mft_rcv_t            mft_rcv;
diff --git a/osm/include/opensm/osm_state_mgr.h b/osm/include/opensm/osm_state_mgr.h
index 92aa910..a9385d1 100644
--- a/osm/include/opensm/osm_state_mgr.h
+++ b/osm/include/opensm/osm_state_mgr.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2005 Voltaire, Inc. All rights reserved.
+ * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
  * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
  * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
  *
@@ -60,7 +60,6 @@ #include <opensm/osm_ucast_mgr.h>
 #include <opensm/osm_mcast_mgr.h>
 #include <opensm/osm_link_mgr.h>
 #include <opensm/osm_drop_mgr.h>
-#include <opensm/osm_pkey_mgr.h>
 #include <opensm/osm_sm_mad_ctrl.h>
 #include <opensm/osm_log.h>
 
@@ -113,7 +112,6 @@ typedef struct _osm_state_mgr
   osm_mcast_mgr_t			*p_mcast_mgr;
   osm_link_mgr_t				*p_link_mgr;
   osm_drop_mgr_t				*p_drop_mgr;
-  osm_pkey_mgr_t				*p_pkey_mgr;
   osm_req_t					*p_req;
   osm_stats_t					*p_stats;
   struct _osm_sm_state_mgr  *p_sm_state_mgr;
@@ -151,9 +149,6 @@ typedef struct _osm_state_mgr
 *	p_drop_mgr
 *		Pointer to the Drop Manager object.
 *
-*	p_pkey_mgr
-*		Pointer to the P_Key Manager object.
-* 
 *	p_req
 *		Pointer to the Requester object sending SMPs.
 *
@@ -379,7 +374,6 @@ osm_state_mgr_init(
 	IN osm_mcast_mgr_t*			const p_mcast_mgr,
 	IN osm_link_mgr_t*			const p_link_mgr,
 	IN osm_drop_mgr_t*			const p_drop_mgr,
-	IN osm_pkey_mgr_t*			const p_pkey_mgr,
 	IN osm_req_t*				const p_req,
    IN osm_stats_t*               const p_stats,
    IN struct _osm_sm_state_mgr*  const p_sm_state_mgr,
@@ -411,9 +405,6 @@ osm_state_mgr_init(
 *	p_drop_mgr
 *		[in] Pointer to the Drop Manager object.
 *
-*	p_pkey_mgr
-*		[in] Pointer to the P_Key Manager object.
-*  
 *	p_req
 *		[in] Pointer to the Request Controller object.
 *
diff --git a/osm/opensm/osm_pkey_mgr.c b/osm/opensm/osm_pkey_mgr.c
index bdb3ae4..7b3da26 100644
--- a/osm/opensm/osm_pkey_mgr.c
+++ b/osm/opensm/osm_pkey_mgr.c
@@ -37,9 +37,8 @@
 
 /*
  * Abstract:
- *    Implementation of osm_pkey_mgr_t.
- * This object represents the P_Key Manager object.
- * This object is part of the opensm family of objects.
+ * Implementation of the P_Key Manager (Partititon Manager).
+ * This is part of the OpenSM.
  *
  * Environment:
  *    Linux User Mode
@@ -58,62 +57,15 @@ #include <opensm/osm_node.h>
 #include <opensm/osm_switch.h>
 #include <opensm/osm_pkey_mgr.h>
 #include <opensm/osm_partition.h>
-
-/**********************************************************************
- **********************************************************************/
-void
-osm_pkey_mgr_construct(
-   IN osm_pkey_mgr_t * const p_mgr )
-{
-   CL_ASSERT( p_mgr );
-   cl_memclr( p_mgr, sizeof( *p_mgr ) );
-}
-
-/**********************************************************************
- **********************************************************************/
-void
-osm_pkey_mgr_destroy(
-   IN osm_pkey_mgr_t * const p_mgr )
-{
-   CL_ASSERT( p_mgr );
-
-   OSM_LOG_ENTER( p_mgr->p_log, osm_pkey_mgr_destroy );
-
-   OSM_LOG_EXIT( p_mgr->p_log );
-}
-
-/**********************************************************************
- **********************************************************************/
-ib_api_status_t
-osm_pkey_mgr_init(
-   IN osm_pkey_mgr_t * const p_mgr,
-   IN osm_subn_t * const p_subn,
-   IN osm_log_t * const p_log,
-   IN osm_req_t * const p_req,
-   IN cl_plock_t * const p_lock )
-{
-   ib_api_status_t status = IB_SUCCESS;
-
-   OSM_LOG_ENTER( p_log, osm_pkey_mgr_init );
-
-   osm_pkey_mgr_construct( p_mgr );
-
-   p_mgr->p_log = p_log;
-   p_mgr->p_subn = p_subn;
-   p_mgr->p_lock = p_lock;
-   p_mgr->p_req = p_req;
-
-   OSM_LOG_EXIT( p_mgr->p_log );
-   return ( status );
-}
+#include <opensm/osm_opensm.h>
 
 /**********************************************************************
  **********************************************************************/
 static ib_api_status_t
-osm_pkey_mgr_update_pkey_entry(
-   IN const osm_pkey_mgr_t * const p_mgr,
-   IN const osm_physp_t * p_physp,
-   IN const ib_pkey_table_t * block,
+pkey_mgr_update_pkey_entry(
+   IN const osm_req_t *p_req,
+   IN const osm_physp_t *p_physp,
+   IN const ib_pkey_table_t *block,
    IN const uint16_t block_index )
 {
    osm_madw_context_t context;
@@ -126,7 +78,7 @@ osm_pkey_mgr_update_pkey_entry(
    attr_mod = block_index;
    if ( osm_node_get_type( p_node ) == IB_NODE_TYPE_SWITCH )
       attr_mod |= osm_physp_get_port_num( p_physp ) << 16;
-   return osm_req_set( p_mgr->p_req, osm_physp_get_dr_path_ptr( p_physp ),
+   return osm_req_set( p_req, osm_physp_get_dr_path_ptr( p_physp ),
                        ( uint8_t * ) block, sizeof( *block ),
                        IB_MAD_ATTR_P_KEY_TABLE,
                        cl_hton32( attr_mod ), CL_DISP_MSGID_NONE, &context );
@@ -135,9 +87,9 @@ osm_pkey_mgr_update_pkey_entry(
 /**********************************************************************
  **********************************************************************/
 static ib_api_status_t
-osm_pkey_mgr_enforce_partition(
-   IN const osm_pkey_mgr_t * const p_mgr,
-   IN const osm_physp_t * p_physp,
+pkey_mgr_enforce_partition(
+   IN const osm_req_t *p_req,
+   IN const osm_physp_t *p_physp,
    IN const boolean_t enforce)
 {
    osm_madw_context_t context;
@@ -168,7 +120,7 @@ osm_pkey_mgr_enforce_partition(
    context.pi_context.ignore_errors = FALSE;
    context.pi_context.light_sweep = FALSE;
 
-   return osm_req_set( p_mgr->p_req, osm_physp_get_dr_path_ptr( p_physp ),
+   return osm_req_set( p_req, osm_physp_get_dr_path_ptr( p_physp ),
                        payload, sizeof(payload),
                        IB_MAD_ATTR_PORT_INFO,
                        cl_hton32(osm_physp_get_port_num( p_physp )),
@@ -184,10 +136,11 @@ osm_pkey_mgr_enforce_partition(
  */
 
 static boolean_t
-__osm_pkey_mgr_process_physical_port(
-   IN const osm_pkey_mgr_t * const p_mgr,
+pkey_mgr_process_physical_port(
+   IN osm_log_t *p_log,
+   IN const osm_req_t *p_req,
    IN const ib_net16_t pkey,
-   IN osm_physp_t * p_physp )
+   IN osm_physp_t *p_physp )
 {
    boolean_t return_val = FALSE; /* TRUE if pkey was inserted or updated */
    ib_api_status_t status;
@@ -200,7 +153,7 @@ __osm_pkey_mgr_process_physical_port(
    uint32_t i;
    boolean_t block_found = FALSE;
 
-   OSM_LOG_ENTER( p_mgr->p_log, __osm_pkey_mgr_process_physical_port );
+   OSM_LOG_ENTER( p_log, pkey_mgr_process_physical_port );
 
    p_pkey_tbl = osm_physp_get_pkey_tbl( p_physp );
    num_of_blocks = osm_pkey_tbl_get_num_blocks( p_pkey_tbl );
@@ -209,10 +162,10 @@ __osm_pkey_mgr_process_physical_port(
 
    if ( p_orig_pkey && *p_orig_pkey == pkey )
    {
-      if ( osm_log_is_active( p_mgr->p_log, OSM_LOG_VERBOSE ) )
+      if ( osm_log_is_active( p_log, OSM_LOG_VERBOSE ) )
       {
-         osm_log( p_mgr->p_log, OSM_LOG_VERBOSE,
-                  "__osm_pkey_mgr_process_physical_port:  "
+         osm_log( p_log, OSM_LOG_VERBOSE,
+                  "pkey_mgr_process_physical_port:  "
                   "No need to insert pkey 0x%04x for node 0x%016" PRIx64
                   " port %u\n",
                   cl_ntoh16( pkey ),
@@ -258,8 +211,8 @@ __osm_pkey_mgr_process_physical_port(
 
    if ( block_found == FALSE )
    {
-      osm_log( p_mgr->p_log, OSM_LOG_ERROR,
-               "__osm_pkey_mgr_process_physical_port: ERR 0501: "
+      osm_log( p_log, OSM_LOG_ERROR,
+               "pkey_mgr_process_physical_port: ERR 0501: "
                "No empty pkey entry was found to insert 0x%04x for node "
                "0x%016" PRIx64 " port %u\n",
                cl_ntoh16( pkey ),
@@ -269,13 +222,13 @@ __osm_pkey_mgr_process_physical_port(
    }
 
    status =
-      osm_pkey_mgr_update_pkey_entry( p_mgr, p_physp, block, block_index );
+      pkey_mgr_update_pkey_entry( p_req, p_physp, block, block_index );
 
    if ( status != IB_SUCCESS )
    {
-      osm_log( p_mgr->p_log, OSM_LOG_ERROR,
-               "__osm_pkey_mgr_process_physical_port:  "
-               "osm_pkey_mgr_update_pkey_entry() failed to update "
+      osm_log( p_log, OSM_LOG_ERROR,
+               "pkey_mgr_process_physical_port:  "
+               "pkey_mgr_update_pkey_entry() failed to update "
                "pkey table block %d for node 0x%016" PRIx64 " port %u\n",
                block_index,
                cl_ntoh64( osm_node_get_node_guid( p_node ) ),
@@ -285,10 +238,10 @@ __osm_pkey_mgr_process_physical_port(
 
    return_val = TRUE;           /* pkey was inserted/updated */
 
-   if ( osm_log_is_active( p_mgr->p_log, OSM_LOG_VERBOSE ) )
+   if ( osm_log_is_active( p_log, OSM_LOG_VERBOSE ) )
    {
-      osm_log( p_mgr->p_log, OSM_LOG_VERBOSE,
-               "__osm_pkey_mgr_process_physical_port:  "
+      osm_log( p_log, OSM_LOG_VERBOSE,
+               "pkey_mgr_process_physical_port:  "
                "pkey 0x%04x was inserted for node 0x%016" PRIx64
                " port %u\n",
                cl_ntoh16( pkey ),
@@ -297,7 +250,7 @@ __osm_pkey_mgr_process_physical_port(
    }
 
  _done:
-   OSM_LOG_EXIT( p_mgr->p_log );
+   OSM_LOG_EXIT( p_log );
    return ( return_val );
 }
 
@@ -305,9 +258,11 @@ __osm_pkey_mgr_process_physical_port(
 /**********************************************************************
  **********************************************************************/
 static void
-osm_pkey_mgr_update_peer_port(
-   const osm_pkey_mgr_t * const p_mgr,
-   const osm_port_t * const p_port,
+pkey_mgr_update_peer_port(
+   osm_log_t *p_log,
+   const osm_req_t *p_req,
+   const osm_subn_t *p_subn,
+   const osm_port_t *p_port, 
    boolean_t enforce)
 {
    osm_physp_t *p, *peer;
@@ -330,15 +285,15 @@ osm_pkey_mgr_update_peer_port(
    if ( osm_node_get_type( p_node ) != IB_NODE_TYPE_SWITCH )
       return;
 
-   p_sw = osm_get_switch_by_guid( p_mgr->p_subn, osm_node_get_node_guid( p_node ));
+   p_sw = osm_get_switch_by_guid( p_subn, osm_node_get_node_guid( p_node ));
    if (!p_sw || !(p_si = osm_switch_get_si_ptr( p_sw )) ||
 	  !p_si->enforce_cap)
       return;
 
-   if (osm_pkey_mgr_enforce_partition( p_mgr, peer, enforce ) != IB_SUCCESS) {
-      osm_log( p_mgr->p_log, OSM_LOG_ERROR,
-               "osm_pkey_mgr_update_peer_port: "
-               "osm_pkey_mgr_enforce_partition() failed to update "
+   if (pkey_mgr_enforce_partition( p_req, peer, enforce ) != IB_SUCCESS) {
+      osm_log( p_log, OSM_LOG_ERROR,
+               "pkey_mgr_update_peer_port: "
+               "pkey_mgr_enforce_partition() failed to update "
                "node 0x%016" PRIx64 " port %u\n",
                cl_ntoh64( osm_node_get_node_guid( p_node ) ),
                osm_physp_get_port_num( peer ) );
@@ -361,12 +316,12 @@ osm_pkey_mgr_update_peer_port(
       {
          cl_memcpy( peer_block, block, sizeof( *block ) );
          status =
-            osm_pkey_mgr_update_pkey_entry( p_mgr, peer, peer_block,
+            pkey_mgr_update_pkey_entry( p_req, peer, peer_block,
                                             block_index );
          if ( status != IB_SUCCESS )
-            osm_log( p_mgr->p_log, OSM_LOG_ERROR,
-                     "osm_pkey_mgr_update_peer_port: "
-                     "osm_pkey_mgr_update_pkey_entry() failed to update "
+            osm_log( p_log, OSM_LOG_ERROR,
+                     "pkey_mgr_update_peer_port: "
+                     "pkey_mgr_update_pkey_entry() failed to update "
                      "pkey table block %d for node 0x%016" PRIx64
                      " port %u\n",
                      block_index,
@@ -376,10 +331,10 @@ osm_pkey_mgr_update_peer_port(
    }
 
    if ( num_of_blocks && status == IB_SUCCESS &&
-        osm_log_is_active( p_mgr->p_log, OSM_LOG_VERBOSE ) )
+        osm_log_is_active( p_log, OSM_LOG_VERBOSE ) )
    {
-      osm_log( p_mgr->p_log, OSM_LOG_VERBOSE,
-               "osm_pkey_mgr_update_peer_port: "
+      osm_log( p_log, OSM_LOG_VERBOSE,
+               "pkey_mgr_update_peer_port: "
                "pkey table was updated for node 0x%016" PRIx64
                " port %u\n",
                cl_ntoh64( osm_node_get_node_guid( p_node ) ),
@@ -390,9 +345,10 @@ osm_pkey_mgr_update_peer_port(
 /**********************************************************************
  **********************************************************************/
 static boolean_t
-osm_pkey_mgr_process_partition_table(
-   const osm_pkey_mgr_t * const p_mgr,
-   const osm_prtn_t * const p_prtn,
+pkey_mgr_process_partition_table(
+   osm_log_t *p_log,
+   const osm_req_t *p_req,
+   const osm_prtn_t *p_prtn,
    const boolean_t full )
 {
    const cl_map_t *p_tbl = full ?
@@ -412,12 +368,12 @@ osm_pkey_mgr_process_partition_table(
       i_next = cl_map_next( i );
       p_physp = cl_map_obj( i );
       if ( p_physp && osm_physp_is_valid( p_physp ) &&
-           __osm_pkey_mgr_process_physical_port( p_mgr, pkey, p_physp ) )
+           pkey_mgr_process_physical_port( p_log, p_req, pkey, p_physp ) )
       {
          result = TRUE;
-         if ( osm_log_is_active( p_mgr->p_log, OSM_LOG_VERBOSE ) )
-            osm_log( p_mgr->p_log, OSM_LOG_VERBOSE,
-                     "osm_pkey_mgr_process_partition_table:  "
+         if ( osm_log_is_active( p_log, OSM_LOG_VERBOSE ) )
+            osm_log( p_log, OSM_LOG_VERBOSE,
+                     "pkey_mgr_process_partition_table:  "
                      "Adding 0x%04x to pkey table of node "
                      "0x%016" PRIx64 " port %u\n",
                      cl_ntoh16( pkey ),
@@ -434,7 +390,7 @@ osm_pkey_mgr_process_partition_table(
  **********************************************************************/
 osm_signal_t
 osm_pkey_mgr_process(
-   IN const osm_pkey_mgr_t * const p_mgr )
+   IN osm_opensm_t *p_osm )
 {
    cl_qmap_t *p_tbl;
    cl_map_item_t *p_next;
@@ -442,20 +398,20 @@ osm_pkey_mgr_process(
    osm_port_t *p_port;
    osm_signal_t signal = OSM_SIGNAL_DONE;
 
-   CL_ASSERT( p_mgr );
+   CL_ASSERT( p_osm );
 
-   OSM_LOG_ENTER( p_mgr->p_log, osm_pkey_mgr_process );
+   OSM_LOG_ENTER( &p_osm->log, osm_pkey_mgr_process );
 
-   CL_PLOCK_EXCL_ACQUIRE( p_mgr->p_lock );
+   CL_PLOCK_EXCL_ACQUIRE( &p_osm->lock );
 
-   if ( osm_prtn_make_partitions( p_mgr->p_log, p_mgr->p_subn ) != IB_SUCCESS )
+   if ( osm_prtn_make_partitions( &p_osm->log, &p_osm->subn ) != IB_SUCCESS )
    {
-      osm_log( p_mgr->p_log, OSM_LOG_ERROR, "osm_pkey_mgr_process: "
+      osm_log( &p_osm->log, OSM_LOG_ERROR, "osm_pkey_mgr_process: "
                "osm_prtn_make_partitions() failed\n" );
       goto _err;
    }
 
-   p_tbl = &p_mgr->p_subn->prtn_pkey_tbl;
+   p_tbl = &p_osm->subn.prtn_pkey_tbl;
 
    p_next = cl_qmap_head( p_tbl );
    while ( p_next != cl_qmap_end( p_tbl ) )
@@ -463,13 +419,13 @@ osm_pkey_mgr_process(
       p_prtn = ( osm_prtn_t * ) p_next;
       p_next = cl_qmap_next( p_next );
 
-      if ( osm_pkey_mgr_process_partition_table( p_mgr, p_prtn, FALSE ) )
+      if ( pkey_mgr_process_partition_table( &p_osm->log, &p_osm->sm.req, p_prtn, FALSE ) )
          signal = OSM_SIGNAL_DONE_PENDING;
-      if ( osm_pkey_mgr_process_partition_table( p_mgr, p_prtn, TRUE ) )
+      if ( pkey_mgr_process_partition_table( &p_osm->log, &p_osm->sm.req, p_prtn, TRUE ) )
          signal = OSM_SIGNAL_DONE_PENDING;
    }
 
-   p_tbl = &p_mgr->p_subn->port_guid_tbl;
+   p_tbl = &p_osm->subn.port_guid_tbl;
 
    p_next = cl_qmap_head( p_tbl );
    while ( p_next != cl_qmap_end( p_tbl ) )
@@ -480,13 +436,13 @@ osm_pkey_mgr_process(
       if ( osm_node_get_type( osm_port_get_parent_node( p_port ) ) !=
            IB_NODE_TYPE_SWITCH )
       {
-         osm_pkey_mgr_update_peer_port( p_mgr, p_port,
-              !p_mgr->p_subn->opt.no_partition_enforcement);
+         pkey_mgr_update_peer_port( &p_osm->log, &p_osm->sm.req, &p_osm->subn,
+	       p_port, !p_osm->subn.opt.no_partition_enforcement );
       }
    }
 
  _err:
-   CL_PLOCK_RELEASE( p_mgr->p_lock );
-   OSM_LOG_EXIT( p_mgr->p_log );
+   CL_PLOCK_RELEASE( &p_osm->lock );
+   OSM_LOG_EXIT( &p_osm->log );
    return ( signal );
 }
diff --git a/osm/opensm/osm_sm.c b/osm/opensm/osm_sm.c
index 9c10651..99e5627 100644
--- a/osm/opensm/osm_sm.c
+++ b/osm/opensm/osm_sm.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2005 Voltaire, Inc. All rights reserved.
+ * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
  * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
  * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
  *
@@ -66,7 +66,6 @@ #include <opensm/osm_log.h>
 #include <opensm/osm_node.h>
 #include <opensm/osm_msgdef.h>
 #include <opensm/osm_mcast_mgr.h>
-#include <opensm/osm_pkey_mgr.h>
 #include <opensm/osm_mcm_info.h>
 #include <complib/cl_thread.h>
 #include <signal.h>
@@ -160,7 +159,6 @@ osm_sm_construct(
    osm_state_mgr_construct( &p_sm->state_mgr );
    osm_state_mgr_ctrl_construct( &p_sm->state_mgr_ctrl );
    osm_drop_mgr_construct( &p_sm->drop_mgr );
-   osm_pkey_mgr_construct( &p_sm->pkey_mgr );
    osm_lft_rcv_construct( &p_sm->lft_rcv );
    osm_lft_rcv_ctrl_construct( &p_sm->lft_rcv_ctrl );
    osm_mft_rcv_construct( &p_sm->mft_rcv );
@@ -250,7 +248,6 @@ osm_sm_destroy(
    osm_ucast_mgr_destroy( &p_sm->ucast_mgr );
    osm_link_mgr_destroy( &p_sm->link_mgr );
    osm_drop_mgr_destroy( &p_sm->drop_mgr );
-   osm_pkey_mgr_destroy( &p_sm->pkey_mgr );
    osm_lft_rcv_destroy( &p_sm->lft_rcv );
    osm_mft_rcv_destroy( &p_sm->mft_rcv );
    osm_slvl_rcv_destroy( &p_sm->slvl_rcv );
@@ -408,7 +405,6 @@ osm_sm_init(
                                 &p_sm->mcast_mgr,
                                 &p_sm->link_mgr,
                                 &p_sm->drop_mgr,
-                                &p_sm->pkey_mgr,
                                 &p_sm->req,
                                 p_stats,
                                 &p_sm->sm_state_mgr,
@@ -431,12 +427,6 @@ osm_sm_init(
    if( status != IB_SUCCESS )
       goto Exit;
 
-   status = osm_pkey_mgr_init( &p_sm->pkey_mgr,
-                               p_sm->p_subn,
-                               p_sm->p_log, &p_sm->req, p_sm->p_lock );
-   if( status != IB_SUCCESS )
-      goto Exit; 
-
    status = osm_lft_rcv_init( &p_sm->lft_rcv, p_subn, p_log, p_lock );
    if( status != IB_SUCCESS )
       goto Exit;
diff --git a/osm/opensm/osm_state_mgr.c b/osm/opensm/osm_state_mgr.c
index 083185c..1aefc0b 100644
--- a/osm/opensm/osm_state_mgr.c
+++ b/osm/opensm/osm_state_mgr.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2005 Voltaire, Inc. All rights reserved.
+ * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
  * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
  * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
  *
@@ -64,6 +64,7 @@ #include <opensm/osm_helper.h>
 #include <opensm/osm_msgdef.h>
 #include <opensm/osm_node.h>
 #include <opensm/osm_port.h>
+#include <opensm/osm_pkey_mgr.h>
 #include <vendor/osm_vendor_api.h>
 #include <opensm/osm_sm_state_mgr.h>
 #include <opensm/osm_opensm.h>
@@ -108,7 +109,6 @@ osm_state_mgr_init(
    IN osm_mcast_mgr_t * const p_mcast_mgr,
    IN osm_link_mgr_t * const p_link_mgr,
    IN osm_drop_mgr_t * const p_drop_mgr,
-   IN osm_pkey_mgr_t * const p_pkey_mgr, 
    IN osm_req_t * const p_req,
    IN osm_stats_t * const p_stats,
    IN osm_sm_state_mgr_t * const p_sm_state_mgr,
@@ -128,7 +128,6 @@ osm_state_mgr_init(
    CL_ASSERT( p_mcast_mgr );
    CL_ASSERT( p_link_mgr );
    CL_ASSERT( p_drop_mgr );
-   CL_ASSERT( p_pkey_mgr );
    CL_ASSERT( p_req );
    CL_ASSERT( p_stats );
    CL_ASSERT( p_sm_state_mgr );
@@ -145,7 +144,6 @@ osm_state_mgr_init(
    p_mgr->p_mcast_mgr = p_mcast_mgr;
    p_mgr->p_link_mgr = p_link_mgr;
    p_mgr->p_drop_mgr = p_drop_mgr;
-   p_mgr->p_pkey_mgr = p_pkey_mgr;
    p_mgr->p_mad_ctrl = p_mad_ctrl;
    p_mgr->p_req = p_req;
    p_mgr->p_stats = p_stats;
@@ -2235,7 +2233,7 @@ osm_state_mgr_process(
                                          OSM_SM_SIGNAL_DISCOVERY_COMPLETED );
 
             /* the returned signal might be DONE or DONE_PENDING */
-            signal = osm_pkey_mgr_process( p_mgr->p_pkey_mgr );
+            signal = osm_pkey_mgr_process( p_mgr->p_subn->p_osm );
             break;
 
          default:



More information about the general mailing list