Generated from osm_sm.h with ROBODoc vunknown on Wed Aug 07 15:31:50 2002
TABLE OF CONTENTS
- OpenSM/SM
- OpenSM: SM/osm_sm_t
- OpenSM: SM/osm_sm_construct
- OpenSM: SM/osm_sm_destroy
- OpenSM: SM/osm_sm_init
- OpenSM: SM/osm_sm_is_inited
- OpenSM: SM/osm_sm_sweep
- OpenSM: SM/osm_sm_bind
NAME
SM
DESCRIPTION
The SM object encapsulates the information needed by the
OpenSM to instantiate a subnet manager. The OpenSM allocates
one SM object per subnet manager.
The SM object is thread safe.
This object should be treated as opaque and should
be manipulated only through the provided functions.
AUTHOR
Steve King, Intel
NAME
osm_sm_t
DESCRIPTION
Subnet Manager structure.
This object should be treated as opaque and should
be manipulated only through the provided functions.
SYNOPSIS
typedef struct _osm_sm
{
osm_thread_state_t thread_state;
osm_sm_state_t state;
cl_event_t signal;
cl_thread_t sweeper;
uint32_t sweep_interval;
osm_subn_t *p_subn;
osm_vendor_t *p_vendor;
osm_log_t *p_log;
osm_mad_pool_t *p_mad_pool;
osm_vl15_t *p_vl15;
cl_dispatcher_t *p_disp;
cl_plock_t *p_lock;
atomic32_t sm_trans_id;
osm_req_t req;
osm_req_ctrl_t req_ctrl;
osm_ni_rcv_t ni_rcv;
osm_ni_rcv_ctrl_t ni_rcv_ctrl;
osm_pi_rcv_t pi_rcv;
osm_pi_rcv_ctrl_t pi_rcv_ctrl;
osm_nd_rcv_t nd_rcv;
osm_nd_rcv_ctrl_t nd_rcv_ctrl;
osm_sm_mad_ctrl_t mad_ctrl;
osm_si_rcv_t si_rcv;
osm_si_rcv_ctrl_t si_rcv_ctrl;
osm_state_mgr_ctrl_t state_mgr_ctrl;
osm_lid_mgr_t lid_mgr;
osm_ucast_mgr_t ucast_mgr;
osm_link_mgr_t link_mgr;
osm_state_mgr_t state_mgr;
Commented pending implementation...
osm_sminfo_t sm_info;
} osm_sm_t;
FIELDS
p_subn
Pointer to the Subnet object for this subnet.
p_vendor
Pointer to the vendor specific interfaces object.
p_log
Pointer to the log object.
p_mad_pool
Pointer to the MAD pool.
p_vl15
Pointer to the VL15 interface.
gen_req
Generic MAD attribute requester.
gen_req_ctrl
Controller for the generic requester.
nd_rcv_ctrl
Node Description Receive Controller.
ni_rcv_ctrl
Node Info Receive Controller.
pi_rcv_ctrl
Port Info Receive Controller.
si_rcv_ctrl
Switch Info Receive Controller.
nd_rcv_ctrl
Node Description Receive Controller.
mad_ctrl
MAD Controller.
smi_get_ctrl
SM Info Get Controller.
p_disp
Pointer to the Dispatcher.
p_lock
Pointer to the serializing lock.
SEE ALSO
SM object
NAME
osm_sm_construct
DESCRIPTION
This function constructs an SM object.
SYNOPSIS
void osm_sm_construct(
IN osm_sm_t* const p_sm );
PARAMETERS
p_sm
[in] Pointer to a SM object to construct.
RETURN VALUE
This function does not return a value.
NOTES
Allows calling osm_sm_init, osm_sm_destroy, and osm_sm_is_inited.
Calling osm_sm_construct is a prerequisite to calling any other
method except osm_sm_init.
SEE ALSO
SM object, osm_sm_init, osm_sm_destroy, osm_sm_is_inited
NAME
osm_sm_destroy
DESCRIPTION
The osm_sm_destroy function destroys an SM, releasing
all resources.
SYNOPSIS
void osm_sm_destroy(
IN osm_sm_t* const p_sm );
PARAMETERS
p_sm
[in] Pointer to a SM object to destroy.
RETURN VALUE
This function does not return a value.
NOTES
Performs any necessary cleanup of the specified SM object.
Further operations should not be attempted on the destroyed object.
This function should only be called after a call to osm_sm_construct or
osm_sm_init.
SEE ALSO
SM object, osm_sm_construct, osm_sm_init
NAME
osm_sm_init
DESCRIPTION
The osm_sm_init function initializes a SM object for use.
SYNOPSIS
ib_api_status_t osm_sm_init(
IN osm_sm_t* const p_sm,
IN osm_subn_t* const p_subn,
IN osm_vendor_t* const p_vendor,
IN osm_mad_pool_t* const p_mad_pool,
IN osm_vl15_t* const p_vl15,
IN osm_log_t* const p_log,
IN osm_stats_t* const p_stats,
IN cl_dispatcher_t* const p_disp,
IN cl_plock_t* const p_lock );
PARAMETERS
p_sm
[in] Pointer to an osm_sm_t object to initialize.
p_subn
[in] Pointer to the Subnet object for this subnet.
p_vendor
[in] Pointer to the vendor specific interfaces object.
p_mad_pool
[in] Pointer to the MAD pool.
p_vl15
[in] Pointer to the VL15 interface.
p_log
[in] Pointer to the log object.
p_stats
[in] Pointer to the statistics object.
p_disp
[in] Pointer to the OpenSM central Dispatcher.
p_lock
[in] Pointer to the OpenSM serializing lock.
RETURN VALUES
CL_SUCCESS if the SM object was initialized successfully.
NOTES
Allows calling other SM methods.
SEE ALSO
SM object, osm_sm_construct, osm_sm_destroy,
osm_sm_is_inited
NAME
osm_sm_is_inited
DESCRIPTION
Indicates if the object has been initialized with osm_sm_init.
SYNOPSIS
boolean_t osm_sm_is_inited(
IN const osm_sm_t* const p_sm );
PARAMETERS
p_sm
[in] Pointer to an osm_sm_t object.
RETURN VALUES
TRUE if the object was initialized successfully,
FALSE otherwise.
NOTES
The osm_sm_construct or osm_sm_init must be called before using
this function.
SEE ALSO
SM object, osm_sm_construct, osm_sm_init
NAME
osm_sm_sweep
DESCRIPTION
Initiates a subnet sweep.
SYNOPSIS
void
osm_sm_sweep(
IN osm_sm_t* const p_sm );
PARAMETERS
p_sm
[in] Pointer to an osm_sm_t object.
RETURN VALUES
CL_SUCCESS if the sweep completed successfully.
NOTES
SEE ALSO
SM object
NAME
osm_sm_bind
DESCRIPTION
Binds the sm object to a port guid.
SYNOPSIS
ib_api_status_t
osm_sm_bind(
IN osm_sm_t* const p_sm,
IN const ib_net64_t port_guid );
PARAMETERS
p_sm
[in] Pointer to an osm_sm_t object to bind.
port_guid
[in] Local port GUID with which to bind.
RETURN VALUES
None
NOTES
A given SM object can only be bound to one port at a time.
SEE ALSO