Generated from osm_sm.h with ROBODoc vunknown on Wed Aug 07 15:31:50 2002

TABLE OF CONTENTS

  1. OpenSM/SM
  2. OpenSM: SM/osm_sm_t
  3. OpenSM: SM/osm_sm_construct
  4. OpenSM: SM/osm_sm_destroy
  5. OpenSM: SM/osm_sm_init
  6. OpenSM: SM/osm_sm_is_inited
  7. OpenSM: SM/osm_sm_sweep
  8. OpenSM: SM/osm_sm_bind

OpenSM/SM

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


OpenSM: SM/osm_sm_t

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

OpenSM: SM/osm_sm_construct

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

OpenSM: SM/osm_sm_destroy

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

OpenSM: SM/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

OpenSM: SM/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

OpenSM: SM/osm_sm_sweep

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

OpenSM: SM/osm_sm_bind

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