Generated from osm_sa.h with ROBODoc vunknown on Wed Aug 07 15:31:49 2002

TABLE OF CONTENTS

  1. OpenSM/SA
  2. OpenSM: SA/osm_sa_state_t
  3. OpenSM: SM/osm_sa_t
  4. OpenSM: SA/osm_sa_construct
  5. OpenSM: SA/osm_sa_destroy
  6. OpenSM: SA/osm_sa_init
  7. OpenSM: SA/osm_sa_is_inited
  8. OpenSM: SA/osm_sa_sweep
  9. OpenSM: SA/osm_sa_bind

OpenSM/SA

NAME
    SA

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
    Ranjit Pandit, Intel


OpenSM: SA/osm_sa_state_t

NAME
    osm_sa_state_t

DESCRIPTION
    Enumerates the possible states of SM object.

SYNOPSIS
typedef enum _osm_sa_state
{
    OSM_SA_STATE_INIT = 0,
    OSM_SA_STATE_READY

} osm_sa_state_t;

OpenSM: SM/osm_sa_t

NAME
    osm_sa_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_sa
{
    //osm_thread_state_t            thread_state;
    osm_sa_state_t              state;
    //cl_event_t                    signal;
    osm_subn_t                  *p_subn;
    osm_vendor_t                *p_vendor;
    osm_log_t                   *p_log;
    osm_mad_pool_t              *p_mad_pool;
    cl_dispatcher_t             *p_disp;
    cl_plock_t                  *p_lock;
    atomic32_t                  sa_trans_id;
    osm_sa_mad_ctrl_t           mad_ctrl;
    osm_sa_resp_t               resp;
    osm_nr_t                    nr;
    osm_nr_ctrl_t               nr_ctrl;
    //osm_pir_rcv_t             pir_rcv;
    //osm_pir_rcv_ctrl_t        pir_rcv_ctrl;
    //osm_sr_rcv_t              sr_rcv;
    //osm_sr_rcv_ctrl_t         sr_rcv_ctrl;
    //osm_pr_rcv_t              pr_rcv;
    //osm_pr_rcv_ctrl_t         pr_rcv_ctrl;
    //osm_mcmr_rcv_t                mcmr_rcv;
    //osm_mcmr_rcv_ctrl_t           mcmr_rcv_ctrl;
    
    Commented pending implementation...
    osm_sminfo_t                sm_info;


} osm_sa_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: SA/osm_sa_construct

NAME
    osm_sa_construct

DESCRIPTION
    This function constructs an SA object.

SYNOPSIS
void osm_sa_construct(
    IN osm_sa_t* const p_sa );

PARAMETERS
    p_sa
        [in] Pointer to a SA object to construct.

RETURN VALUE
    This function does not return a value.

NOTES
    Allows calling osm_sa_init, osm_sa_destroy, and osm_sa_is_inited.

    Calling osm_sa_construct is a prerequisite to calling any other
    method except osm_sa_init.

SEE ALSO
    SA object, osm_sa_init, osm_sa_destroy, osm_sa_is_inited

OpenSM: SA/osm_sa_destroy

NAME
    osm_sa_destroy

DESCRIPTION
    The osm_sa_destroy function destroys an SA, releasing
    all resources.

SYNOPSIS
void osm_sa_destroy(
    IN osm_sa_t* const p_sa );

PARAMETERS
    p_sa
        [in] Pointer to a SA object to destroy.

RETURN VALUE
    This function does not return a value.

NOTES
    Performs any necessary cleanup of the specified SA object.
    Further operations should not be attempted on the destroyed object.
    This function should only be called after a call to osm_sa_construct or
    osm_sa_init.

SEE ALSO
    SA object, osm_sa_construct, osm_sa_init

OpenSM: SA/osm_sa_init

NAME
    osm_sa_init

DESCRIPTION
    The osm_sa_init function initializes a SA object for use.

SYNOPSIS
ib_api_status_t osm_sa_init(
    IN osm_sa_t* const p_sa,
    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_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_sa
        [in] Pointer to an osm_sa_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 SA object was initialized successfully.

NOTES
    Allows calling other SA methods.

SEE ALSO
    SA object, osm_sa_construct, osm_sa_destroy,
    osm_sa_is_inited

OpenSM: SA/osm_sa_is_inited

NAME
    osm_sa_is_inited

DESCRIPTION
    Indicates if the object has been initialized with osm_sa_init.

SYNOPSIS
boolean_t osm_sa_is_inited(
    IN const osm_sa_t* const p_sa );

PARAMETERS
    p_sa
        [in] Pointer to an osm_sa_t object.

RETURN VALUES
    TRUE if the object was initialized successfully,
    FALSE otherwise.

NOTES
    The osm_sa_construct or osm_sa_init must be called before using
    this function.

SEE ALSO
    SA object, osm_sa_construct, osm_sa_init

OpenSM: SA/osm_sa_sweep

NAME
    osm_sa_sweep

DESCRIPTION
    Initiates a subnet sweep.

SYNOPSIS
void
osm_sa_sweep(
    IN osm_sa_t* const p_sa );

PARAMETERS
    p_sa
        [in] Pointer to an osm_sa_t object.

RETURN VALUES
    CL_SUCCESS if the sweep completed successfully.

NOTES

SEE ALSO
    SA object

OpenSM: SA/osm_sa_bind

NAME
    osm_sa_bind

DESCRIPTION
    Binds the sm object to a port guid.

SYNOPSIS
ib_api_status_t
osm_sa_bind(
    IN osm_sa_t* const p_sa,
    IN const ib_net64_t port_guid );

PARAMETERS
    p_sa
        [in] Pointer to an osm_sa_t object to bind.

    port_guid
        [in] Local port GUID with which to bind.


RETURN VALUES
    None

NOTES
    A given SA object can only be bound to one port at a time.

SEE ALSO