Generated from ib_types.h with ROBODoc v3.2.3 on Sat Jan 18 07:05:14 2003

TABLE OF CONTENTS

  1. Access Layer/ib_access_t
  2. Access Layer/ib_api_status_t
  3. Access Layer/ib_apm_state_t
  4. Access Layer/ib_apr_status_t
  5. Access Layer/ib_atomic_t
  6. Access Layer/ib_av_attr_t
  7. Access Layer/ib_bind_wr_t
  8. Access Layer/ib_ca_attr_t
  9. Access Layer/ib_ca_mod_t
  10. Access Layer/ib_cm_cap_mask_t
  11. Access Layer/ib_eec_attr_t
  12. Access Layer/ib_eec_mod_t
  13. Access Layer/ib_eec_opts_t
  14. Access Layer/ib_local_ds_t
  15. Access Layer/ib_mr_attr_t
  16. Access Layer/ib_mr_create_t
  17. Access Layer/ib_mr_mod_t
  18. Access Layer/ib_phys_create_t
  19. Access Layer/ib_port_attr_mod_t
  20. Access Layer/ib_port_attr_t
  21. Access Layer/ib_port_cap_t
  22. Access Layer/ib_qp_attr_t
  23. Access Layer/ib_qp_create_t
  24. Access Layer/ib_qp_mod_t
  25. Access Layer/ib_qp_opts_t
  26. Access Layer/ib_qp_state_t
  27. Access Layer/ib_qp_type_t
  28. Access Layer/ib_recv_opt_t
  29. Access Layer/ib_recv_wr_t
  30. Access Layer/ib_rej_status_t
  31. Access Layer/ib_send_opt_t
  32. Access Layer/ib_send_wr_t
  33. Access Layer/ib_wc_status_t
  34. Access Layer/ib_wc_t
  35. Access Layer/ib_wc_type_t
  36. Access Layer/ib_wr_type_t
  37. Access layer/ib_copy_ca_attr
  38. IBA Base/Constants
  39. IBA Base/Type Definitions
  40. IBA Base: Constants/IB_CLASS_CAP_GETSET
  41. IBA Base: Constants/IB_CLASS_CAP_GETSET
  42. IBA Base: Constants/IB_CLASS_CAP_TRAP
  43. IBA Base: Constants/IB_DEFAULT_PKEY
  44. IBA Base: Constants/IB_DEFAULT_SUBNET_PREFIX
  45. IBA Base: Constants/IB_INVALID_PORT_NUM
  46. IBA Base: Constants/IB_LID_MCAST_END
  47. IBA Base: Constants/IB_LID_MCAST_START
  48. IBA Base: Constants/IB_LID_PERMISSIVE
  49. IBA Base: Constants/IB_LID_UCAST_END
  50. IBA Base: Constants/IB_LID_UCAST_START
  51. IBA Base: Constants/IB_MAD_ATTR_CLASS_PORT_INFO
  52. IBA Base: Constants/IB_MAD_ATTR_DIAGNOSTIC_TIMEOUT
  53. IBA Base: Constants/IB_MAD_ATTR_DIAG_CODE
  54. IBA Base: Constants/IB_MAD_ATTR_GUID_INFO
  55. IBA Base: Constants/IB_MAD_ATTR_INFORM_INFO
  56. IBA Base: Constants/IB_MAD_ATTR_IO_CONTROLLER_PROFILE
  57. IBA Base: Constants/IB_MAD_ATTR_IO_UNIT_INFO
  58. IBA Base: Constants/IB_MAD_ATTR_LED_INFO
  59. IBA Base: Constants/IB_MAD_ATTR_LINK_RECORD
  60. IBA Base: Constants/IB_MAD_ATTR_LIN_FWD_TBL
  61. IBA Base: Constants/IB_MAD_ATTR_MCAST_FWD_TBL
  62. IBA Base: Constants/IB_MAD_ATTR_MCMEMBER_RECORD
  63. IBA Base: Constants/IB_MAD_ATTR_MULTIPATH_RECORD
  64. IBA Base: Constants/IB_MAD_ATTR_NODE_DESC
  65. IBA Base: Constants/IB_MAD_ATTR_NODE_INFO
  66. IBA Base: Constants/IB_MAD_ATTR_NODE_RECORD
  67. IBA Base: Constants/IB_MAD_ATTR_NOTICE
  68. IBA Base: Constants/IB_MAD_ATTR_PATH_RECORD
  69. IBA Base: Constants/IB_MAD_ATTR_PKEYTBL_RECORD
  70. IBA Base: Constants/IB_MAD_ATTR_PORTINFO_RECORD
  71. IBA Base: Constants/IB_MAD_ATTR_PORT_CNTRS
  72. IBA Base: Constants/IB_MAD_ATTR_PORT_INFO
  73. IBA Base: Constants/IB_MAD_ATTR_PORT_SMPL_RSLT
  74. IBA Base: Constants/IB_MAD_ATTR_PREPARE_TO_TEST
  75. IBA Base: Constants/IB_MAD_ATTR_P_KEY_TABLE
  76. IBA Base: Constants/IB_MAD_ATTR_RND_FWD_TBL
  77. IBA Base: Constants/IB_MAD_ATTR_SERVICE_ENTRIES
  78. IBA Base: Constants/IB_MAD_ATTR_SERVICE_RECORD
  79. IBA Base: Constants/IB_MAD_ATTR_SLVL_TABLE
  80. IBA Base: Constants/IB_MAD_ATTR_SMINFO_RECORD
  81. IBA Base: Constants/IB_MAD_ATTR_SM_INFO
  82. IBA Base: Constants/IB_MAD_ATTR_SVC_ASSOCIATION_RECORD
  83. IBA Base: Constants/IB_MAD_ATTR_SVC_ASSOCIATION_RECORD
  84. IBA Base: Constants/IB_MAD_ATTR_SWITCH_INFO
  85. IBA Base: Constants/IB_MAD_ATTR_TEST_DEVICE_LOOP
  86. IBA Base: Constants/IB_MAD_ATTR_TEST_DEVICE_ONCE
  87. IBA Base: Constants/IB_MAD_ATTR_TRACE_RECORD
  88. IBA Base: Constants/IB_MAD_ATTR_VENDOR_DIAG
  89. IBA Base: Constants/IB_MAD_ATTR_VLARB_RECORD
  90. IBA Base: Constants/IB_MAD_ATTR_VL_ARBITRATION
  91. IBA Base: Constants/IB_MAD_METHOD_GET
  92. IBA Base: Constants/IB_MAD_METHOD_GETTABLE
  93. IBA Base: Constants/IB_MAD_METHOD_GETTABLE_RESP
  94. IBA Base: Constants/IB_MAD_METHOD_GET_RESP
  95. IBA Base: Constants/IB_MAD_METHOD_REPORT
  96. IBA Base: Constants/IB_MAD_METHOD_REPORT_RESP
  97. IBA Base: Constants/IB_MAD_METHOD_RESP_MASK
  98. IBA Base: Constants/IB_MAD_METHOD_SEND
  99. IBA Base: Constants/IB_MAD_METHOD_SET
  100. IBA Base: Constants/IB_MAD_METHOD_TRAP
  101. IBA Base: Constants/IB_MAD_METHOD_TRAP_REPRESS
  102. IBA Base: Constants/IB_MAD_STATUS_BUSY
  103. IBA Base: Constants/IB_MAD_STATUS_INVALID_FIELD
  104. IBA Base: Constants/IB_MAD_STATUS_REDIRECT
  105. IBA Base: Constants/IB_MAD_STATUS_UNSUP_CLASS_VER
  106. IBA Base: Constants/IB_MAD_STATUS_UNSUP_METHOD
  107. IBA Base: Constants/IB_MAD_STATUS_UNSUP_METHOD_ATTR
  108. IBA Base: Constants/IB_MAX_METHOD
  109. IBA Base: Constants/IB_MCAST_BLOCK_ID_MASK_HO
  110. IBA Base: Constants/IB_MCAST_BLOCK_SIZE
  111. IBA Base: Constants/IB_MCAST_MASK_SIZE
  112. IBA Base: Constants/IB_MCAST_MAX_BLOCK_ID
  113. IBA Base: Constants/IB_MCAST_POSITION_MASK_HO
  114. IBA Base: Constants/IB_MCAST_POSITION_MAX
  115. IBA Base: Constants/IB_MCAST_POSITION_SHIFT
  116. IBA Base: Constants/IB_MCLASS_BM
  117. IBA Base: Constants/IB_MCLASS_COMM_MGMT
  118. IBA Base: Constants/IB_MCLASS_DEV_MGMT
  119. IBA Base: Constants/IB_MCLASS_PERF
  120. IBA Base: Constants/IB_MCLASS_SNMP
  121. IBA Base: Constants/IB_MCLASS_SUBN_ADM
  122. IBA Base: Constants/IB_MCLASS_SUBN_DIR
  123. IBA Base: Constants/IB_MCLASS_SUBN_LID
  124. IBA Base: Constants/IB_MTU_TYPE
  125. IBA Base: Constants/IB_NODE_NUM_PORTS_MAX
  126. IBA Base: Constants/IB_NODE_TYPE_CA
  127. IBA Base: Constants/IB_NODE_TYPE_ROUTER
  128. IBA Base: Constants/IB_NODE_TYPE_SWITCH
  129. IBA Base: Constants/IB_NOTICE_NODE_TYPE_CA
  130. IBA Base: Constants/IB_NOTICE_NODE_TYPE_ROUTER
  131. IBA Base: Constants/IB_NOTICE_NODE_TYPE_SUBN_MGMT
  132. IBA Base: Constants/IB_NOTICE_NODE_TYPE_SWITCH
  133. IBA Base: Constants/IB_PATH_REC_BASE_MASK
  134. IBA Base: Constants/IB_PATH_REC_SELECTOR_MASK
  135. IBA Base: Constants/IB_PATH_SELECTOR_TYPE
  136. IBA Base: Constants/IB_PKEY_BASE_MASK
  137. IBA Base: Constants/IB_PKEY_ENTRIES_MAX
  138. IBA Base: Constants/IB_PKEY_MAX_BLOCKS
  139. IBA Base: Constants/IB_PKEY_TYPE_MASK
  140. IBA Base: Constants/IB_QP1_WELL_KNOWN_Q_KEY
  141. IBA Base: Constants/IB_SMINFO_STATE_DISCOVERING
  142. IBA Base: Constants/IB_SMINFO_STATE_MASTER
  143. IBA Base: Constants/IB_SMINFO_STATE_NOTACTIVE
  144. IBA Base: Constants/IB_SMINFO_STATE_STANDBY
  145. IBA Base: Constants/IB_SMP_DIRECTION
  146. IBA Base: Constants/IB_SMP_STATUS_MASK
  147. IBA Base: Constants/IB_SUBNET_PATH_HOPS_MAX
  148. IBA Base: Constants/Join States
  149. IBA Base: Constants/MAD_BLOCK_GRH_SIZE
  150. IBA Base: Constants/MAD_BLOCK_SIZE
  151. IBA Base: Constants/MAD_RMPP_DATA_SIZE
  152. IBA Base: Constants/MAD_RMPP_HDR_SIZE
  153. IBA Base: Constants/ib_link_states_t
  154. IBA Base: Types/DM_SVC_NAME
  155. IBA Base: Types/ib_class_port_info_t
  156. IBA Base: Types/ib_dm_mad_t
  157. IBA Base: Types/ib_get_async_event_str
  158. IBA Base: Types/ib_get_err_str
  159. IBA Base: Types/ib_get_node_type_str
  160. IBA Base: Types/ib_get_port_state_str
  161. IBA Base: Types/ib_get_wc_status_str
  162. IBA Base: Types/ib_gid_get_guid
  163. IBA Base: Types/ib_gid_get_subnet_prefix
  164. IBA Base: Types/ib_gid_prefix_t
  165. IBA Base: Types/ib_gid_set_default
  166. IBA Base: Types/ib_gid_t
  167. IBA Base: Types/ib_grh_get_ver_class_flow
  168. IBA Base: Types/ib_grh_set_ver_class_flow
  169. IBA Base: Types/ib_guid_info_t
  170. IBA Base: Types/ib_ioc_profile_t
  171. IBA Base: Types/ib_iou_info_diag_dev_id
  172. IBA Base: Types/ib_iou_info_option_rom
  173. IBA Base: Types/ib_iou_info_t
  174. IBA Base: Types/ib_mad_init_new
  175. IBA Base: Types/ib_mad_init_response
  176. IBA Base: Types/ib_mad_is_response
  177. IBA Base: Types/ib_mad_t
  178. IBA Base: Types/ib_member_rec_t
  179. IBA Base: Types/ib_net16_t
  180. IBA Base: Types/ib_net32_t
  181. IBA Base: Types/ib_net64_t
  182. IBA Base: Types/ib_node_info_get_local_port_num
  183. IBA Base: Types/ib_node_info_get_vendor_id
  184. IBA Base: Types/ib_node_info_t
  185. IBA Base: Types/ib_path_get_ipd
  186. IBA Base: Types/ib_path_rec_flow_lbl
  187. IBA Base: Types/ib_path_rec_hop_limit
  188. IBA Base: Types/ib_path_rec_init_local
  189. IBA Base: Types/ib_path_rec_mtu
  190. IBA Base: Types/ib_path_rec_mtu_sel
  191. IBA Base: Types/ib_path_rec_pkt_life
  192. IBA Base: Types/ib_path_rec_pkt_life_sel
  193. IBA Base: Types/ib_path_rec_rate
  194. IBA Base: Types/ib_path_rec_rate_sel
  195. IBA Base: Types/ib_path_rec_sl
  196. IBA Base: Types/ib_path_rec_t
  197. IBA Base: Types/ib_pkey_get_base
  198. IBA Base: Types/ib_pkey_is_full_member
  199. IBA Base: Types/ib_pkey_table_info_t
  200. IBA Base: Types/ib_port_info_compute_rate
  201. IBA Base: Types/ib_port_info_get_link_speed_sup
  202. IBA Base: Types/ib_port_info_get_lmc
  203. IBA Base: Types/ib_port_info_get_mpb
  204. IBA Base: Types/ib_port_info_get_mtu_cap
  205. IBA Base: Types/ib_port_info_get_neighbor_mtu
  206. IBA Base: Types/ib_port_info_get_port_state
  207. IBA Base: Types/ib_port_info_set_lmc
  208. IBA Base: Types/ib_port_info_set_neighbor_mtu
  209. IBA Base: Types/ib_port_info_set_op_vls
  210. IBA Base: Types/ib_port_info_set_port_state
  211. IBA Base: Types/ib_port_info_set_state_no_change
  212. IBA Base: Types/ib_port_info_set_timeout
  213. IBA Base: Types/ib_port_info_t
  214. IBA Base: Types/ib_rmpp_is_flag_set
  215. IBA Base: Types/ib_rmpp_mad_t
  216. IBA Base: Types/ib_sa_mad_get_payload_ptr
  217. IBA Base: Types/ib_sa_mad_t
  218. IBA Base: Types/ib_sm_info_t
  219. IBA Base: Types/ib_sminfo_get_priority
  220. IBA Base: Types/ib_sminfo_get_state
  221. IBA Base: Types/ib_smp_get_payload_ptr
  222. IBA Base: Types/ib_smp_get_status
  223. IBA Base: Types/ib_smp_init_new
  224. IBA Base: Types/ib_smp_is_d
  225. IBA Base: Types/ib_smp_is_response
  226. IBA Base: Types/ib_smp_t
  227. IBA Base: Types/ib_svc_entries_t
  228. IBA Base: Types/ib_svc_entry_t
  229. IBA Base: Types/ib_switch_info_clear_state_change
  230. IBA Base: Types/ib_switch_info_get_state_change
  231. IBA Base: Types/ib_switch_info_t
  232. IBA Base: Types/ioc_at_slot
  233. Verbs/ib_async_event_t
  234. Verbs/ib_event_rec_t

Access Layer/ib_access_t

NAME
    ib_access_t

DESCRIPTION
    Indicates the type of access is permitted on resources such as QPs,
    memory regions and memory windows.  

SYNOPSIS
typedef uint32_t                ib_access_t;
#define IB_AC_RDMA_READ         0x00000001
#define IB_AC_RDMA_WRITE        0x00000002
#define IB_AC_ATOMIC            0x00000004
#define IB_AC_LOCAL_WRITE       0x00000008
#define IB_AC_MW_BIND           0x00000010

NOTES
    Users may combine access rights using a bit-wise or operation to specify
    additional access.  For example: IB_AC_RDMA_READ | IB_AC_RDMA_WRITE grants
    RDMA read and write access.

Access Layer/ib_api_status_t

NAME
    ib_api_status_t

DESCRIPTION
    Function return codes indicating the success or failure of an API call.
    Note that success is indicated by the return value IB_SUCCESS, which 
    is always zero.

NOTES
    IB_VERBS_PROCESSING_DONE is used by UVP library to terminate a verbs call
    in the pre-ioctl step itself.

SYNOPSIS
typedef enum _ib_api_status_t
{
    IB_SUCCESS,
    IB_INSUFFICIENT_RESOURCES,
    IB_INSUFFICIENT_MEMORY,
    IB_INVALID_PARAMETER,
    IB_INVALID_SETTING,
    IB_NOT_FOUND,
    IB_TIMEOUT,
    IB_CANCELED,
    IB_INTERRUPTED,
    IB_INVALID_PERMISSION,
    IB_UNSUPPORTED,
    IB_OVERFLOW,
    IB_MAX_MCAST_QPS_REACHED,
    IB_INVALID_QP_STATE,
    IB_INVALID_EEC_STATE,
    IB_INVALID_APM_STATE,
    IB_INVALID_PORT_STATE,
    IB_INVALID_STATE,
    IB_RESOURCE_BUSY,
    IB_INVALID_PKEY,
    IB_INVALID_LKEY,
    IB_INVALID_RKEY,
    IB_INVALID_MAX_WRS,
    IB_INVALID_MAX_SGE,
    IB_INVALID_CQ_SIZE,
    IB_INVALID_SERVICE_TYPE,
    IB_INVALID_GID,
    IB_INVALID_LID,
    IB_INVALID_GUID,
    IB_INVALID_CA_HANDLE,
    IB_INVALID_AV_HANDLE,
    IB_INVALID_CQ_HANDLE,
    IB_INVALID_EEC_HANDLE,
    IB_INVALID_QP_HANDLE,
    IB_INVALID_PD_HANDLE,
    IB_INVALID_MR_HANDLE,
    IB_INVALID_MW_HANDLE,
    IB_INVALID_RDD_HANDLE,
    IB_INVALID_MCAST_HANDLE,
    IB_INVALID_CALLBACK,
    IB_INVALID_AL_HANDLE,                   /* InfiniBand Access Layer */
    IB_INVALID_HANDLE,                      /* InfiniBand Access Layer */
    IB_ERROR,                               /* InfiniBand Access Layer */
    IB_REMOTE_ERROR,                        /* Infiniband Access Layer */
    IB_VERBS_PROCESSING_DONE,               /* See Notes above         */ 
    IB_INVALID_WR_TYPE,
    IB_QP_IN_TIMEWAIT,
    IB_EE_IN_TIMEWAIT,
    IB_INVALID_PORT,
    IB_NOT_DONE,
    IB_UNKNOWN_ERROR                        /* ALWAYS LAST ENUM VALUE! */

}   ib_api_status_t;

Access Layer/ib_apm_state_t

NAME
    ib_apm_state_t

DESCRIPTION
    The current automatic path migration state of a queue pair

SYNOPSIS
typedef enum _ib_apm_state
{
    IB_APM_MIGRATED = 1,
    IB_APM_REARM,
    IB_APM_ARMED

}   ib_apm_state_t;

Access Layer/ib_apr_status_t

NAME
    ib_apr_status_t

DESCRIPTION
    Automatic path migration status information.

SYNOPSIS
typedef uint8_t                             ib_apr_status_t;

SEE ALSO
    ib_cm_apr, ib_cm_apr_rec_t

SOURCE
    #define IB_AP_SUCCESS                       0
    #define IB_AP_INVALID_COMM_ID               1
    #define IB_AP_UNSUPPORTED                   2
    #define IB_AP_REJECT                        3
    #define IB_AP_REDIRECT                      4
    #define IB_AP_IS_CURRENT                    5
    #define IB_AP_INVALID_QPN_EECN              6
    #define IB_AP_INVALID_LID                   7
    #define IB_AP_INVALID_GID                   8
    #define IB_AP_INVALID_FLOW_LBL              9
    #define IB_AP_INVALID_TCLASS                10
    #define IB_AP_INVALID_HOP_LIMIT             11
    #define IB_AP_INVALID_PKT_RATE              12
    #define IB_AP_INVALID_SL                    13

Access Layer/ib_atomic_t

NAME
    ib_atomic_t

DESCRIPTION
    Indicates atomicity levels supported by an adapter.

SYNOPSIS
typedef enum _ib_atomic_t
{
    IB_ATOMIC_NONE,
    IB_ATOMIC_LOCAL,
    IB_ATOMIC_GLOBAL

}   ib_atomic_t;

VALUES
    IB_ATOMIC_NONE
        Atomic operations not supported.

    IB_ATOMIC_LOCAL
        Atomic operations guaranteed between QPs of a single CA.

    IB_ATOMIC_GLOBAL
        Atomic operations are guaranteed between CA and any other entity
        in the system.

Access Layer/ib_av_attr_t

NAME
    ib_av_attr_t

DESCRIPTION
    IBA address vector.

SYNOPSIS
typedef struct _ib_av_attr
{
    uint8_t                 port_num;

    uint8_t                 sl;
    ib_net16_t              dlid;

    boolean_t               grh_valid;
    ib_grh_t                grh;
    uint8_t                 static_rate;
    uint8_t                 path_bits;

    struct _av_conn
    {
        uint8_t             path_mtu;
        uint8_t             local_ack_timeout;
        uint8_t             seq_err_retry_cnt;
        uint8_t             rnr_retry_cnt;

    }   conn;

}   ib_av_attr_t;

SEE ALSO
    ib_gid_t

Access Layer/ib_bind_wr_t

NAME
    ib_bind_wr_t

DESCRIPTION
    Information used to submit a memory window bind work request to the send 
    queue of a queue pair.

SYNOPSIS
typedef struct _ib_bind_wr
{
    uint64_t                wr_id;
    ib_send_opt_t           send_opt;

    ib_mr_handle_t          h_mr;
    ib_access_t             access_ctrl;
    uint32_t                current_rkey;

    ib_local_ds_t           local_ds;

}   ib_bind_wr_t;

FIELDS
    wr_id
        A 64-bit work request identifier that is returned to the consumer
        as part of the work completion.

    send_opt
        Optional send control parameters.

    h_mr
        Handle to the memory region to which this window is being bound.

    access_ctrl
        Access rights for this memory window.

    current_rkey
        The current rkey assigned to this window for remote access.

    local_ds
        A reference to a local data segment used by the bind operation.

SEE ALSO
    ib_send_opt_t, ib_access_t, ib_local_ds_t

Access Layer/ib_ca_attr_t

NAME
    ib_ca_attr_t

DESCRIPTION
    Information about a channel adapter.

SYNOPSIS
typedef struct _ib_ca_attr
{
    ib_net64_t              ca_guid;

    uint32_t                vend_id;
    uint16_t                dev_id;
    uint16_t                revision;

    /*
     * Total size of the ca attributes in bytes
     */
    uint32_t                size;
    uint32_t                max_qps;
    uint32_t                max_wrs;

    uint32_t                max_sges;
    uint32_t                max_rd_sges;

    uint32_t                max_cqs;
    uint32_t                max_cqes;

    uint32_t                max_pds;

    uint32_t                init_regions;
    uint64_t                init_region_size;

    uint32_t                init_windows;
    uint32_t                max_addr_handles;

    uint32_t                max_partitions;
    ib_atomic_t             atomicity;

    uint8_t                 max_qp_resp_res;
    uint8_t                 max_eec_resp_res;
    uint8_t                 max_resp_res;

    uint8_t                 max_qp_init_depth;
    uint8_t                 max_eec_init_depth;

    uint32_t                max_eecs;
    uint32_t                max_rdds;

    uint32_t                max_ipv6_qps;
    uint32_t                max_ether_qps;

    uint32_t                max_mcast_grps;
    uint32_t                max_mcast_qps;
    uint32_t                max_qps_per_mcast_grp;

    /*
     * local_ack_delay:
     * Specifies the maximum time interval between the local CA receiving
     * a message and the transmission of the associated ACK or NAK.
     *
     * timeout = 4.096 microseconds * 2^local_ack_delay
     */
    uint8_t                 local_ack_delay;

    boolean_t               bad_pkey_ctr_support;
    boolean_t               bad_qkey_ctr_support;
    boolean_t               raw_mcast_support;
    boolean_t               apm_support;
    boolean_t               av_port_check;

    boolean_t               change_primary_port;

    boolean_t               modify_wr_depth;

    boolean_t               hw_agents;

    uint32_t                num_page_sizes;
    uint8_t                 num_ports;
    uint32_t                *p_page_size;
    ib_port_attr_t          *p_port_attr;

}   ib_ca_attr_t;

NOTES
    This structure contains the attributes of a channel adapter.  Users must
    call ib_copy_ca_attr to copy the contents of this structure to a new
    memory region.

SEE ALSO
    ib_port_attr_t, ib_atomic_t, ib_copy_ca_attr

Access Layer/ib_ca_mod_t

NAME
    ib_ca_mod_t -- Modify port attributes and error counters

DESCRIPTION
    Specifies modifications to the port attributes of a channel adapter.

SYNOPSIS
typedef uint32_t                            ib_ca_mod_t;
#define IB_CA_MOD_IS_CM_SUPPORTED           0x00000001
#define IB_CA_MOD_IS_SNMP_SUPPORTED         0x00000002
#define IB_CA_MOD_IS_DEV_MGMT_SUPPORTED     0x00000004
#define IB_CA_MOD_IS_VEND_SUPPORTED         0x00000008
#define IB_CA_MOD_IS_SM                     0x00000010
#define IB_CA_MOD_IS_SM_DISABLED            0x00000020
#define IB_CA_MOD_QKEY_CTR                  0x00000040
#define IB_CA_MOD_PKEY_CTR                  0x00000080
#define IB_CA_MOD_IS_NOTICE_SUPPORTED       0x00000100
#define IB_CA_MOD_IS_TRAP_SUPPORTED         0x00000200
#define IB_CA_MOD_IS_APM_SUPPORTED          0x00000400
#define IB_CA_MOD_IS_SLMAP_SUPPORTED        0x00000800
#define IB_CA_MOD_IS_PKEY_NVRAM_SUPPORTED   0x00001000
#define IB_CA_MOD_IS_MKEY_NVRAM_SUPPORTED   0x00002000
#define IB_CA_MOD_IS_SYSGUID_SUPPORTED      0x00004000
#define IB_CA_MOD_IS_DR_NOTICE_SUPPORTED    0x00008000
#define IB_CA_MOD_IS_BOOT_MGMT_SUPPORTED    0x00010000
#define IB_CA_MOD_IS_CAPM_NOTICE_SUPPORTED  0x00020000
#define IB_CA_MOD_IS_REINIT_SUPORTED        0x00040000
#define IB_CA_MOD_IS_LEDINFO_SUPPORTED      0x00080000

VALUES
    IB_CA_MOD_IS_CM_SUPPORTED
        Indicates if there is a communication manager accessible through 
        the port.

    IB_CA_MOD_IS_SNMP_SUPPORTED
        Indicates if there is an SNMP agent accessible through the port.

    IB_CA_MOD_IS_DEV_MGMT_SUPPORTED
        Indicates if there is a device management agent accessible through
        the port.

    IB_CA_MOD_IS_VEND_SUPPORTED
        Indicates if there is a vendor supported agent accessible through 
        the port.

    IB_CA_MOD_IS_SM
        Indicates if there is a subnet manager accessible through
        the port.

    IB_CA_MOD_IS_SM_DISABLED
        Indicates if the port has been disabled for configuration by the subnet
        manager.

    IB_CA_MOD_QKEY_CTR
        Used to reset the qkey violation counter associated with the port.

    IB_CA_MOD_PKEY_CTR
        Used to reset the pkey violation counter associated with the port.

    IB_CA_MOD_IS_NOTICE_SUPPORTED       
        Indicates that this CA supports ability to generate Notices for 
        Port State changes. (only applicable to switches)

    IB_CA_MOD_IS_TRAP_SUPPORTED     
        Indicates that this management port supports ability to generate 
        trap messages. (only applicable to switches)

    IB_CA_MOD_IS_APM_SUPPORTED  
        Indicates that this port is capable of performing Automatic Migration.

    IB_CA_MOD_IS_SLMAP_SUPPORTED
        Indicates this port supports SLMAP capability.      

    IB_CA_MOD_IS_PKEY_NVRAM_SUPPORTED
        Indicates that PKEY is supported in NVRAM

    IB_CA_MOD_IS_MKEY_NVRAM_SUPPORTED
        Indicates that MKEY is supported in NVRAM

    IB_CA_MOD_IS_SYSGUID_SUPPORTED      
        Indicates System Image GUID support.

    IB_CA_MOD_IS_DR_NOTICE_SUPPORTED
        Indicate support for generating Direct Routed Notices

    IB_CA_MOD_IS_BOOT_MGMT_SUPPORTED
        Indicates support for Boot Management

    IB_CA_MOD_IS_CAPM_NOTICE_SUPPORTED
        Indicates capability to generate notices for changes to CAPMASK

    IB_CA_MOD_IS_REINIT_SUPORTED        
        Indicates type of node init supported. Refer to Chapter 14 for
        Initialization actions.

    IB_CA_MOD_IS_LEDINFO_SUPPORTED
        Indicates support for LED info.

Access Layer/ib_cm_cap_mask_t

NAME
    ib_cm_cap_mask_t

DESCRIPTION
    Capability mask values in ClassPortInfo.

SYNOPSIS
#define IB_CM_RELIABLE_CONN_CAPABLE         CL_HTON16(9)
#define IB_CM_RELIABLE_DGRM_CAPABLE         CL_HTON16(10)
#define IB_CM_RDGRM_CAPABLE                 CL_HTON16(11)
#define IB_CM_UNRELIABLE_CONN_CAPABLE       CL_HTON16(12)
#define IB_CM_SIDR_CAPABLE                  CL_HTON16(13)

SEE ALSO
    ib_cm_rep, ib_class_port_info_t

SOURCE


Access Layer/ib_eec_attr_t

NAME
    ib_eec_attr_t

DESCRIPTION
    Information about an end-to-end context.

SYNOPSIS
typedef struct _ib_eec_attr
{
    ib_qp_state_t           state;
    ib_rdd_handle_t         h_rdd;
    ib_net32_t              local_eecn;

    ib_net32_t              sq_psn;
    ib_net32_t              rq_psn;
    uint8_t                 primary_port;
    uint16_t                pkey_index;
    uint32_t                resp_res;
    ib_net32_t              remote_eecn;
    uint32_t                init_depth;
    uint32_t                dest_num;   // ??? What is this?
    ib_av_attr_t            primary_av;
    ib_av_attr_t            alternate_av;
    ib_apm_state_t          apm_state;

}   ib_eec_attr_t;

SEE ALSO
    ib_qp_state_t, ib_av_attr_t, ib_apm_state_t

Access Layer/ib_eec_mod_t

NAME
    ib_eec_mod_t

DESCRIPTION
    Information needed to change the state of an end-to-end context through
    the ib_modify_eec function.

SYNOPSIS
typedef struct _ib_eec_mod
{
    ib_qp_state_t               req_state;

    union _eec_state
    {
        struct _eec_init
        {
            uint8_t             primary_port;
            uint16_t            pkey_index;

        }   init;

        struct _eec_rtr
        {
            ib_net32_t          rq_psn;
            ib_net32_t          remote_eecn;
            ib_av_attr_t        primary_av;
            uint8_t             resp_res;

            ib_eec_opts_t       opts;
            ib_av_attr_t        alternate_av;
            uint16_t            pkey_index;

        }   rtr;

        struct _eec_rts
        {
            ib_net32_t          sq_psn;
            uint8_t             retry_cnt;
            uint8_t             rnr_retry_cnt;
            uint8_t             local_ack_timeout;
            uint8_t             init_depth;

            ib_eec_opts_t       opts;
            ib_av_attr_t        alternate_av;
            ib_apm_state_t      apm_state;

            ib_av_attr_t        primary_av;
            uint16_t            pkey_index;
            uint8_t             primary_port;

        }   rts;

        struct _eec_sqd
        {
            boolean_t           sqd_event;

        }   sqd;

    }   state; 

}   ib_eec_mod_t;

SEE ALSO
    ib_qp_state_t, ib_av_attr_t, ib_apm_state_t

Access Layer/ib_eec_opts_t

NAME
    ib_eec_opts_t

DESCRIPTION
    Optional fields supplied in the modify EEC operation.

SYNOPSIS
typedef uint32_t                ib_eec_opts_t;
#define IB_MOD_EEC_ALTERNATE_AV 0x00000001
#define IB_MOD_EEC_PKEY         0x00000002
#define IB_MOD_EEC_APM_STATE    0x00000004
#define IB_MOD_EEC_PRIMARY_AV   0x00000008
#define IB_MOD_EEC_RNR          0x00000010
#define IB_MOD_EEC_RESP_RES     0x00000020
#define IB_MOD_EEC_OUTSTANDING  0x00000040
#define IB_MOD_EEC_PRIMARY_PORT 0x00000080

NOTES



Access Layer/ib_local_ds_t

NAME
    ib_local_ds_t

DESCRIPTION
    Local data segment information referenced by send and receive work 
    requests.  This is used to specify local data buffers used as part of a
    work request.

SYNOPSIS
typedef struct _ib_local_ds
{
    void                    *vaddr;
    uint32_t                length;
    uint32_t                lkey;

}   ib_local_ds_t;

Access Layer/ib_mr_attr_t

NAME
    ib_mr_attr_t

DESCRIPTION
    Attributes of a registered memory region.

SYNOPSIS
typedef struct _ib_mr_attr
{
    ib_pd_handle_t          h_pd;
    void                    *local_lb;
    void                    *local_ub;
    void                    *remote_lb;
    void                    *remote_ub;
    ib_access_t             access_ctrl;
    uint32_t                lkey;
    uint32_t                rkey;

}   ib_mr_attr_t;

DESCRIPTION
    h_pd
        Handle to the protection domain for this memory region.

    local_lb
        The virtual address of the lower bound of protection for local 
        memory access.

    local_ub
        The virtual address of the upper bound of protection for local 
        memory access.

    remote_lb
        The virtual address of the lower bound of protection for remote 
        memory access.

    remote_ub
        The virtual address of the upper bound of protection for remote 
        memory access.

    access_ctrl
        Access rights for the specified memory region.

    lkey
        The lkey associated with this memory region.

    rkey
        The rkey associated with this memory region.

NOTES
    The remote_lb, remote_ub, and rkey are only valid if remote memory access
    is enabled for this memory region.

SEE ALSO
    ib_access_t

Access Layer/ib_mr_create_t

NAME
    ib_mr_create_t

DESCRIPTION
    Information required to create a registered memory region.

SYNOPSIS
typedef struct _ib_mr_create
{
    void                    *vaddr;
    uint64_t                length;
    ib_access_t             access_ctrl;

}   ib_mr_create_t;

FIELDS
    vaddr
        Starting virtual address of the region being registered.

    length
        Length of the buffer to register.

    access_ctrl
        Access rights of the registered region.

SEE ALSO
    ib_access_t

Access Layer/ib_mr_mod_t

NAME
    ib_mr_mod_t

DESCRIPTION
    Mask used to specify which attributes of a registered memory region are
    being modified.

SYNOPSIS
typedef uint32_t                        ib_mr_mod_t;
#define IB_MR_MOD_ADDR                  0x00000001
#define IB_MR_MOD_PD                    0x00000002
#define IB_MR_MOD_ACCESS                0x00000004

PARAMETERS
    IB_MEM_MOD_ADDR
        The address of the memory region is being modified.

    IB_MEM_MOD_PD
        The protection domain associated with the memory region is being
        modified.

    IB_MEM_MOD_ACCESS
        The access rights the memory region are being modified.

Access Layer/ib_phys_create_t

NAME
    ib_phys_create_t

DESCRIPTION
    Information required to create a physical memory region.

SYNOPSIS
typedef struct _ib_phys_create
{
    uint64_t                length;
    uint32_t                num_bufs;
    uint64_t                *buf_array;
    uint32_t                buf_offset;
    uint32_t                page_size;
    ib_access_t             access_ctrl;

}   ib_phys_create_t;

    length
        The length of the memory region in bytes.

    num_bufs
        Number of buffers listed in the specified buffer array.

    buf_array
        An array of physical buffers to be registered as a single memory
        region.

    buf_offset
        The offset into the first physical page of the specified memory 
        region to start the virtual address.

    page_size
        The physical page size of the memory being registered.

    access_ctrl
        Access rights of the registered region.

SEE ALSO
    ib_access_t

Access Layer/ib_port_attr_mod_t

NAME
    ib_port_attr_mod_t

DESCRIPTION
    Port attributes that may be modified.

SYNOPSIS
typedef struct _ib_port_attr_mod
{
    ib_port_cap_t           cap;
    uint16_t                pkey_ctr;
    uint16_t                qkey_ctr;

}   ib_port_attr_mod_t;

SEE ALSO
    ib_port_cap_t

Access Layer/ib_port_attr_t

NAME
    ib_port_attr_t

DESCRIPTION
    Information about a port on a given channel adapter.

SYNOPSIS
typedef struct _ib_port_attr
{
    ib_net64_t              port_guid;
    uint8_t                 port_num;
    uint8_t                 mtu;
    uint64_t                max_msg_size;
    ib_net16_t              lid;
    uint8_t                 lmc;

    uint16_t                max_vls;

    ib_net16_t              sm_lid;
    uint8_t                 sm_sl;
    uint8_t                 link_state;

    /*
     * subnet_timeout:
     * The maximum expected subnet propagation delay to reach any port on
     * the subnet.  This value also determines the rate at which traps can
     * be generated from this node.
     *
     * timeout = 4.096 microseconds * 2^subnet_timeout
     */
    uint8_t                 subnet_timeout;

    ib_port_cap_t           cap;
    uint16_t                pkey_ctr;
    uint16_t                qkey_ctr;

    uint16_t                num_gids;
    uint16_t                num_pkeys;
    /* 
     * Pointers at the end of the structure to allow doing a simple 
     * memory comparison of contents up to the first pointer.
     */
    ib_gid_t                *p_gid_table;
    ib_net16_t              *p_pkey_table;

}   ib_port_attr_t;

SEE ALSO
    uint8_t, ib_port_cap_t, ib_link_states_t

Access Layer/ib_port_cap_t

NAME
    ib_port_cap_t

DESCRIPTION
    Indicates which management agents are currently available on the specified
    port.

SYNOPSIS
typedef struct _ib_port_cap
{
    boolean_t       cm;
    boolean_t       snmp;
    boolean_t       dev_mgmt;
    boolean_t       vend;
    boolean_t       sm;
    boolean_t       sm_disable;
    boolean_t       qkey_ctr;
    boolean_t       pkey_ctr;
    boolean_t       notice;
    boolean_t       trap;
    boolean_t       apm;
    boolean_t       slmap;
    boolean_t       pkey_nvram;
    boolean_t       mkey_nvram;
    boolean_t       sysguid;
    boolean_t       dr_notice;
    boolean_t       boot_mgmt;
    boolean_t       capm_notice;
    boolean_t       reinit;
    boolean_t       ledinfo;
    boolean_t       port_active;

}   ib_port_cap_t;

Access Layer/ib_qp_attr_t

NAME
    ib_qp_attr_t

DESCRIPTION
    Queue pair attributes returned through ib_query_qp.

SYNOPSIS
typedef struct _ib_qp_attr
{
    ib_pd_handle_t          h_pd;
    ib_qp_type_t            qp_type;
    ib_access_t             access_ctrl;
    uint16_t                pkey_index;

    uint32_t                sq_depth;
    uint32_t                rq_depth;
    uint32_t                sq_sge;
    uint32_t                rq_sge;
    uint8_t                 init_depth;
    uint8_t                 resp_res;

    ib_cq_handle_t          h_sq_cq;
    ib_cq_handle_t          h_rq_cq;
    ib_rdd_handle_t         h_rdd;

    boolean_t               sq_signaled;

    ib_qp_state_t           state;
    ib_net32_t              num;
    ib_net32_t              dest_num;
    ib_net32_t              qkey;

    ib_net32_t              sq_psn;
    ib_net32_t              rq_psn;

    uint8_t                 primary_port;
    uint8_t                 alternate_port;
    ib_av_attr_t            primary_av;
    ib_av_attr_t            alternate_av;
    ib_apm_state_t          apm_state;

}   ib_qp_attr_t;

FIELDS
    h_pd
        This is a handle to a protection domain associated with the queue
        pair, or NULL if the queue pair is type IB_QPT_RELIABLE_DGRM.

NOTES
    Other fields are defined by the Infiniband specification.

SEE ALSO
    ib_qp_type_t, ib_access_t, ib_qp_state_t, ib_av_attr_t, ib_apm_state_t

Access Layer/ib_qp_create_t

NAME
    ib_qp_create_t

DESCRIPTION
    Attributes used to initialize a queue pair at creation time.

SYNOPSIS
typedef struct _ib_qp_create
{
    ib_qp_type_t            qp_type;

    ib_rdd_handle_t         h_rdd;

    uint32_t                sq_depth;
    uint32_t                rq_depth;
    uint32_t                sq_sge;
    uint32_t                rq_sge;

    ib_cq_handle_t          h_sq_cq;
    ib_cq_handle_t          h_rq_cq;

    boolean_t               sq_signaled;

}   ib_qp_create_t;

FIELDS
    type
        Specifies the type of queue pair to create.

    h_rdd
        A handle to a reliable datagram domain to associate with the queue
        pair.  This field is ignored if the queue pair is not a reliable
        datagram type queue pair.

    sq_depth
        Indicates the requested maximum number of work requests that may be
        outstanding on the queue pair's send queue.  This value must be less
        than or equal to the maximum reported by the channel adapter associated
        with the queue pair.

    rq_depth
        Indicates the requested maximum number of work requests that may be
        outstanding on the queue pair's receive queue.  This value must be less
        than or equal to the maximum reported by the channel adapter associated
        with the queue pair.

    sq_sge
        Indicates the maximum number scatter-gather elements that may be
        given in a send work request.  This value must be less
        than or equal to the maximum reported by the channel adapter associated
        with the queue pair.

    rq_sge
        Indicates the maximum number scatter-gather elements that may be
        given in a receive work request.  This value must be less
        than or equal to the maximum reported by the channel adapter associated
        with the queue pair.

    h_sq_cq
        A handle to the completion queue that will be used to report send work
        request completions.  This handle must be NULL if the type is
        IB_QPT_MAD, IB_QPT_QP0_ALIAS, or IB_QPT_QP1_ALIAS.

    h_rq_cq
        A handle to the completion queue that will be used to report receive
        work request completions.  This handle must be NULL if the type is
        IB_QPT_MAD, IB_QPT_QP0_ALIAS, or IB_QPT_QP1_ALIAS.

    sq_signaled
        A flag that is used to indicate whether the queue pair will signal
        an event upon completion of a send work request.  If set to
        TRUE, send work requests will always generate a completion
        event.  If set to FALSE, a completion event will only be
        generated if the send_opt field of the send work request has the
        IB_SEND_OPT_SIGNALED flag set.

SEE ALSO
    ib_qp_type_t, ib_qp_attr_t

Access Layer/ib_qp_mod_t

NAME
    ib_qp_mod_t

DESCRIPTION
    Information needed to change the state of a queue pair through the
    ib_modify_qp call.

SYNOPSIS
typedef struct _ib_qp_mod
{
    ib_qp_state_t               req_state;

    union _qp_state
    {
        struct _qp_reset
        {
            /* 
             * Time, in milliseconds, that the QP needs to spend in the
             * time wait state before being reused.
             */
            uint32_t            timewait;

        }   reset;

        struct _qp_init
        {
            uint8_t             primary_port;
            ib_net32_t          qkey;
            uint16_t            pkey_index;
            ib_access_t         access_ctrl;

        }   init;

        struct _qp_rtr
        {
            ib_net32_t          rq_psn;
            ib_net32_t          dest_qp;
            ib_av_attr_t        primary_av;
            uint8_t             resp_res;

            ib_qp_opts_t        opts;
            ib_av_attr_t        alternate_av;
            ib_net32_t          qkey;
            uint16_t            pkey_index;
            ib_access_t         access_ctrl;
            uint32_t            sq_depth;
            uint32_t            rq_depth;
            uint8_t             rnr_nak_timeout;

        }   rtr;

        struct _qp_rts
        {
            ib_net32_t          sq_psn;
            uint8_t             retry_cnt;
            uint8_t             rnr_retry_cnt;
            uint8_t             rnr_nak_timeout;
            uint8_t             local_ack_timeout;
            uint8_t             init_depth;

            ib_qp_opts_t        opts;
            ib_net32_t          qkey;
            ib_access_t         access_ctrl;
            uint8_t             resp_res;

            ib_av_attr_t        alternate_av;
            uint32_t            sq_depth;
            uint32_t            rq_depth;

            ib_apm_state_t      apm_state;
            uint8_t             primary_port;
            uint16_t            pkey_index;

        }   rts;

        struct _qp_sqd
        {
            boolean_t           sqd_event;

        }   sqd;

    }   state;

}   ib_qp_mod_t;

SEE ALSO
    ib_qp_state_t, ib_access_t, ib_av_attr_t, ib_apm_state_t

Access Layer/ib_qp_opts_t

NAME
    ib_qp_opts_t

DESCRIPTION
    Optional fields supplied in the modify QP operation.

SYNOPSIS
typedef uint32_t                ib_qp_opts_t;
#define IB_MOD_QP_ALTERNATE_AV  0x00000001
#define IB_MOD_QP_PKEY          0x00000002
#define IB_MOD_QP_APM_STATE     0x00000004
#define IB_MOD_QP_PRIMARY_AV    0x00000008
#define IB_MOD_QP_RNR           0x00000010
#define IB_MOD_QP_RESP_RES      0x00000020
#define IB_MOD_QP_INIT_DEPTH    0x00000040
#define IB_MOD_QP_PRIMARY_PORT  0x00000080
#define IB_MOD_QP_ACCESS_CTRL   0x00000100
#define IB_MOD_QP_QKEY          0x00000200
#define IB_MOD_QP_SQ_DEPTH      0x00000400
#define IB_MOD_QP_RQ_DEPTH      0x00000800

SEE ALSO
    ib_qp_mod_t

Access Layer/ib_qp_state_t

NAME
    ib_qp_state_t

DESCRIPTION
    Indicates or sets the state of a queue pair.  The current state of a queue
    pair is returned through the ib_qp_query call and set via the 
    ib_qp_modify call.

SYNOPSIS
typedef uint32_t                ib_qp_state_t;
#define IB_QPS_RESET            0x00000001
#define IB_QPS_INIT             0x00000002
#define IB_QPS_RTR              0x00000004
#define IB_QPS_RTS              0x00000008
#define IB_QPS_SQD              0x00000010
#define IB_QPS_SQD_DRAINING     0x00000030
#define IB_QPS_SQD_DRAINED      0x00000050
#define IB_QPS_SQERR            0x00000080
#define IB_QPS_ERROR            0x00000100
#define IB_QPS_TIME_WAIT        0xDEAD0000  /* InfiniBand Access Layer */

Access Layer/ib_qp_type_t

NAME
    ib_qp_type_t

DESCRIPTION
    Indicates the type of queue pair being created.

SYNOPSIS
typedef enum _ib_qp_type
{
    IB_QPT_RELIABLE_CONN    = 0,        /* Matches CM REQ transport type */
    IB_QPT_UNRELIABLE_CONN  = 1,        /* Matches CM REQ transport type */
    IB_QPT_RELIABLE_DGRM    = 2,        /* Matches CM REQ transport type */
    IB_QPT_UNRELIABLE_DGRM,
    IB_QPT_QP0,
    IB_QPT_QP1,
    IB_QPT_RAW_IPV6,
    IB_QPT_RAW_ETHER,
    IB_QPT_MAD,                             /* InfiniBand Access Layer */
    IB_QPT_QP0_ALIAS,                       /* InfiniBand Access Layer */
    IB_QPT_QP1_ALIAS                        /* InfiniBand Access Layer */

}   ib_qp_type_t;

VALUES
    IB_QPT_RELIABLE_CONN
        Reliable, connected queue pair.

    IB_QPT_UNRELIABLE_CONN
        Unreliable, connected queue pair.

    IB_QPT_RELIABLE_DGRM
        Reliable, datagram queue pair.

    IB_QPT_UNRELIABLE_DGRM
        Unreliable, datagram queue pair.

    IB_QPT_QP0
        Queue pair 0.

    IB_QPT_QP1
        Queue pair 1.

    IB_QPT_RAW_DGRM
        Raw datagram queue pair.

    IB_QPT_RAW_IPV6
        Raw IP version 6 queue pair.

    IB_QPT_RAW_ETHER
        Raw Ethernet queue pair.

    IB_QPT_MAD
        Unreliable, datagram queue pair that will send and receive management
        datagrams with assistance from the access layer.

    IB_QPT_QP0_ALIAS
        Alias to queue pair 0.  Aliased QPs can only be created on an aliased
        protection domain.

    IB_QPT_QP1_ALIAS
        Alias to queue pair 1.  Aliased QPs can only be created on an aliased
        protection domain.

Access Layer/ib_recv_opt_t

NAME
    ib_recv_opt_t

DESCRIPTION
    Indicates optional fields valid in a receive work completion.

SYNOPSIS
typedef uint32_t                    ib_recv_opt_t;
#define IB_RECV_OPT_IMMEDIATE       0x00000001
#define IB_RECV_OPT_SOLICITED       0x00000002
#define IB_RECV_OPT_GRH_VALID       0x00000004

VALUES
    IB_RECV_OPT_IMMEDIATE
        Indicates that immediate data is valid for this work completion.

    IB_RECV_OPT_SOLICITED
        Indicates that a solicited event bit arrived when completing
        an incoming receive message.

    IB_RECV_OPT_GRH_VALID
        Indicates presence of the global route header. When set, the first 
        40 bytes received are the GRH.

Access Layer/ib_recv_wr_t

NAME
    ib_recv_wr_t

DESCRIPTION
    Information used to submit a work request to the receive queue of a queue
    pair.

SYNOPSIS
typedef struct _ib_recv_wr
{
    struct _ib_recv_wr      *p_next;
    uint64_t                wr_id;
    uint32_t                num_ds;
    ib_local_ds_t           *ds_array;

}   ib_recv_wr_t;

FIELDS
    p_next
        A pointer used to chain work requests together.  This permits multiple
        work requests to be posted to a queue pair through a single function
        call.  This value is set to NULL to mark the end of the chain.

    wr_id
        A 64-bit work request identifier that is returned to the consumer
        as part of the work completion.

    num_ds
        Number of local data segments specified by this work request.

    ds_array
        A reference to an array of local data segments used by the send
        operation.

SEE ALSO
    ib_local_ds_t

Access Layer/ib_rej_status_t

NAME
    ib_rej_status_t

DESCRIPTION
    Rejection reasons.

SYNOPSIS
typedef ib_net16_t                          ib_rej_status_t;

SEE ALSO
    ib_cm_rej, ib_cm_rej_rec_t

SOURCE
    #define IB_REJ_INSUF_QP                     CL_HTON16(1)
    #define IB_REJ_INSUF_EEC                    CL_HTON16(2)
    #define IB_REJ_INSUF_RESOURCES              CL_HTON16(3)
    #define IB_REJ_TIMEOUT                      CL_HTON16(4)
    #define IB_REJ_UNSUPPORTED                  CL_HTON16(5)
    #define IB_REJ_INVALID_COMM_ID              CL_HTON16(6)
    #define IB_REJ_INVALID_COMM_INSTANCE        CL_HTON16(7)
    #define IB_REJ_INVALID_SID                  CL_HTON16(8)
    #define IB_REJ_INVALID_XPORT                CL_HTON16(9)
    #define IB_REJ_STALE_CONN                   CL_HTON16(10)
    #define IB_REJ_RDC_NOT_EXIST                CL_HTON16(11)
    #define IB_REJ_INVALID_GID                  CL_HTON16(12)
    #define IB_REJ_INVALID_LID                  CL_HTON16(13)
    #define IB_REJ_INVALID_SL                   CL_HTON16(14)
    #define IB_REJ_INVALID_TRAFFIC_CLASS        CL_HTON16(15)
    #define IB_REJ_INVALID_HOP_LIMIT            CL_HTON16(16)
    #define IB_REJ_INVALID_PKT_RATE             CL_HTON16(17)
    #define IB_REJ_INVALID_ALT_GID              CL_HTON16(18)
    #define IB_REJ_INVALID_ALT_LID              CL_HTON16(19)
    #define IB_REJ_INVALID_ALT_SL               CL_HTON16(20)
    #define IB_REJ_INVALID_ALT_TRAFFIC_CLASS    CL_HTON16(21)
    #define IB_REJ_INVALID_ALT_HOP_LIMIT        CL_HTON16(22)
    #define IB_REJ_INVALID_ALT_PKT_RATE         CL_HTON16(23)
    #define IB_REJ_PORT_REDIRECT                CL_HTON16(24)
    #define IB_REJ_INVALID_MTU                  CL_HTON16(26)
    #define IB_REJ_INSUFFICIENT_RESP_RES        CL_HTON16(27)
    #define IB_REJ_USER_DEFINED                 CL_HTON16(28)
    #define IB_REJ_INVALID_RNR_RETRY            CL_HTON16(29)
    #define IB_REJ_DUPLICATE_LOCAL_COMM_ID      CL_HTON16(30)
    #define IB_REJ_INVALID_CLASS_VER            CL_HTON16(31)
    #define IB_REJ_INVALID_FLOW_LBL             CL_HTON16(32)
    #define IB_REJ_INVALID_ALT_FLOW_LBL         CL_HTON16(33)

Access Layer/ib_send_opt_t

NAME
    ib_send_opt_t

DESCRIPTION
    Optional flags used when posting send work requests.  These flags
    indicate specific processing for the send operation.

SYNOPSIS
typedef uint32_t                    ib_send_opt_t;
#define IB_SEND_OPT_IMMEDIATE       0x00000001
#define IB_SEND_OPT_FENCE           0x00000002
#define IB_SEND_OPT_SIGNALED        0x00000004
#define IB_SEND_OPT_SOLICITED       0x00000008

VALUES
    The following flags determine the behavior of a work request when 
    posted to the send side.

    IB_SEND_OPT_IMMEDIATE
        Send immediate data with the given request.

    IB_SEND_OPT_FENCE
        The operation is fenced.  Complete all pending send operations before 
        processing this request.

    IB_SEND_OPT_SIGNALED
        If the queue pair is configured for signaled completion, then
        generate a completion queue entry when this request completes.

    IB_SEND_OPT_SOLICITED
        Set the solicited bit on the last packet of this request.

Access Layer/ib_send_wr_t

NAME
    ib_send_wr_t

DESCRIPTION
    Information used to submit a work request to the send queue of a queue
    pair.

SYNOPSIS
typedef struct _ib_send_wr
{
    struct _ib_send_wr      *p_next;
    uint64_t                wr_id;
    ib_wr_type_t            wr_type;
    ib_send_opt_t           send_opt;
    uint32_t                num_ds;
    ib_local_ds_t           *ds_array;
    ib_net32_t              immediate_data;

    union _send_dgrm
    {
        struct _send_ud
        {
            ib_net32_t      remote_qp;
            ib_net32_t      remote_qkey;
            ib_av_handle_t  h_av;

        }   ud;
        
        struct _send_rd
        {
            ib_net32_t      remote_qp;
            ib_net32_t      remote_qkey;
            ib_net32_t      eecn;
            
        }   rd;

        struct _send_raw_ether
        {
            ib_net16_t      dest_lid;
            uint8_t         path_bits;
            uint8_t         sl;
            uint8_t         max_static_rate;
            ib_net16_t      ether_type;

        }   raw_ether;

        struct _send_raw_ipv6
        {
            ib_net16_t      dest_lid;
            uint8_t         path_bits;
            uint8_t         sl;
            uint8_t         max_static_rate;

        }   raw_ipv6;

    }   dgrm;

    struct _send_remote_ops
    {
        uint64_t            vaddr;
        uint32_t            rkey;

        ib_net64_t          atomic1;
        ib_net64_t          atomic2;

    }   remote_ops;

}   ib_send_wr_t;

FIELDS
    p_next
        A pointer used to chain work requests together.  This permits multiple
        work requests to be posted to a queue pair through a single function
        call.  This value is set to NULL to mark the end of the chain.

    wr_id
        A 64-bit work request identifier that is returned to the consumer
        as part of the work completion.

    op_type
        The type of work request being submitted to the send queue.

    send_opt
        Optional send control parameters.

    num_ds
        Number of local data segments specified by this work request.

    ds_array
        A reference to an array of local data segments used by the send
        operation.

    immediate_data
        32-bit field sent as part of a message send or RDMA write operation.
        This field is only valid if the send_opt flag IB_SEND_OPT_IMMEDIATE
        has been set.

    dgrm.ud.remote_qp
        Identifies the destination queue pair of an unreliable datagram send
        operation.

    dgrm.ud.remote_qkey
        The qkey for the destination queue pair.

    dgrm.ud.h_av
        An address vector that specifies the path information used to route
        the outbound datagram to the destination queue pair.

    dgrm.rd.remote_qp
        Identifies the destination queue pair of a reliable datagram send
        operation.

    dgrm.rd.remote_qkey
        The qkey for the destination queue pair.

    dgrm.rd.eecn
        The local end-to-end context number to use with the reliable datagram
        send operation.

    dgrm.raw_ether.dest_lid
        The destination LID that will receive this raw ether send.

    dgrm.raw_ether.path_bits
        path bits...

    dgrm.raw_ether.sl
        service level...

    dgrm.raw_ether.max_static_rate
        static rate...

    dgrm.raw_ether.ether_type
        ether type...

    dgrm.raw_ipv6.dest_lid
        The destination LID that will receive this raw ether send.

    dgrm.raw_ipv6.path_bits
        path bits...

    dgrm.raw_ipv6.sl
        service level...

    dgrm.raw_ipv6.max_static_rate
        static rate...

    remote_ops.vaddr
        The registered virtual memory address of the remote memory to access
        with an RDMA or atomic operation.

    remote_ops.rkey
        The rkey associated with the specified remote vaddr. This data must
        be presented exactly as obtained from the remote node. No swapping 
        of data must be performed.

    atomic1
        The first operand for an atomic operation.

    atomic2
        The second operand for an atomic operation.

NOTES
    The format of data sent over the fabric is user-defined and is considered
    opaque to the access layer.  The sole exception to this are MADs posted
    to a MAD QP service.  MADs are expected to match the format defined by
    the Infiniband specification and must be in network-byte order when posted
    to the MAD QP service.

SEE ALSO
    ib_wr_type_t, ib_local_ds_t, ib_send_opt_t

Access Layer/ib_wc_status_t

NAME
    ib_wc_status_t

DESCRIPTION
    Indicates the status of a completed work request.  These VALUES are
    returned to the user when retrieving completions.  Note that success is
    identified as IB_WCS_SUCCESS, which is always zero.

SYNOPSIS
typedef enum _ib_wc_status_t
{
    IB_WCS_SUCCESS,
    IB_WCS_LOCAL_LEN_ERR,
    IB_WCS_LOCAL_OP_ERR,
    IB_WCS_LOCAL_EEC_OP_ERR,
    IB_WCS_LOCAL_PROTECTION_ERR,
    IB_WCS_WR_FLUSHED_ERR,
    IB_WCS_MEM_WINDOW_BIND_ERR,
    IB_WCS_REM_ACCESS_ERR,
    IB_WCS_REM_OP_ERR,
    IB_WCS_RNR_RETRY_ERR,
    IB_WCS_TIMEOUT_RETRY_ERR,
    IB_WCS_REM_INVALID_REQ_ERR,
    IB_WCS_REM_INVALID_RD_REQ_ERR,
    IB_WCS_INVALID_EECN,
    IB_WCS_INVALID_EEC_STATE,
    IB_WCS_UNMATCHED_RESPONSE,          /* InfiniBand Access Layer */
    IB_WCS_CANCELED,                    /* InfiniBand Access Layer */
    IB_WCS_UNKNOWN                      /* Must be last. */

}   ib_wc_status_t;

VALUES
    IB_WCS_SUCCESS
        Work request completed successfully.

    IB_WCS_MAD
        The completed work request was associated with a managmenet datagram
        that requires post processing.  The MAD will be returned to the user
        through a callback once all post processing has completed.

    IB_WCS_LOCAL_LEN_ERR
        Generated for a work request posted to the send queue when the
        total of the data segment lengths exceeds the message length of the
        channel.  Generated for a work request posted to the receive queue when
        the total of the data segment lengths is too small for a
        valid incoming message.

    IB_WCS_LOCAL_OP_ERR
        An internal QP consistency error was generated while processing this
        work request.  This may indicate that the QP was in an incorrect state
        for the requested operation.

    IB_WCS_LOCAL_EEC_OP_ERR
        An internal EEC consistency error was generated while processing
        this work request.  This may indicate that the EEC was in an incorrect
        state for the requested operation.

    IB_WCS_LOCAL_PROTECTION_ERR
        The data segments of the locally posted work request did not refer to
        a valid memory region.  The memory may not have been properly
        registered for the requested operation.

    IB_WCS_WR_FLUSHED_ERR
        The work request was flushed from the QP before being completed.

    IB_WCS_MEM_WINDOW_BIND_ERR
        A memory window bind operation failed due to insufficient access
        rights.

    IB_WCS_REM_ACCESS_ERR,
        A protection error was detected at the remote node for a RDMA or atomic
        operation.

    IB_WCS_REM_OP_ERR,
        The operation could not be successfully completed at the remote node.
        This may indicate that the remote QP was in an invalid state or
        contained an invalid work request.

    IB_WCS_RNR_RETRY_ERR,
        The RNR retry count was exceeded while trying to send this message.

    IB_WCS_TIMEOUT_RETRY_ERR
        The local transport timeout counter expired while trying to send this
        message.

    IB_WCS_REM_INVALID_REQ_ERR,
        The remote node detected an invalid message on the channel.  This error
        is usually a result of one of the following:
            - The operation was not supported on receive queue.
            - There was insufficient buffers to receive a new RDMA request.
            - There was insufficient buffers to receive a new atomic operation.
            - An RDMA request was larger than 2^31 bytes.

    IB_WCS_REM_INVALID_RD_REQ_ERR,
        Responder detected an invalid RD message.  This may be the result of an
        invalid qkey or an RDD mismatch.

    IB_WCS_INVALID_EECN
        An invalid EE context number was detected.

    IB_WCS_INVALID_EEC_STATE
        The EEC was in an invalid state for the specified request.

    IB_WCS_UNMATCHED_RESPONSE
        A response MAD was received for which there was no matching send.  The
        send operation may have been canceled by the user or may have timed
        out.

    IB_WCS_CANCELED
        The completed work request was canceled by the user.

Access Layer/ib_wc_t

NAME
    ib_wc_t

DESCRIPTION
    Work completion information.

SYNOPSIS
typedef struct _ib_wc
{
    struct _ib_wc           *p_next;
    uint64_t                wr_id;
    ib_wc_type_t            wc_type;

    uint32_t                length;
    ib_wc_status_t          status;

    union _wc_recv
    {
        struct _wc_conn
        {
            ib_recv_opt_t   recv_opt;
            ib_net32_t      immediate_data;

        }   conn;

        struct _wc_ud
        {
            ib_recv_opt_t   recv_opt;
            ib_net32_t      immediate_data;
            ib_net32_t      remote_qp;
            uint16_t        pkey_index;
            ib_net16_t      remote_lid;
            uint8_t         remote_sl;
            uint8_t         path_bits;

        }   ud;

        struct _wc_rd
        {
            ib_net32_t      remote_eecn;
            ib_net32_t      remote_qp;
            ib_net16_t      remote_lid;
            uint8_t         remote_sl;
            uint32_t        free_cnt;

        }   rd;
        
        struct _wc_raw_ipv6
        {
            ib_net16_t      remote_lid;
            uint8_t         remote_sl;
            uint8_t         path_bits;

        }   raw_ipv6;

        struct _wc_raw_ether
        {
            ib_net16_t      remote_lid;
            uint8_t         remote_sl;
            uint8_t         path_bits;
            ib_net16_t      ether_type;

        }   raw_ether;

    }   recv;

}   ib_wc_t;

FIELDS
    p_next
        A pointer used to chain work completions.  This permits multiple
        work completions to be retrieved from a completion queue through a 
        single function call.  This value is set to NULL to mark the end of
        the chain.

    wr_id
        The 64-bit work request identifier that was specified when posting the
        work request.

    wc_type
        Indicates the type of work completion.


    length
        The total length of the data sent or received with the work request.

    status
        The result of the work request.

    recv.conn.recv_opt
        Indicates optional fields valid as part of a work request that
        completed on a connected (reliable or unreliable) queue pair.

    recv.conn.immediate_data
        32-bit field received as part of an inbound message on a connected
        queue pair.  This field is only valid if the recv_opt flag
        IB_RECV_OPT_IMMEDIATE has been set.

    recv.ud.recv_opt
        Indicates optional fields valid as part of a work request that
        completed on an unreliable datagram queue pair.

    recv.ud.immediate_data
        32-bit field received as part of an inbound message on a unreliable
        datagram queue pair.  This field is only valid if the recv_opt flag
        IB_RECV_OPT_IMMEDIATE has been set.

    recv.ud.remote_qp
        Identifies the source queue pair of a received datagram.

    recv.ud.pkey_index
        The pkey index for the source queue pair. This is valid only for 
        GSI type QP's.

    recv.ud.remote_lid
        The source LID of the received datagram.

    recv.ud.remote_sl
        The service level used by the source of the received datagram.

    recv.ud.path_bits
        path bits...

    recv.rd.remote_eecn
        The remote end-to-end context number that sent the received message.

    recv.rd.remote_qp
        Identifies the source queue pair of a received message.

    recv.rd.remote_lid
        The source LID of the received message.

    recv.rd.remote_sl
        The service level used by the source of the received message.

    recv.rd.free_cnt
        The number of available entries in the completion queue.  Reliable
        datagrams may complete out of order, so this field may be used to
        determine the number of additional completions that may occur.

    recv.raw_ipv6.remote_lid
        The source LID of the received message.

    recv.raw_ipv6.remote_sl
        The service level used by the source of the received message.

    recv.raw_ipv6.path_bits
        path bits...

    recv.raw_ether.remote_lid
        The source LID of the received message.

    recv.raw_ether.remote_sl
        The service level used by the source of the received message.

    recv.raw_ether.path_bits
        path bits...

    recv.raw_ether.ether_type
        ether type...
NOTES
    When the work request completes with error, the only values that the
    consumer can depend on are the wr_id field, and the status of the 
    operation. 

    If the consumer is using the same CQ for completions from more than
    one type of QP (i.e Reliable Connected, Datagram etc), then the consumer
    must have additional information to decide what fields of the union are
    valid.
SEE ALSO
    ib_wc_type_t, ib_qp_type_t, ib_wc_status_t, ib_recv_opt_t

Access Layer/ib_wc_type_t

NAME
    ib_wc_type_t

DESCRIPTION
   Indicates the type of work completion.

SYNOPSIS
typedef enum _ib_wc_type_t
{
    IB_WC_SEND,
    IB_WC_RDMA_WRITE,
    IB_WC_RECV,
    IB_WC_RDMA_READ,
    IB_WC_MW_BIND,
    IB_WC_FETCH_ADD,
    IB_WC_COMPARE_SWAP,
    IB_WC_RECV_RDMA_WRITE

}   ib_wc_type_t;

Access Layer/ib_wr_type_t

NAME
    ib_wr_type_t

DESCRIPTION
    Identifies the type of work request posted to a queue pair.

SYNOPSIS
typedef enum _ib_wr_type_t
{
    WR_SEND = 1,
    WR_RDMA_WRITE,
    WR_RDMA_READ,
    WR_COMPARE_SWAP,
    WR_FETCH_ADD

}   ib_wr_type_t;

Access layer/ib_copy_ca_attr

NAME
    ib_copy_ca_attr

DESCRIPTION
    Copies CA attributes.

SYNOPSIS
ib_ca_attr_t*
ib_copy_ca_attr(
    IN              ib_ca_attr_t* const     p_dest,
    IN      const   ib_ca_attr_t* const     p_src );

PARAMETERS
    p_dest
        Pointer to the buffer that is the destination of the copy.

    p_src
        Pointer to the CA attributes to copy.

RETURN VALUE
    Pointer to the copied CA attributes.

NOTES
    The buffer pointed to by the p_dest parameter must be at least the size
    specified in the size field of the buffer pointed to by p_src.

SEE ALSO
    ib_ca_attr_t, ib_dup_ca_attr, ib_free_ca_attr

IBA Base/Constants

NAME
    Constants

DESCRIPTION
    The following constants are used throughout the IBA code base.

    Definitions are from the InfiniBand Architecture Specification v1.1


IBA Base/Type Definitions

NAME
    Type Definitions

DESCRIPTION
    Definitions are from the InfiniBand Architecture Specification v1.1


IBA Base: Constants/IB_CLASS_CAP_GETSET

NAME
    IB_CLASS_CAP_GETSET

DESCRIPTION
    ClassPortInfo CapabilityMask bits.  This bit will be set
    if the class supports Get(Notice) and Set(Notice) MADs (13.4.8.1).

SEE ALSO
    ib_class_port_info_t, IB_CLASS_CAP_TRAP

SOURCE
    #define IB_CLASS_CAP_GETSET                 0x0002

IBA Base: Constants/IB_CLASS_CAP_GETSET

NAME
    IB_CLASS_CAP_GETSET

DESCRIPTION
    Mask bits to extract the reponse time value from the
    resp_time_val field of ib_class_port_info_t.

SEE ALSO
    ib_class_port_info_t

SOURCE
    #define IB_CLASS_RESP_TIME_MASK             0x1F

IBA Base: Constants/IB_CLASS_CAP_TRAP

NAME
    IB_CLASS_CAP_TRAP

DESCRIPTION
    ClassPortInfo CapabilityMask bits.  This bit will be set
    if the class supports Trap() MADs (13.4.8.1).

SEE ALSO
    ib_class_port_info_t, IB_CLASS_CAP_GETSET

SOURCE
    #define IB_CLASS_CAP_TRAP                   0x0001

IBA Base: Constants/IB_DEFAULT_PKEY

NAME
    IB_DEFAULT_PKEY

DESCRIPTION
    P_Key value for the default partition.

SOURCE
    #define IB_DEFAULT_PKEY                     0xFFFF

IBA Base: Constants/IB_DEFAULT_SUBNET_PREFIX

NAME
    IB_DEFAULT_SUBNET_PREFIX

DESCRIPTION
    Default subnet GID prefix.

SOURCE
    #define IB_DEFAULT_SUBNET_PREFIX            (CL_HTON64(0xFE80000000000000))

IBA Base: Constants/IB_INVALID_PORT_NUM

NAME
    IB_INVALID_PORT_NUM

DESCRIPTION
    Value used to indicate an invalid port number (14.2.5.10).

SOURCE
    #define IB_INVALID_PORT_NUM                 0xFF

IBA Base: Constants/IB_LID_MCAST_END

NAME
    IB_LID_MCAST_END

DESCRIPTION
    Highest valid multicast LID value.

SOURCE
    #define IB_LID_MCAST_END_HO                 0xFFFE
    #define IB_LID_MCAST_END                    (CL_HTON16(IB_LID_MCAST_END_HO))

IBA Base: Constants/IB_LID_MCAST_START

NAME
    IB_LID_MCAST_START

DESCRIPTION
    Lowest valid multicast LID value.

SOURCE
    #define IB_LID_MCAST_START_HO               0xC000
    #define IB_LID_MCAST_START                  (CL_HTON16(IB_LID_MCAST_START_HO))

IBA Base: Constants/IB_LID_PERMISSIVE

NAME
    IB_LID_PERMISSIVE

DESCRIPTION
    Permissive LID

SOURCE
    #define IB_LID_PERMISSIVE                   0xFFFF

IBA Base: Constants/IB_LID_UCAST_END

NAME
    IB_LID_UCAST_END

DESCRIPTION
    Highest valid unicast LID value.

SOURCE
    #define IB_LID_UCAST_END_HO                 0xBFFF
    #define IB_LID_UCAST_END                    (CL_HTON16(IB_LID_UCAST_END_HO))

IBA Base: Constants/IB_LID_UCAST_START

NAME
    IB_LID_UCAST_START

DESCRIPTION
    Lowest valid unicast LID value.

SOURCE
    #define IB_LID_UCAST_START_HO               0x0001
    #define IB_LID_UCAST_START                  (CL_HTON16(IB_LID_UCAST_START_HO))

IBA Base: Constants/IB_MAD_ATTR_CLASS_PORT_INFO

NAME
    IB_MAD_ATTR_CLASS_PORT_INFO

DESCRIPTION
    ClassPortInfo attribute (13.4.8)

SOURCE
    #define IB_MAD_ATTR_CLASS_PORT_INFO         (CL_NTOH16(0x0001))

IBA Base: Constants/IB_MAD_ATTR_DIAGNOSTIC_TIMEOUT

NAME
   IB_MAD_ATTR_DIAGNOSTIC_TIMEOUT

DESCRIPTION
   DiagnosticTimeout attribute (16.3.3)

SOURCE
    #define IB_MAD_ATTR_DIAGNOSTIC_TIMEOUT      (CL_NTOH16(0x0020))

IBA Base: Constants/IB_MAD_ATTR_DIAG_CODE

NAME
   IB_MAD_ATTR_DIAG_CODE

DESCRIPTION
   DiagCode attribute (16.3.3)

SOURCE
    #define IB_MAD_ATTR_DIAG_CODE               (CL_NTOH16(0x0024))

IBA Base: Constants/IB_MAD_ATTR_GUID_INFO

NAME
    IB_MAD_ATTR_GUID_INFO

DESCRIPTION
    GUIDInfo attribute (14.2.5)

SOURCE
    #define IB_MAD_ATTR_GUID_INFO               (CL_NTOH16(0x0014))

IBA Base: Constants/IB_MAD_ATTR_INFORM_INFO

NAME
    IB_MAD_ATTR_INFORM_INFO

DESCRIPTION
    InformInfo attribute (13.4.8)

SOURCE
    #define IB_MAD_ATTR_INFORM_INFO             (CL_NTOH16(0x0003))

IBA Base: Constants/IB_MAD_ATTR_IO_CONTROLLER_PROFILE

NAME
   IB_MAD_ATTR_IO_CONTROLLER_PROFILE

DESCRIPTION
   IOControllerProfile attribute (16.3.3)

SOURCE
    #define IB_MAD_ATTR_IO_CONTROLLER_PROFILE   (CL_NTOH16(0x0011))

IBA Base: Constants/IB_MAD_ATTR_IO_UNIT_INFO

NAME
   IB_MAD_ATTR_IO_UNIT_INFO

DESCRIPTION
   IOUnitInfo attribute (16.3.3)

SOURCE
    #define IB_MAD_ATTR_IO_UNIT_INFO            (CL_NTOH16(0x0010))

IBA Base: Constants/IB_MAD_ATTR_LED_INFO

NAME
   IB_MAD_ATTR_LED_INFO

DESCRIPTION
   LedInfo attribute (14.2.5)

SOURCE
    #define IB_MAD_ATTR_LED_INFO                (CL_NTOH16(0x0031))

IBA Base: Constants/IB_MAD_ATTR_LINK_RECORD

NAME
    IB_MAD_ATTR_LINK_RECORD
 
DESCRIPTION
   LinkRecord attribute (15.2.5)
 
SOURCE
    #define IB_MAD_ATTR_LINK_RECORD             (CL_NTOH16(0x0020))

IBA Base: Constants/IB_MAD_ATTR_LIN_FWD_TBL

NAME
    IB_MAD_ATTR_LIN_FWD_TBL

DESCRIPTION
    Switch linear forwarding table

SOURCE
    #define IB_MAD_ATTR_LIN_FWD_TBL             (CL_NTOH16(0x0019))

IBA Base: Constants/IB_MAD_ATTR_MCAST_FWD_TBL

NAME
    IB_MAD_ATTR_MCAST_FWD_TBL

DESCRIPTION
    Switch multicast forwarding table

SOURCE
    #define IB_MAD_ATTR_MCAST_FWD_TBL           (CL_NTOH16(0x001B))

IBA Base: Constants/IB_MAD_ATTR_MCMEMBER_RECORD

NAME
   IB_MAD_ATTR_MCMEMBER_RECORD

DESCRIPTION
   MCMemberRecord attribute (15.2.5)

SOURCE
    #define IB_MAD_ATTR_MCMEMBER_RECORD         (CL_NTOH16(0x0038))

IBA Base: Constants/IB_MAD_ATTR_MULTIPATH_RECORD

NAME
   IB_MAD_ATTR_MULTIPATH_RECORD

DESCRIPTION
   MultiPath  attribute (15.2.5)

SOURCE
    #define IB_MAD_ATTR_MULTIPATH_RECORD            (CL_NTOH16(0x003A))

IBA Base: Constants/IB_MAD_ATTR_NODE_DESC

NAME
    IB_MAD_ATTR_NODE_DESC

DESCRIPTION
    NodeDescription attribute (14.2.5)

SOURCE
    #define IB_MAD_ATTR_NODE_DESC               (CL_NTOH16(0x0010))

IBA Base: Constants/IB_MAD_ATTR_NODE_INFO

NAME
    IB_MAD_ATTR_NODE_INFO

DESCRIPTION
    NodeInfo attribute (14.2.5)

SOURCE
    #define IB_MAD_ATTR_NODE_INFO               (CL_NTOH16(0x0011))

IBA Base: Constants/IB_MAD_ATTR_NODE_RECORD

NAME
   IB_MAD_ATTR_NODE_RECORD

DESCRIPTION
   NodeRecord attribute (15.2.5)

SOURCE
    #define IB_MAD_ATTR_NODE_RECORD             (CL_NTOH16(0x0011))

IBA Base: Constants/IB_MAD_ATTR_NOTICE

NAME
    IB_MAD_ATTR_NOTICE

DESCRIPTION
    Notice attribute (13.4.8)

SOURCE
    #define IB_MAD_ATTR_NOTICE                  (CL_NTOH16(0x0002))

IBA Base: Constants/IB_MAD_ATTR_PATH_RECORD

NAME
   IB_MAD_ATTR_PATH_RECORD

DESCRIPTION
   PathRecord attribute (15.2.5)

SOURCE
    #define IB_MAD_ATTR_PATH_RECORD             (CL_NTOH16(0x0035))

IBA Base: Constants/IB_MAD_ATTR_PKEYTBL_RECORD

NAME
   IB_MAD_ATTR_PKEYTBL_RECORD

DESCRIPTION
   P-KEY table attribute (15.2.5)

SOURCE
    #define IB_MAD_ATTR_PKEY_TBL_RECORD         (CL_NTOH16(0x0033))

IBA Base: Constants/IB_MAD_ATTR_PORTINFO_RECORD

NAME
   IB_MAD_ATTR_PORTINFO_RECORD

DESCRIPTION
   PortInfoRecord attribute (15.2.5)

SOURCE
    #define IB_MAD_ATTR_PORTINFO_RECORD         (CL_NTOH16(0x0012))

IBA Base: Constants/IB_MAD_ATTR_PORT_CNTRS

NAME
    IB_MAD_ATTR_PORT_CNTRS

DESCRIPTION
    SwitchInfo attribute (16.1.2)

SOURCE
    #define IB_MAD_ATTR_PORT_CNTRS              (CL_NTOH16(0x0012))

IBA Base: Constants/IB_MAD_ATTR_PORT_INFO

NAME
    IB_MAD_ATTR_PORT_INFO

DESCRIPTION
    PortInfo attribute (14.2.5)

SOURCE
    #define IB_MAD_ATTR_PORT_INFO               (CL_NTOH16(0x0015))

IBA Base: Constants/IB_MAD_ATTR_PORT_SMPL_RSLT

NAME
    IB_MAD_ATTR_PORT_SMPL_RSLT

DESCRIPTION
    NodeInfo attribute (16.1.2)

SOURCE
    #define IB_MAD_ATTR_PORT_SMPL_RSLT          (CL_NTOH16(0x0011))

IBA Base: Constants/IB_MAD_ATTR_PREPARE_TO_TEST

NAME
   IB_MAD_ATTR_PREPARE_TO_TEST

DESCRIPTION
   PrepareToTest attribute (16.3.3)

SOURCE
    #define IB_MAD_ATTR_PREPARE_TO_TEST         (CL_NTOH16(0x0021))

IBA Base: Constants/IB_MAD_ATTR_P_KEY_TABLE

NAME
    IB_MAD_ATTR_P_KEY_TABLE

DESCRIPTION
    PartitionTable attribute (14.2.5)

SOURCE
    #define IB_MAD_ATTR_P_KEY_TABLE             (CL_NTOH16(0x0016))

IBA Base: Constants/IB_MAD_ATTR_RND_FWD_TBL

NAME
    IB_MAD_ATTR_RND_FWD_TBL

DESCRIPTION
    Switch random forwarding table

SOURCE
    #define IB_MAD_ATTR_RND_FWD_TBL             (CL_NTOH16(0x001A))

IBA Base: Constants/IB_MAD_ATTR_SERVICE_ENTRIES

NAME
   IB_MAD_ATTR_SERVICE_ENTRIES

DESCRIPTION
   ServiceEntries attribute (16.3.3)

SOURCE
    #define IB_MAD_ATTR_SERVICE_ENTRIES         (CL_NTOH16(0x0012))

IBA Base: Constants/IB_MAD_ATTR_SERVICE_RECORD

NAME
   IB_MAD_ATTR_SERVICE_RECORD

DESCRIPTION
   ServiceRecord attribute (15.2.5)

SOURCE
    #define IB_MAD_ATTR_SERVICE_RECORD          (CL_NTOH16(0x0031))

IBA Base: Constants/IB_MAD_ATTR_SLVL_TABLE

NAME
    IB_MAD_ATTR_SLVL_TABLE

DESCRIPTION
    SL VL Mapping Table attribute (14.2.5)

SOURCE
    #define IB_MAD_ATTR_SLVL_TABLE              (CL_NTOH16(0x0017))

IBA Base: Constants/IB_MAD_ATTR_SMINFO_RECORD

NAME
   IB_MAD_ATTR_SMINFO_RECORD

DESCRIPTION
   SmInfoRecord attribute (15.2.5)

SOURCE
    #define IB_MAD_ATTR_SMINFO_RECORD           (CL_NTOH16(0x0018))

IBA Base: Constants/IB_MAD_ATTR_SM_INFO

NAME
    IB_MAD_ATTR_SM_INFO
 
DESCRIPTION
   SMInfo attribute (14.2.5)
 
SOURCE
    #define IB_MAD_ATTR_SM_INFO                 (CL_NTOH16(0x0020))

IBA Base: Constants/IB_MAD_ATTR_SVC_ASSOCIATION_RECORD

NAME
   IB_MAD_ATTR_SVC_ASSOCIATION_RECORD

DESCRIPTION
   Service Association  attribute (15.2.5)

SOURCE
    #define IB_MAD_ATTR_SVC_ASSOCIATION_RECORD          (CL_NTOH16(0x003B))

IBA Base: Constants/IB_MAD_ATTR_SVC_ASSOCIATION_RECORD

NAME
   IB_MAD_ATTR_SVC_ASSOCIATION_RECORD

DESCRIPTION
   Service Association  attribute (15.2.5)

SOURCE
    #define IB_MAD_ATTR_SVC_ASSOCIATION_RECORD          (CL_NTOH16(0x003B))

IBA Base: Constants/IB_MAD_ATTR_SWITCH_INFO

NAME
    IB_MAD_ATTR_SWITCH_INFO

DESCRIPTION
    SwitchInfo attribute (14.2.5)

SOURCE
    #define IB_MAD_ATTR_SWITCH_INFO             (CL_NTOH16(0x0012))

IBA Base: Constants/IB_MAD_ATTR_TEST_DEVICE_LOOP

NAME
   IB_MAD_ATTR_TEST_DEVICE_LOOP

DESCRIPTION
   TestDeviceLoop attribute (16.3.3)

SOURCE
    #define IB_MAD_ATTR_TEST_DEVICE_LOOP        (CL_NTOH16(0x0023))

IBA Base: Constants/IB_MAD_ATTR_TEST_DEVICE_ONCE

NAME
   IB_MAD_ATTR_TEST_DEVICE_ONCE

DESCRIPTION
   TestDeviceOnce attribute (16.3.3)

SOURCE
    #define IB_MAD_ATTR_TEST_DEVICE_ONCE        (CL_NTOH16(0x0022))

IBA Base: Constants/IB_MAD_ATTR_TRACE_RECORD

NAME
   IB_MAD_ATTR_MTRACE_RECORD

DESCRIPTION
   TraceRecord  attribute (15.2.5)

SOURCE
    #define IB_MAD_ATTR_TRACE_RECORD            (CL_NTOH16(0x0039))

IBA Base: Constants/IB_MAD_ATTR_VENDOR_DIAG

NAME
   IB_MAD_ATTR_VENDOR_DIAG

DESCRIPTION
   VendorDiag attribute (14.2.5)

SOURCE
    #define IB_MAD_ATTR_VENDOR_DIAG             (CL_NTOH16(0x0030))

IBA Base: Constants/IB_MAD_ATTR_VLARB_RECORD

NAME
   IB_MAD_ATTR_VLARB_RECORD

DESCRIPTION
   VL Arbitration Table attribute (15.2.5)

SOURCE
    #define IB_MAD_ATTR_VLARB_RECORD            (CL_NTOH16(0x0036))

IBA Base: Constants/IB_MAD_ATTR_VL_ARBITRATION

NAME
    IB_MAD_ATTR_VL_ARBITRATION

DESCRIPTION
    VL Arbitration Table attribute (14.2.5)

SOURCE
    #define IB_MAD_ATTR_VL_ARBITRATION          (CL_NTOH16(0x0018))

IBA Base: Constants/IB_MAD_METHOD_GET

NAME
    IB_MAD_METHOD_GET

DESCRIPTION
    Get() Method (13.4.5)

SOURCE
    #define IB_MAD_METHOD_GET                   0x01

IBA Base: Constants/IB_MAD_METHOD_GETTABLE

NAME
   IB_MAD_METHOD_GETTABLE

DESCRIPTION
   SubnAdmGetTable() Method (15.2.2)

SOURCE
    #define IB_MAD_METHOD_GETTABLE              0x12    

IBA Base: Constants/IB_MAD_METHOD_GETTABLE_RESP

NAME
   IB_MAD_METHOD_GETTABLE_RESP

DESCRIPTION
   SubnAdmGetTableResp() Method (15.2.2)

SOURCE
    #define IB_MAD_METHOD_GETTABLE_RESP         0x92    

IBA Base: Constants/IB_MAD_METHOD_GET_RESP

NAME
    IB_MAD_METHOD_GET_RESP

DESCRIPTION
    GetResp() Method (13.4.5)

SOURCE
    #define IB_MAD_METHOD_GET_RESP              0x81

IBA Base: Constants/IB_MAD_METHOD_REPORT

NAME
    IB_MAD_METHOD_REPORT

DESCRIPTION
    Report() Method (13.4.5)

SOURCE
    #define IB_MAD_METHOD_REPORT                0x06

IBA Base: Constants/IB_MAD_METHOD_REPORT_RESP

NAME
    IB_MAD_METHOD_REPORT_RESP

DESCRIPTION
    ReportResp() Method (13.4.5)

SOURCE
    #define IB_MAD_METHOD_REPORT_RESP           0x86

IBA Base: Constants/IB_MAD_METHOD_RESP_MASK

NAME
    IB_MAD_METHOD_RESP_MASK

DESCRIPTION
    Response mask to extract 'R' bit from the method field. (13.4.5)

SOURCE
    #define IB_MAD_METHOD_RESP_MASK             0x80

IBA Base: Constants/IB_MAD_METHOD_SEND

NAME
    IB_MAD_METHOD_SEND

DESCRIPTION
    Send() Method (13.4.5)

SOURCE
    #define IB_MAD_METHOD_SEND                  0x03

IBA Base: Constants/IB_MAD_METHOD_SET

NAME
    IB_MAD_METHOD_SET

DESCRIPTION
    Set() Method (13.4.5)

SOURCE
    #define IB_MAD_METHOD_SET                   0x02

IBA Base: Constants/IB_MAD_METHOD_TRAP

NAME
    IB_MAD_METHOD_TRAP

DESCRIPTION
    Trap() Method (13.4.5)

SOURCE
    #define IB_MAD_METHOD_TRAP                  0x05

IBA Base: Constants/IB_MAD_METHOD_TRAP_REPRESS

NAME
    IB_MAD_METHOD_TRAP_REPRESS

DESCRIPTION
    TrapRepress() Method (13.4.5)

SOURCE
    #define IB_MAD_METHOD_TRAP_REPRESS          0x07

IBA Base: Constants/IB_MAD_STATUS_BUSY

NAME
    IB_MAD_STATUS_BUSY

DESCRIPTION
    Temporarily busy, MAD discarded (13.4.7)

SOURCE
    #define IB_MAD_STATUS_BUSY                  (CL_HTON16(0x0001))

IBA Base: Constants/IB_MAD_STATUS_INVALID_FIELD

NAME
    IB_MAD_STATUS_INVALID_FIELD

DESCRIPTION
    Attribute contains one or more invalid fields (13.4.7)

SOURCE
    #define IB_MAD_STATUS_INVALID_FIELD         (CL_HTON16(0x001C))

IBA Base: Constants/IB_MAD_STATUS_REDIRECT

NAME
    IB_MAD_STATUS_REDIRECT

DESCRIPTION
    QP Redirection required (13.4.7)

SOURCE
    #define IB_MAD_STATUS_REDIRECT              (CL_HTON16(0x0002))

IBA Base: Constants/IB_MAD_STATUS_UNSUP_CLASS_VER

NAME
    IB_MAD_STATUS_UNSUP_CLASS_VER

DESCRIPTION
    Unsupported class version (13.4.7)

SOURCE
    #define IB_MAD_STATUS_UNSUP_CLASS_VER       (CL_HTON16(0x0004))

IBA Base: Constants/IB_MAD_STATUS_UNSUP_METHOD

NAME
    IB_MAD_STATUS_UNSUP_METHOD

DESCRIPTION
    Unsupported method (13.4.7)

SOURCE
    #define IB_MAD_STATUS_UNSUP_METHOD          (CL_HTON16(0x0008))

IBA Base: Constants/IB_MAD_STATUS_UNSUP_METHOD_ATTR

NAME
    IB_MAD_STATUS_UNSUP_METHOD_ATTR

DESCRIPTION
    Unsupported method/attribute combination (13.4.7)

SOURCE
    #define IB_MAD_STATUS_UNSUP_METHOD_ATTR     (CL_HTON16(0x000C))

IBA Base: Constants/IB_MAX_METHOD

NAME
    IB_MAX_METHOD

DESCRIPTION
    Total number of methods available to a class, not including the R-bit.

SOURCE
    #define IB_MAX_METHODS                      128

IBA Base: Constants/IB_MCAST_BLOCK_ID_MASK_HO

NAME
    IB_MCAST_BLOCK_ID_MASK_HO

DESCRIPTION
    Mask (host order) to recover the Multicast block ID.

SOURCE
    #define IB_MCAST_BLOCK_ID_MASK_HO           0x000001FF

IBA Base: Constants/IB_MCAST_BLOCK_SIZE

NAME
    IB_MCAST_BLOCK_SIZE

DESCRIPTION
    Number of port mask entries in a multicast forwarding table block.

SOURCE
    #define IB_MCAST_BLOCK_SIZE                 32

IBA Base: Constants/IB_MCAST_MASK_SIZE

NAME
    IB_MCAST_MASK_SIZE

DESCRIPTION
    Number of port mask bits in each entry in the multicast forwarding table.

SOURCE
    #define IB_MCAST_MASK_SIZE                  16

IBA Base: Constants/IB_MCAST_MAX_BLOCK_ID

NAME
    IB_MCAST_MAX_BLOCK_ID

DESCRIPTION
    Maximum number of Multicast port mask blocks

SOURCE
    #define IB_MCAST_MAX_BLOCK_ID               511

IBA Base: Constants/IB_MCAST_POSITION_MASK_HO

NAME
    IB_MCAST_POSITION_MASK_HO

DESCRIPTION
    Mask (host order) to recover the multicast block position.

SOURCE
    #define IB_MCAST_POSITION_MASK_HO               0xF0000000

IBA Base: Constants/IB_MCAST_POSITION_MAX

NAME
    IB_MCAST_POSITION_MAX

DESCRIPTION
    Maximum value for the multicast block position.

SOURCE
    #define IB_MCAST_POSITION_MAX               0xF

IBA Base: Constants/IB_MCAST_POSITION_SHIFT

NAME
    IB_MCAST_POSITION_SHIFT

DESCRIPTION
    Shift value to normalize the multicast block position value.

SOURCE
    #define IB_MCAST_POSITION_SHIFT             28

IBA Base: Constants/IB_MCLASS_BM

NAME
    IB_MCLASS_BM

DESCRIPTION
    Subnet Management Class, Baseboard Manager (13.4.4)

SOURCE
    #define IB_MCLASS_BM                        0x05

IBA Base: Constants/IB_MCLASS_COMM_MGMT

NAME
    IB_MCLASS_COMM_MGMT

DESCRIPTION
    Subnet Management Class, Communication Management (13.4.4)

SOURCE
    #define IB_MCLASS_COMM_MGMT                 0x07

IBA Base: Constants/IB_MCLASS_DEV_MGMT

NAME
    IB_MCLASS_DEV_MGMT

DESCRIPTION
    Subnet Management Class, Device Management (13.4.4)

SOURCE
    #define IB_MCLASS_DEV_MGMT                  0x06

IBA Base: Constants/IB_MCLASS_PERF

NAME
    IB_MCLASS_PERF

DESCRIPTION
    Subnet Management Class, Performance Manager (13.4.4)

SOURCE
    #define IB_MCLASS_PERF                      0x04

IBA Base: Constants/IB_MCLASS_SNMP

NAME
    IB_MCLASS_SNMP

DESCRIPTION
    Subnet Management Class, SNMP Tunneling (13.4.4)

SOURCE
    #define IB_MCLASS_SNMP                      0x08

IBA Base: Constants/IB_MCLASS_SUBN_ADM

NAME
    IB_MCLASS_SUBN_ADM

DESCRIPTION
    Subnet Management Class, Subnet Administration (13.4.4)

SOURCE
    #define IB_MCLASS_SUBN_ADM                  0x03

IBA Base: Constants/IB_MCLASS_SUBN_DIR

NAME
    IB_MCLASS_SUBN_DIR

DESCRIPTION
    Subnet Management Class, Subnet Manager directed route (13.4.4)

SOURCE
    #define IB_MCLASS_SUBN_DIR                  0x81

IBA Base: Constants/IB_MCLASS_SUBN_LID

NAME
    IB_MCLASS_SUBN_LID

DESCRIPTION
    Subnet Management Class, Subnet Manager LID routed (13.4.4)

SOURCE
    #define IB_MCLASS_SUBN_LID                  0x01

IBA Base: Constants/IB_MTU_TYPE

NAME
    IB_MTU_TYPE

DESCRIPTION
    Encoded path MTU.
        1: 256
        2: 512
        3: 1024
        4: 2048
        5: 4096
        others: reserved

SOURCE
    #define IB_MTU_256                          1
    #define IB_MTU_512                          2
    #define IB_MTU_1024                         3
    #define IB_MTU_2048                         4
    #define IB_MTU_4096                         5

IBA Base: Constants/IB_NODE_NUM_PORTS_MAX

NAME
    IB_NODE_NUM_PORTS_MAX

DESCRIPTION
    Maximum number of ports in a single node (14.2.5.7).
SOURCE
    #define IB_NODE_NUM_PORTS_MAX               0xFE

IBA Base: Constants/IB_NODE_TYPE_CA

NAME
    IB_NODE_TYPE_CA

DESCRIPTION
    Encoded generic node type used in MAD attributes (13.4.8.2)

SOURCE
    #define IB_NODE_TYPE_CA                     0x01

IBA Base: Constants/IB_NODE_TYPE_ROUTER

NAME
    IB_NODE_TYPE_ROUTER

DESCRIPTION
    Encoded generic node type used in MAD attributes (13.4.8.2)

SOURCE
    #define IB_NODE_TYPE_ROUTER                 0x03

IBA Base: Constants/IB_NODE_TYPE_SWITCH

NAME
    IB_NODE_TYPE_SWITCH

DESCRIPTION
    Encoded generic node type used in MAD attributes (13.4.8.2)

SOURCE
    #define IB_NODE_TYPE_SWITCH                 0x02

IBA Base: Constants/IB_NOTICE_NODE_TYPE_CA

NAME
    IB_NOTICE_NODE_TYPE_CA

DESCRIPTION
    Encoded generic node type used in MAD attributes (13.4.8.2)

SOURCE
    #define IB_NOTICE_NODE_TYPE_CA              (CL_NTOH32(0x000001))

IBA Base: Constants/IB_NOTICE_NODE_TYPE_ROUTER

NAME
    IB_NOTICE_NODE_TYPE_ROUTER

DESCRIPTION
    Encoded generic node type used in MAD attributes (13.4.8.2)

SOURCE
    #define IB_NOTICE_NODE_TYPE_ROUTER          (CL_NTOH32(0x000003))

IBA Base: Constants/IB_NOTICE_NODE_TYPE_SUBN_MGMT

NAME
    IB_NOTICE_NODE_TYPE_SUBN_MGMT

DESCRIPTION
    Encoded generic node type used in MAD attributes (13.4.8.2).
    Note that this value is not defined for the NodeType field
    of the NodeInfo attribute (14.2.5.3).

SOURCE
    #define IB_NOTICE_NODE_TYPE_SUBN_MGMT       (CL_NTOH32(0x000004))

IBA Base: Constants/IB_NOTICE_NODE_TYPE_SWITCH

NAME
    IB_NOTICE_NODE_TYPE_SWITCH

DESCRIPTION
    Encoded generic node type used in MAD attributes (13.4.8.2)

SOURCE
    #define IB_NOTICE_NODE_TYPE_SWITCH          (CL_NTOH32(0x000002))

IBA Base: Constants/IB_PATH_REC_BASE_MASK

NAME
    IB_PATH_REC_BASE_MASK

DESCRIPTION
    Mask for the base value field for path record MTU, rate
    and packet lifetime.

SOURCE
    #define IB_PATH_REC_BASE_MASK               0x3F

IBA Base: Constants/IB_PATH_REC_SELECTOR_MASK

NAME
    IB_PATH_REC_SELECTOR_MASK

DESCRIPTION
    Mask for the selector field for path record MTU, rate
    and packet lifetime.

SOURCE
    #define IB_PATH_REC_SELECTOR_MASK           0xC0

IBA Base: Constants/IB_PATH_SELECTOR_TYPE

NAME
    IB_PATH_SELECTOR_TYPE

DESCRIPTION
    Path selector.
        0: greater than rate specified
        1: less than rate specified
        2: exactly the rate specified
        3: largest rate available

SOURCE
    #define IB_PATH_SELECTOR_GREATER_THAN       0
    #define IB_PATH_SELECTOR_LESS_THAN          1
    #define IB_PATH_SELECTOR_EXACTLY            2
    #define IB_PATH_SELECTOR_LARGEST            3

IBA Base: Constants/IB_PKEY_BASE_MASK

NAME
    IB_PKEY_BASE_MASK

DESCRIPTION
    Masks for the base P_Key value given a P_Key Entry.

SOURCE
    #define IB_PKEY_BASE_MASK                   (CL_NTOH16(0x7FFF))

IBA Base: Constants/IB_PKEY_ENTRIES_MAX

NAME
    IB_PKEY_ENTRIES_MAX

DESCRIPTION
    Maximum number of PKEY entries per port (14.2.5.7).

SOURCE
    #define IB_PKEY_ENTRIES_MAX (IB_PKEY_MAX_BLOCKS * IB_PKEY_BLOCK_SIZE)

IBA Base: Constants/IB_PKEY_MAX_BLOCKS

NAME
    IB_PKEY_MAX_BLOCKS

DESCRIPTION
    Maximum number of PKEY blocks (14.2.5.7).

SOURCE
    #define IB_PKEY_MAX_BLOCKS                  2048

IBA Base: Constants/IB_PKEY_TYPE_MASK

NAME
    IB_PKEY_TYPE_MASK

DESCRIPTION
    Masks for the P_Key membership type given a P_Key Entry.

SOURCE
    #define IB_PKEY_TYPE_MASK                   (CL_NTOH16(0x8000))

IBA Base: Constants/IB_QP1_WELL_KNOWN_Q_KEY

NAME
    IB_QP1_WELL_KNOWN_Q_KEY

DESCRIPTION
    Well-known Q_Key for QP1 privileged mode access (15.4.2).

SOURCE
    #define IB_QP1_WELL_KNOWN_Q_KEY             CL_NTOH32(0x80010000)

IBA Base: Constants/IB_SMINFO_STATE_DISCOVERING

NAME
    IB_SMINFO_STATE_DISCOVERING

DESCRIPTION
    Encoded state value used in the SMInfo attribute.

SOURCE
    #define IB_SMINFO_STATE_DISCOVERING         1

IBA Base: Constants/IB_SMINFO_STATE_MASTER

NAME
    IB_SMINFO_STATE_MASTER

DESCRIPTION
    Encoded state value used in the SMInfo attribute.

SOURCE
    #define IB_SMINFO_STATE_MASTER              3

IBA Base: Constants/IB_SMINFO_STATE_NOTACTIVE

NAME
    IB_SMINFO_STATE_NOTACTIVE

DESCRIPTION
    Encoded state value used in the SMInfo attribute.

SOURCE
    #define IB_SMINFO_STATE_NOTACTIVE           0

IBA Base: Constants/IB_SMINFO_STATE_STANDBY

NAME
    IB_SMINFO_STATE_STANDBY

DESCRIPTION
    Encoded state value used in the SMInfo attribute.

SOURCE
    #define IB_SMINFO_STATE_STANDBY             2

IBA Base: Constants/IB_SMP_DIRECTION

NAME
    IB_SMP_DIRECTION

DESCRIPTION
    The Direction bit for directed route SMPs.

SOURCE
    #define IB_SMP_DIRECTION_HO         0x8000
    #define IB_SMP_DIRECTION            (CL_HTON16(IB_SMP_DIRECTION_HO))

IBA Base: Constants/IB_SMP_STATUS_MASK

NAME
    IB_SMP_STATUS_MASK

DESCRIPTION
    Mask value for extracting status from a directed route SMP.

SOURCE
    #define IB_SMP_STATUS_MASK_HO       0x7FFF
    #define IB_SMP_STATUS_MASK          (CL_HTON16(IB_SMP_STATUS_MASK_HO))

IBA Base: Constants/IB_SUBNET_PATH_HOPS_MAX

NAME
    IB_SUBNET_PATH_HOPS_MAX

DESCRIPTION
    Maximum number of directed route switch hops in a subnet (14.2.1.2).

SOURCE
    #define IB_SUBNET_PATH_HOPS_MAX             64

IBA Base: Constants/Join States

NAME
    Join States

DESCRIPTION
    Defines the join state flags for multicast group management.

SOURCE
    #define IB_JOIN_STATE_FULL          1
    #define IB_JOIN_STATE_NON           2
    #define IB_JOIN_STATE_SEND_ONLY     4

IBA Base: Constants/MAD_BLOCK_GRH_SIZE

NAME
    MAD_BLOCK_GRH_SIZE

DESCRIPTION
    Size of a MAD datagram, including the GRH.

SOURCE
    #define MAD_BLOCK_GRH_SIZE                  296

IBA Base: Constants/MAD_BLOCK_SIZE

NAME
    MAD_BLOCK_SIZE

DESCRIPTION
    Size of a non-RMPP MAD datagram.

SOURCE
    #define MAD_BLOCK_SIZE                      256

IBA Base: Constants/MAD_RMPP_DATA_SIZE

NAME
    MAD_RMPP_DATA_SIZE

DESCRIPTION
    Size of an RMPP transaction data section.

SOURCE
    #define MAD_RMPP_DATA_SIZE      (MAD_BLOCK_SIZE - MAD_RMPP_HDR_SIZE)

IBA Base: Constants/MAD_RMPP_HDR_SIZE

NAME
    MAD_RMPP_HDR_SIZE

DESCRIPTION
    Size of an RMPP header, including the common MAD header.

SOURCE
    #define MAD_RMPP_HDR_SIZE                   36

IBA Base: Constants/ib_link_states_t

NAME
    ib_link_states_t

DESCRIPTION
    Defines the link states of a port.

SOURCE
    #define IB_LINK_DOWN        1
    #define IB_LINK_INIT        2
    #define IB_LINK_ARMED       3
    #define IB_LINK_ACTIVE      4
    #define IB_LINK_ACT_DEFER   5

IBA Base: Types/DM_SVC_NAME

NAME
    DM_SVC_NAME

DESCRIPTION
    IBA defined Device Management service name (16.3)

SYNOPSIS
#define DM_SVC_NAME             "DeviceManager.IBTA"

SEE ALSO

IBA Base: Types/ib_class_port_info_t

NAME
    ib_class_port_info_t

DESCRIPTION
    IBA defined ClassPortInfo attribute (13.4.8.1)
    route between two end-points on a subnet.

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_class_port_info
{
    uint8_t                 base_ver;
    uint8_t                 class_ver;
    ib_net16_t              cap_mask;
    ib_net32_t              resp_time_val;
    ib_gid_t                redir_gid;
    ib_net32_t              redir_tc_sl_fl;
    ib_net16_t              redir_lid;
    ib_net16_t              redir_pkey;
    ib_net32_t              redir_qp;
    ib_net32_t              redir_qkey;
    ib_gid_t                trap_gid;
    ib_net32_t              trap_tc_sl_fl;
    ib_net16_t              trap_lid;
    ib_net16_t              trap_pkey;
    ib_net32_t              trap_hop_qp;
    ib_net32_t              trap_qkey;

}   PACK_SUFFIX ib_class_port_info_t;
#include <iba/complib/cl_packoff.h>

FIELDS
    base_ver
        Maximum supported MAD Base Version.

    class_ver
        Maximum supported management class version.

    cap_mask
        Supported capabilities of this management class.

    resp_time_value
        Maximum expected response time.

    redr_gid
        GID to use for redirection, or zero

    recdir_tc_sl_fl
        Traffic class, service level and flow label the requester
        should use if the service is redirected.

    redir_lid
        LID used for redirection, or zero

    redir_pkey
        P_Key used for redirection

    redir_qp
        QP number used for redirection

    redir_qkey
        Q_Key associated with the redirected QP.  This shall be the
        well known Q_Key value.

    trap_gid
        GID value used for trap messages from this service.

    trap_tc_sl_fl
        Traffic class, service level and flow label used for
        trap messages originated by this service.

    trap_lid
        LID used for trap messages, or zero

    trap_pkey
        P_Key used for trap messages

    trap_hop_qp
        Hop limit (upper 8 bits) and QP number used for trap messages

    trap_qkey
        Q_Key associated with the trap messages QP.

SEE ALSO
    IB_CLASS_CAP_GETSET, IB_CLASS_CAP_TRAP


IBA Base: Types/ib_dm_mad_t

NAME
    ib_dm_mad_t

DESCRIPTION
    IBA defined Device Management MAD (16.3.1)

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_dm_mad
{
    ib_mad_t        header;
    uint8_t         resv[40];

#define IB_DM_DATA_SIZE         192
    uint8_t         data[IB_DM_DATA_SIZE];

} PACK_SUFFIX ib_dm_mad_t;
#include <iba/complib/cl_packoff.h>

FIELDS
    header
        Common MAD header.

    resv
        Reserved.

    data
        Device Management payload.  The structure and content of this field
        depend upon the method, attr_id, and attr_mod fields in the header.

SEE ALSO
 ib_mad_t

IBA Base: Types/ib_get_async_event_str

NAME
    ib_get_async_event_str

DESCRIPTION
    Returns a string for the specified asynchronous event.

SYNOPSIS
 const char*
ib_get_async_event_str(
    IN ib_async_event_t event ;
PARAMETERS
    event
        [in] event value
 RETURN VALUES
    Pointer to the asynchronous event description string.

 NOTES

 SEE ALSO
RETURN VALUES
    Pointer to the asynchronous event description string.

NOTES

SEE ALSO

IBA Base: Types/ib_get_err_str

NAME
    ib_get_err_str

DESCRIPTION
    Returns a string for the specified status value.

SYNOPSIS
 const char*
ib_get_err_str(
    IN ib_api_status_t status ;
PARAMETERS
    status
        [in] status value
 RETURN VALUES
    Pointer to the status description string.

 NOTES

 SEE ALSO
RETURN VALUES
    Pointer to the status description string.

NOTES

SEE ALSO

IBA Base: Types/ib_get_node_type_str

NAME
    ib_get_node_type_str

DESCRIPTION
    Returns a string for the specified node type.

SYNOPSIS
 const char*
ib_get_node_type_str(
    IN uint8_t node_type ;
PARAMETERS
    node_type
        [in] Encoded node type as returned in the NodeInfo attribute.
 RETURN VALUES
    Pointer to the node type string.

 NOTES

 SEE ALSO
 ib_node_info_t
RETURN VALUES
    Pointer to the node type string.

NOTES

SEE ALSO
 ib_node_info_t

IBA Base: Types/ib_get_port_state_str

NAME
    ib_get_port_state_str

DESCRIPTION
    Returns a string for the specified port state.

SYNOPSIS
 const char*
ib_get_port_state_str(
    IN uint8_t port_state ;
PARAMETERS
    node_type
        [in] Encoded port state as returned in the PortInfo attribute.
 RETURN VALUES
    Pointer to the port state string.

 NOTES

 SEE ALSO
 ib_port_info_t
RETURN VALUES
    Pointer to the port state string.

NOTES

SEE ALSO
 ib_port_info_t

IBA Base: Types/ib_get_wc_status_str

NAME
    ib_get_wc_status_str

DESCRIPTION
    Returns a string for the specified work completion status.

SYNOPSIS
 const char*
ib_get_wc_status_str(
    IN ib_wc_status_t wc_status ;
PARAMETERS
    wc_status
        [in] work completion status value
 RETURN VALUES
    Pointer to the work completion status description string.

 NOTES

 SEE ALSO
RETURN VALUES
    Pointer to the work completion status description string.

NOTES

SEE ALSO

IBA Base: Types/ib_gid_get_guid

NAME
    ib_gid_get_guid

DESCRIPTION
    Gets the guid from a GID.

SYNOPSIS
 ib_net64_t
ib_gid_get_guid(
    IN const ib_gid_t* const p_gid ;
PARAMETERS
    p_gid
        [in] Pointer to the GID object.

RETURN VALUES
    64-bit GUID value.

NOTES

SEE ALSO
    ib_gid_t

IBA Base: Types/ib_gid_get_subnet_prefix

NAME
    ib_gid_get_subnet_prefix

DESCRIPTION
    Gets the subnet prefix from a GID.

SYNOPSIS
 ib_net64_t
ib_gid_get_subnet_prefix(
    IN const ib_gid_t* const p_gid ;
PARAMETERS
    p_gid
        [in] Pointer to the GID object.

RETURN VALUES
    64-bit subnet prefix value.

NOTES

SEE ALSO
    ib_gid_t

IBA Base: Types/ib_gid_prefix_t

NAME
    ib_gid_prefix_t

DESCRIPTION
SOURCE
    typedef ib_net64_t      ib_gid_prefix_t;

IBA Base: Types/ib_gid_set_default

NAME
    ib_gid_set_default

DESCRIPTION
    Sets a GID to the default value.

SYNOPSIS
 void
ib_gid_set_default(
    IN ib_gid_t* const p_gid,
    IN const ib_net64_t interface_id ;
PARAMETERS
    p_gid
        [in] Pointer to the GID object.

    interface_id
        [in] Manufacturer assigned EUI64 value of a port.

RETURN VALUES
    None.

NOTES

SEE ALSO
    ib_gid_t

IBA Base: Types/ib_gid_t

NAME
    ib_gid_t

DESCRIPTION
SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef union _ib_gid
{
    uint8_t                 raw[16];
    struct _ib_gid_unicast
    {
        ib_gid_prefix_t     prefix;
        ib_net64_t          interface_id;

    } PACK_SUFFIX unicast;
    
    struct _ib_gid_multicast
    {
        uint8_t             header[2];
        uint8_t             raw_group_id[14];

    } PACK_SUFFIX multicast;

}   PACK_SUFFIX ib_gid_t;
#include <iba/complib/cl_packoff.h>

FIELDS
    raw
        GID represented as an unformated byte array.

    unicast
        Typical unicast representation with subnet prefix and
        port GUID.

    multicast
        Representation for multicast use.

SEE ALSO

IBA Base: Types/ib_grh_get_ver_class_flow

NAME
    ib_grh_get_ver_class_flow

DESCRIPTION
    Get encoded version, traffic class and flow label in grh

SYNOPSIS
 void
ib_grh_get_ver_class_flow(
    IN const ib_net32_t       ver_class_flow,
    OUT uint8_t               *const p_ver,
    OUT uint8_t               *const p_tclass,
    OUT uint32_t              *const p_flow_lbl ;
PARAMETERS
    ver_class_flow
        [in] the version, traffic class and flow label info.

RETURN VALUES
    p_ver
        [out] pointer to the version info.

    p_tclass
        [out] pointer to the traffic class info.

    p_flow_lbl
        [out] pointer to the flow label info

NOTES

SEE ALSO
    ib_grh_t

IBA Base: Types/ib_grh_set_ver_class_flow

NAME
    ib_grh_set_ver_class_flow

DESCRIPTION
    Set encoded version, traffic class and flow label in grh

SYNOPSIS
 ib_net32_t
ib_grh_set_ver_class_flow(
    IN  const uint8_t       ver,
    IN  const uint8_t       tclass,
    IN  const uint32_t      flow_lbl ;
PARAMETERS
    ver
        [in] the version info.

    tclass
        [in] the traffic class info.

    flow_lbl
        [in] the flow label info

RETURN VALUES
    ver_class_flow
        [out] the version, traffic class and flow label info.

NOTES

SEE ALSO
    ib_grh_t

IBA Base: Types/ib_guid_info_t

NAME
    ib_guid_info_t

DESCRIPTION
    IBA defined GuidInfo. (14.2.5.5)

SYNOPSIS
#define GUID_TABLE_MAX_ENTRIES      8

#include <iba/complib/cl_packon.h>
typedef struct _ib_guid_info
{
    ib_net64_t          guid[GUID_TABLE_MAX_ENTRIES];
}  PACK_SUFFIX ib_guid_info_t;
#include <iba/complib/cl_packoff.h>

IBA Base: Types/ib_ioc_profile_t

NAME
    ib_ioc_profile_t

DESCRIPTION
    IBA defined IO Controller profile structure (16.3.3.4)

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_ioc_profile
{
    ib_net64_t              ioc_guid;

    ib_net32_t              vend_id;

    ib_net32_t              dev_id;
    ib_net16_t              dev_ver;
    ib_net16_t              resv2;

    ib_net32_t              subsys_vend_id;
    ib_net32_t              subsys_id;

    ib_net16_t              io_class;
    ib_net16_t              io_subclass;
    ib_net16_t              protocol;
    ib_net16_t              protocol_ver;

    ib_net32_t              resv3;
    ib_net16_t              send_msg_depth;
    uint8_t                 resv4;
    uint8_t                 rdma_read_depth;
    ib_net32_t              send_msg_size;
    ib_net32_t              rdma_size;

    uint8_t                 ctrl_ops_cap;
#define CTRL_OPS_CAP_ST     0x01
#define CTRL_OPS_CAP_SF     0x02
#define CTRL_OPS_CAP_RT     0x04
#define CTRL_OPS_CAP_RF     0x08
#define CTRL_OPS_CAP_WT     0x10
#define CTRL_OPS_CAP_WF     0x20
#define CTRL_OPS_CAP_AT     0x40
#define CTRL_OPS_CAP_AF     0x80

    uint8_t                 resv5;

    uint8_t                 num_svc_entries;
#define MAX_NUM_SVC_ENTRIES 0xff

    uint8_t                 resv6[9];

#define CTRL_ID_STRING_LEN  64
    char                    id_string[CTRL_ID_STRING_LEN];

} PACK_SUFFIX ib_ioc_profile_t;
#include <iba/complib/cl_packoff.h>

FIELDS
    ioc_guid
        An EUI-64 GUID used to uniquely identify the IO controller.

    vend_id
        IO controller vendor ID, IEEE format.

    dev_id
        A number assigned by the vendor to identify the type of controller.

    dev_ver
        A number assigned by the vendor to identify the divice version.

    subsys_vend_id
        ID of the vendor of the enclosure, if any, in which the IO controller
        resides in IEEE format; otherwise zero.

    subsys_id
        A number identifying the subsystem where the controller resides.

    io_class
        0x0000 - 0xfffe = reserved for IO classes encompased by InfiniBand
        Architecture.  0xffff = Vendor specific.

    io_subclass
        0x0000 - 0xfffe = reserved for IO subclasses encompased by InfiniBand
        Architecture.  0xffff = Vendor specific.  This shall be set to 0xfff
        if the io_class component is 0xffff.

    protocol
        0x0000 - 0xfffe = reserved for IO subclasses encompased by InfiniBand
        Architecture.  0xffff = Vendor specific.  This shall be set to 0xfff
        if the io_class component is 0xffff.

    protocol_ver
        Protocol specific.

    send_msg_depth
        Maximum depth of the send message queue.

    rdma_read_depth
        Maximum depth of the per-channel RDMA read queue.

    send_msg_size
        Maximum size of send messages.

    ctrl_ops_cap
        Supported operation types of this IO controller.  A bit set to one
        for affirmation of supported capability.

    num_svc_entries
        Number of entries in the service entries table.

    id_string
        UTF-8 encoded string for identifying the controller to an operator.

SEE ALSO
 ib_dm_mad_t

IBA Base: Types/ib_iou_info_diag_dev_id

NAME
    ib_iou_info_diag_dev_id

DESCRIPTION
    Returns the DiagDeviceID.

SYNOPSIS
 uint8_t
ib_iou_info_diag_dev_id(
    IN const ib_iou_info_t* const p_iou_info ;
PARAMETERS
    p_iou_info
        [in] Pointer to the IO Unit information structure.

RETURN VALUES
    DiagDeviceID field of the IO Unit information.

NOTES

SEE ALSO
    ib_iou_info_t

IBA Base: Types/ib_iou_info_option_rom

NAME
    ib_iou_info_option_rom

DESCRIPTION
    Returns the OptionROM.

SYNOPSIS
 uint8_t
ib_iou_info_option_rom(
    IN      const   ib_iou_info_t*  const   p_iou_info ;
PARAMETERS
    p_iou_info
        [in] Pointer to the IO Unit information structure.

RETURN VALUES
    OptionROM field of the IO Unit information.

NOTES

SEE ALSO
    ib_iou_info_t

IBA Base: Types/ib_iou_info_t

NAME
    ib_iou_info_t

DESCRIPTION
    IBA defined IO Unit information structure (16.3.3.3)

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_iou_info
{
    ib_net16_t      change_id;
    uint8_t         max_controllers;
    uint8_t         diag_rom;

#define IB_DM_CTRL_LIST_SIZE    128

    uint8_t         controller_list[IB_DM_CTRL_LIST_SIZE];
#define IOC_NOT_INSTALLED       0x0
#define IOC_INSTALLED           0x1
        Reserved values             0x02-0xE
#define SLOT_DOES_NOT_EXIST     0xF

} PACK_SUFFIX ib_iou_info_t;
#include <iba/complib/cl_packoff.h>

FIELDS
    change_id
        Value incremented, with rollover, by any change to the controller_list.

    max_controllers
        Number of slots in controller_list.

    diag_rom
        A byte containing two fields: DiagDeviceID and OptionROM.
        These fields may be read using the ib_iou_info_diag_dev_id
        and ib_iou_info_option_rom functions.

    controller_list
        A series of 4-bit nibbles, with each nibble representing a slot
        in the IO Unit.  Individual nibbles may be read using the
        ioc_at_slot function.

SEE ALSO
 ib_dm_mad_t, ib_iou_info_diag_dev_id, ib_iou_info_option_rom, ioc_at_slot

IBA Base: Types/ib_mad_init_new

NAME
    ib_mad_init_new

DESCRIPTION
    Initializes a MAD common header.

SYNOPSIS
 void
ib_mad_init_new(
    IN ib_mad_t* const p_mad,
    IN const uint8_t mgmt_class,
    IN const uint8_t class_ver,
    IN const uint8_t method,
    IN const ib_net64_t trans_id,
    IN const ib_net16_t attr_id,
    IN const ib_net32_t attr_mod ;
PARAMETERS
    p_mad
        [in] Pointer to the MAD common header.

    mgmt_class
        [in] Class of operation.

    class_ver
        [in] Version of MAD class-specific format.

    method
        [in] Method to perform, including 'R' bit.

    trans_Id
        [in] Transaction ID.

    attr_id
        [in] Attribute ID.

    attr_mod
        [in] Attribute modifier.

RETURN VALUES
    None.

NOTES

SEE ALSO
    ib_mad_t

IBA Base: Types/ib_mad_init_response

NAME
    ib_mad_init_response

DESCRIPTION
    Initializes a MAD common header as a response.

SYNOPSIS
 void
ib_mad_init_response(
    IN const ib_mad_t* const p_req_mad,
    IN ib_mad_t* const p_mad,
    IN const ib_net16_t status ;
PARAMETERS
    p_req_mad
        [in] Pointer to the MAD common header in the original request MAD.

    p_mad
        [in] Pointer to the MAD common header to initialize.

    status
        [in] MAD Status value to return;

RETURN VALUES
    None.

NOTES
    p_req_mad and p_mad may point to the same MAD.

SEE ALSO
    ib_mad_t

IBA Base: Types/ib_mad_is_response

NAME
    ib_mad_is_response

DESCRIPTION
    Returns TRUE if the MAD is a response ('R' bit set),
    FALSE otherwise.

SYNOPSIS
 boolean_t
ib_mad_is_response(
    IN const ib_mad_t* const p_mad ;
PARAMETERS
    p_mad
        [in] Pointer to the MAD.

RETURN VALUES
    Returns TRUE if the MAD is a response ('R' bit set),
    FALSE otherwise.

NOTES

SEE ALSO
    ib_mad_t

IBA Base: Types/ib_mad_t

NAME
    ib_mad_t

DESCRIPTION
    IBA defined MAD header (13.4.3)

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_mad
{
    uint8_t                 base_ver;
    uint8_t                 mgmt_class;
    uint8_t                 class_ver;
    uint8_t                 method;
    ib_net16_t              status;
    ib_net16_t              class_spec;
    ib_net64_t              trans_id;
    ib_net16_t              attr_id;
    ib_net16_t              resv;
    ib_net32_t              attr_mod;
}   PACK_SUFFIX ib_mad_t;
#include <iba/complib/cl_packoff.h>

FIELDS
    base_ver
        MAD base format.

    mgmt_class
        Class of operation.

    class_ver
        Version of MAD class-specific format.

    method
        Method to perform, including 'R' bit.

    status
        Status of operation.

    class_spec
        Reserved for subnet management.

    trans_id
        Transaction ID.

    attr_id
        Attribute ID.

    resv
        Reserved field.

    attr_mod
        Attribute modifier.

SEE ALSO

IBA Base: Types/ib_member_rec_t

NAME
    ib_member_rec_t

DESCRIPTION
    Multicast member record, used to create, join, and leave multicast
    groups.

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_member_rec
{
    ib_gid_t                mgid;
    ib_gid_t                port_gid;
    ib_net32_t              qkey;
    ib_net16_t              mlid;
    uint8_t                 mtu;
    uint8_t                 tclass;
    ib_net16_t              pkey;
    uint8_t                 rate;
    uint8_t                 pkt_life;
    ib_net32_t              sl_flow_hop;
    uint8_t                 scope_state;
    uint8_t                 reserved[3];
    uint8_t                 pad[4];

}   PACK_SUFFIX ib_member_rec_t;
#include <iba/complib/cl_packoff.h>

FIELDS
    mgid
        Multicast GID address for this multicast group.

    port_gid
        Valid GID of the endpoint joining this multicast group.

    requestor_gid
        GID of the endpoint making this request on hehave of port_gid.

    qkey
        Q_Key to be sued by this multicast group.

    mlid
        Multicast LID for this multicast group.

    mtu
        MTU and MTU selector fields to use on this path

    tclass
        Another global routing parameter.

    pkey
        Partition key (P_Key) to use for this member.

    rate
        Rate and rate selector fields to use on this path.

    pkt_life
        Packet lifetime

    sl_flow_hop
        Global routing parameters: service level, hop count, and flow label.

    scope_state
        MGID scope and JoinState of multicast request.

SEE ALSO

IBA Base: Types/ib_net16_t

NAME
    ib_net16_t

DESCRIPTION
    Defines the network ordered type for 16-bit values.

SOURCE
    typedef uint16_t    ib_net16_t;

IBA Base: Types/ib_net32_t

NAME
    ib_net32_t

DESCRIPTION
    Defines the network ordered type for 32-bit values.

SOURCE
    typedef uint32_t    ib_net32_t;

IBA Base: Types/ib_net64_t

NAME
    ib_net64_t

DESCRIPTION
    Defines the network ordered type for 64-bit values.

SOURCE
    typedef uint64_t    ib_net64_t;

IBA Base: Types/ib_node_info_get_local_port_num

NAME
    ib_node_info_get_local_port_num

DESCRIPTION
    Gets a the local port number from the NodeInfo attribute.

SYNOPSIS
 uint8_t
ib_node_info_get_local_port_num(
    IN const ib_node_info_t* const p_ni ;
PARAMETERS
    p_ni
        [in] Pointer to a NodeInfo attribute.

RETURN VALUES
    Local port number that returned the attribute.

NOTES

SEE ALSO
    ib_node_info_t

IBA Base: Types/ib_node_info_get_vendor_id

NAME
    ib_node_info_get_vendor_id

DESCRIPTION
    Gets the VendorID from the NodeInfo attribute.

SYNOPSIS
 ib_net32_t
ib_node_info_get_vendor_id(
    IN const ib_node_info_t* const p_ni ;
PARAMETERS
    p_ni
        [in] Pointer to a NodeInfo attribute.

RETURN VALUES
    VendorID that returned the attribute.

NOTES

SEE ALSO
    ib_node_info_t

IBA Base: Types/ib_node_info_t

NAME
    ib_node_info_t

DESCRIPTION
    IBA defined NodeInfo. (14.2.5.3)

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_node_info
{
    uint8_t             base_version;
    uint8_t             class_version;
    uint8_t             node_type;
    uint8_t             num_ports;
    ib_net64_t          sys_guid;
    ib_net64_t          node_guid;
    ib_net64_t          port_guid;
    ib_net16_t          partition_cap;
    ib_net16_t          device_id;
    ib_net32_t          revision;
    ib_net32_t          port_num_vendor_id;

}   PACK_SUFFIX ib_node_info_t;
#include <iba/complib/cl_packoff.h>

IBA Base: Types/ib_path_get_ipd

NAME
    ib_path_get_ipd

DESCRIPTION
    Returns the encoded value for the inter packet delay.

SYNOPSIS

 uint8_t
ib_path_get_ipd(
    IN uint8_t local_link_width_supported,
    IN uint8_t path_rec_rate ;
PARAMETERS
    local_link_width_supported
        [in] link with supported for this port
    path_rec_rate
        [in] rate field of the path record

RETURN VALUES
    Returns the ipd

NOTES

SEE ALSO

IBA Base: Types/ib_path_rec_flow_lbl

NAME
    ib_path_rec_flow_lbl

DESCRIPTION
    Get flow label.

SYNOPSIS
 uint32_t
ib_path_rec_flow_lbl(
    IN const ib_path_rec_t* const p_rec ;
PARAMETERS
    p_rec
        [in] Pointer to the path record object.

RETURN VALUES
    Flow label of the path record.

NOTES

SEE ALSO
    ib_path_rec_t

IBA Base: Types/ib_path_rec_hop_limit

NAME
    ib_path_rec_hop_limit

DESCRIPTION
    Get hop limit.

SYNOPSIS
 uint8_t
ib_path_rec_hop_limit(
    IN const ib_path_rec_t* const p_rec ;
PARAMETERS
    p_rec
        [in] Pointer to the path record object.

RETURN VALUES
    Hop limit of the path record.

NOTES

SEE ALSO
    ib_path_rec_t

IBA Base: Types/ib_path_rec_init_local

NAME
    ib_path_rec_init_local

DESCRIPTION
    Initializes a subnet local path record.

SYNOPSIS
 void
ib_path_rec_init_local(
    IN ib_path_rec_t*       const p_rec,
    IN const ib_gid_t*      const p_dgid,
    IN const ib_gid_t*      const p_sgid,
    IN const ib_net16_t     dlid,
    IN const ib_net16_t     slid,
    IN const uint8_t        num_path,
    IN const ib_net16_t     pkey,
    IN const uint8_t        sl,
    IN const uint8_t        mtu_selector,
    IN const uint8_t        mtu,
    IN const uint8_t        rate_selector,
    IN const uint8_t        rate,
    IN const uint8_t        pkt_life_selector,
    IN const uint8_t        pkt_life,
    IN const uint8_t        preference ;
PARAMETERS
    p_rec
        [in] Pointer to the path record object.

    dgid
        [in] GID of destination port.

    sgid
        [in] GID of source port.

    dlid
        [in] LID of destination port.

    slid
        [in] LID of source port.

    num_path
        [in] In queries, maximum number of paths to return.
        In responses, undefined.

    pkey
        [in] Partition key (P_Key) to use on this path.

    sl
        [in] Service level to use on this path.  Lower 4-bits are valid.

    mtu_selector
        [in] Encoded MTU selector value to use on this path

    mtu
        [in] Encoded MTU to use on this path

    rate_selector
        [in] Encoded rate selector value to use on this path.

    rate
        [in] Encoded rate to use on this path.

    pkt_life_selector
        [in] Encoded Packet selector value lifetime for this path.

    pkt_life
        [in] Encoded Packet lifetime for this path.

    preference
        [in] Indicates the relative merit of this path versus other path
        records returned from the SA.  Lower numbers are better.

RETURN VALUES
    None.

NOTES

SEE ALSO
    ib_gid_t

IBA Base: Types/ib_path_rec_mtu

NAME
    ib_path_rec_mtu

DESCRIPTION
    Get encoded path MTU.

SYNOPSIS
 uint8_t
ib_path_rec_mtu(
    IN const ib_path_rec_t* const p_rec ;
PARAMETERS
    p_rec
        [in] Pointer to the path record object.

RETURN VALUES
    Encoded path MTU.
        1: 256
        2: 512
        3: 1024
        4: 2048
        5: 4096
        others: reserved

NOTES

SEE ALSO
    ib_path_rec_t

IBA Base: Types/ib_path_rec_mtu_sel

NAME
    ib_path_rec_mtu_sel

DESCRIPTION
    Get encoded path MTU selector.

SYNOPSIS
 uint8_t
ib_path_rec_mtu_sel(
    IN const ib_path_rec_t* const p_rec ;
PARAMETERS
    p_rec
        [in] Pointer to the path record object.

RETURN VALUES
    Encoded path MTU selector value (for queries).
        0: greater than MTU specified
        1: less than MTU specified
        2: exactly the MTU specified
        3: largest MTU available

NOTES

SEE ALSO
    ib_path_rec_t

IBA Base: Types/ib_path_rec_pkt_life

NAME
    ib_path_rec_pkt_life

DESCRIPTION
    Get encoded path pkt_life.

SYNOPSIS
 uint8_t
ib_path_rec_pkt_life(
    IN const ib_path_rec_t* const p_rec ;
PARAMETERS
    p_rec
        [in] Pointer to the path record object.

RETURN VALUES
    Encoded path pkt_life = 4.096 µsec * 2 PacketLifeTime.

NOTES

SEE ALSO
    ib_path_rec_t

IBA Base: Types/ib_path_rec_pkt_life_sel

NAME
    ib_path_rec_pkt_life_sel

DESCRIPTION
    Get encoded path pkt_lifetime selector.

SYNOPSIS
 uint8_t
ib_path_rec_pkt_life_sel(
    IN const ib_path_rec_t* const p_rec ;
PARAMETERS
    p_rec
        [in] Pointer to the path record object.

RETURN VALUES
    Encoded path pkt_lifetime selector value (for queries).
        0: greater than rate specified
        1: less than rate specified
        2: exactly the rate specified
        3: smallest packet lifetime available

NOTES

SEE ALSO
    ib_path_rec_t

IBA Base: Types/ib_path_rec_rate

NAME
    ib_path_rec_rate

DESCRIPTION
    Get encoded path rate.

SYNOPSIS
 uint8_t
ib_path_rec_rate(
    IN const ib_path_rec_t* const p_rec ;
PARAMETERS
    p_rec
        [in] Pointer to the path record object.

RETURN VALUES
    Encoded path rate.
        2: 2.5 Gb/sec.
        3: 10 Gb/sec.
        4: 30 Gb/sec.
        others: reserved

NOTES

SEE ALSO
    ib_path_rec_t

IBA Base: Types/ib_path_rec_rate_sel

NAME
    ib_path_rec_rate_sel

DESCRIPTION
    Get encoded path rate selector.

SYNOPSIS
 uint8_t
ib_path_rec_rate_sel(
    IN const ib_path_rec_t* const p_rec ;
PARAMETERS
    p_rec
        [in] Pointer to the path record object.

RETURN VALUES
    Encoded path rate selector value (for queries).
        0: greater than rate specified
        1: less than rate specified
        2: exactly the rate specified
        3: largest rate available

NOTES

SEE ALSO
    ib_path_rec_t

IBA Base: Types/ib_path_rec_sl

NAME
    ib_path_rec_sl

DESCRIPTION
    Get path service level.

SYNOPSIS
 uint8_t
ib_path_rec_sl(
    IN const ib_path_rec_t* const p_rec ;
PARAMETERS
    p_rec
        [in] Pointer to the path record object.

RETURN VALUES
    Encoded path MTU.
        1: 256
        2: 512
        3: 1024
        4: 2048
        5: 4096
        others: reserved

NOTES

SEE ALSO
    ib_path_rec_t

IBA Base: Types/ib_path_rec_t

NAME
    ib_path_rec_t

DESCRIPTION
    Path records encapsulate the properties of a given
    route between two end-points on a subnet.

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_path_rec
{
    uint8_t                 resv0[8];
    ib_gid_t                dgid;
    ib_gid_t                sgid;
    ib_net16_t              dlid;
    ib_net16_t              slid;
    ib_net32_t              hop_flow_raw;
    uint8_t                 tclass;
    uint8_t                 num_path;
    ib_net16_t              pkey;
    ib_net16_t              sl;
    uint8_t                 mtu;
    uint8_t                 rate;
    uint8_t                 pkt_life;
    uint8_t                 preference;
    uint8_t                 resv2[6];

}   PACK_SUFFIX ib_path_rec_t;
#include <iba/complib/cl_packoff.h>

FIELDS
    resv0
        Reserved bytes.

    dgid
        GID of destination port.

    sgid
        GID of source port.

    dlid
        LID of destination port.

    slid
        LID of source port.

    hop_flow_raw
        Global routing parameters: hop count, flow label and raw bit.

    tclass
        Another global routing parameter.

    num_path
        In queries, maximum number of paths to return.
        In responses, undefined.

    pkey
        Partition key (P_Key) to use on this path.

    resv1
        Reserved byte.

    sl
        Service level to use on this path.

    mtu
        MTU and MTU selector fields to use on this path

    rate
        Rate and rate selector fields to use on this path.

    pkt_life
        Packet lifetime

    preference
        Indicates the relative merit of this path versus other path
        records returned from the SA.  Lower numbers are better.

    resv2
        Reserved bytes.
SEE ALSO

IBA Base: Types/ib_pkey_get_base

NAME
    ib_pkey_get_base

DESCRIPTION
    Returns the base P_Key value with the membership bit stripped.

SYNOPSIS
 ib_net16_t
ib_pkey_get_base(
    IN const ib_net16_t pkey ;
PARAMETERS
    pkey
        [in] P_Key value

RETURN VALUE
    Returns the base P_Key value with the membership bit stripped.

NOTES

SEE ALSO

IBA Base: Types/ib_pkey_is_full_member

NAME
    ib_pkey_is_full_member

DESCRIPTION
    Indicitates if the port is a full member of the parition.

SYNOPSIS
 boolean_t
ib_pkey_is_full_member(
    IN const ib_net16_t pkey ;
PARAMETERS
    pkey
        [in] P_Key value

RETURN VALUE
    TRUE if the port is a full member of the partition.
    FALSE otherwise.

NOTES

SEE ALSO
 ib_pkey_get_base, ib_net16_t

IBA Base: Types/ib_pkey_table_info_t

NAME
    ib_pkey_table_info_t

DESCRIPTION
    IBA defined PKey table. (14.2.5.7)

SYNOPSIS
#define PKEY_TABLE_MAX_ENTRIES      32

#include <iba/complib/cl_packon.h>
typedef struct _ib_pkey_table_info
{
    ib_net16_t          pkey[PKEY_TABLE_MAX_ENTRIES];
}  PACK_SUFFIX ib_pkey_table_info_t;
#include <iba/complib/cl_packoff.h>

IBA Base: Types/ib_port_info_compute_rate

NAME
    ib_port_info_compute_rate

DESCRIPTION
    Returns the encoded value for the path rate.

SYNOPSIS

 uint8_t
ib_port_info_compute_rate(
    IN const ib_port_info_t* const p_pi ;
PARAMETERS
    p_pi
        [in] Pointer to a PortInfo attribute.

RETURN VALUES
    Returns the encoded value for the link speed supported.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_get_link_speed_sup

NAME
    ib_port_info_get_link_speed_sup

DESCRIPTION
    Returns the encoded value for the link speed supported.

SYNOPSIS
 uint8_t
ib_port_info_get_link_speed_sup(
    IN const ib_port_info_t* const p_pi ;
PARAMETERS
    p_pi
        [in] Pointer to a PortInfo attribute.

RETURN VALUES
    Returns the encoded value for the link speed supported.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_get_lmc

NAME
    ib_port_info_get_lmc

DESCRIPTION
    Returns the LMC value assigned to this port.

SYNOPSIS
 uint8_t
ib_port_info_get_lmc(
    IN const ib_port_info_t* const p_pi ;
PARAMETERS
    p_pi
        [in] Pointer to a PortInfo attribute.

RETURN VALUES
    Returns the LMC value assigned to this port.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_get_mpb

NAME
    ib_port_info_get_mpb

DESCRIPTION
    Returns the M_Key protect bits assigned to this port.

SYNOPSIS
 uint8_t
ib_port_info_get_mpb(
    IN const ib_port_info_t* const p_pi ;
PARAMETERS
    p_ni
        [in] Pointer to a PortInfo attribute.

RETURN VALUES
    Returns the M_Key protect bits assigned to this port.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_get_mtu_cap

NAME
    ib_port_info_get_mtu_cap

DESCRIPTION
    Returns the encoded value for the maximum MTU supported by this port.

SYNOPSIS
 uint8_t
ib_port_info_get_mtu_cap(
    IN const ib_port_info_t* const p_pi ;
PARAMETERS
    p_pi
        [in] Pointer to a PortInfo attribute.

RETURN VALUES
    Returns the LMC value assigned to this port.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_get_neighbor_mtu

NAME
    ib_port_info_get_neighbor_mtu

DESCRIPTION
    Returns the encoded value for the neighbor MTU at this port.

SYNOPSIS
 uint8_t
ib_port_info_get_neighbor_mtu(
    IN const ib_port_info_t* const p_pi ;
PARAMETERS
    p_pi
        [in] Pointer to a PortInfo attribute.

RETURN VALUES
    Returns the encoded value for the neighbor MTU at this port.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_get_port_state

NAME
    ib_port_info_get_port_state

DESCRIPTION
    Returns the port state.

SYNOPSIS
 uint8_t
ib_port_info_get_port_state(
    IN const ib_port_info_t* const p_pi ;
PARAMETERS
    p_pi
        [in] Pointer to a PortInfo attribute.

RETURN VALUES
    Port state.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_set_lmc

NAME
    ib_port_info_set_lmc

DESCRIPTION
    Sets the LMC value in the PortInfo attribute.

SYNOPSIS
 void
ib_port_info_set_lmc(
    IN ib_port_info_t* const p_pi,
    IN const uint8_t lmc ;
PARAMETERS
    p_pi
        [in] Pointer to a PortInfo attribute.

    lmc
        [in] LMC value to set, must be less than 7.

RETURN VALUES
    None.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_set_neighbor_mtu

NAME
    ib_port_info_set_neighbor_mtu

DESCRIPTION
    Sets the Neighbor MTU value in the PortInfo attribute.

SYNOPSIS
 void
ib_port_info_set_neighbor_mtu(
    IN ib_port_info_t* const p_pi,
    IN const uint8_t mtu ;
PARAMETERS
    p_pi
        [in] Pointer to a PortInfo attribute.

    mtu
        [in] Encoded MTU value to set

RETURN VALUES
    None.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_set_op_vls

NAME
    ib_port_info_set_op_vls

DESCRIPTION
    Sets the operational VLs on a port.

SYNOPSIS
 void
ib_port_info_set_op_vls(
    IN ib_port_info_t* const p_pi,
    IN const uint8_t op_vls ;
PARAMETERS
    p_pi
        [in] Pointer to a PortInfo attribute.

    op_vls
        [in] Encoded operation VLs value.

RETURN VALUES
    None.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_set_port_state

NAME
    ib_port_info_set_port_state

DESCRIPTION
    Sets the port state.

SYNOPSIS
 void
ib_port_info_set_port_state(
    IN ib_port_info_t* const p_pi,
    IN const uint8_t port_state ;
PARAMETERS
    p_pi
        [in] Pointer to a PortInfo attribute.

    port_state
        [in] Port state value to set.

RETURN VALUES
    None.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_set_state_no_change

NAME
    ib_port_info_set_state_no_change

DESCRIPTION
    Sets the port state fields to the value for "no change".

SYNOPSIS
 void
ib_port_info_set_state_no_change(
    IN ib_port_info_t* const p_pi ;
PARAMETERS
    p_pi
        [in] Pointer to a PortInfo attribute.

RETURN VALUES
    None.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_set_timeout

NAME
    ib_port_info_set_timeout

DESCRIPTION
    Sets the encoded subnet timeout value in the PortInfo attribute.

SYNOPSIS
 void
ib_port_info_set_timeout(
    IN ib_port_info_t* const p_pi,
    IN const uint8_t timeout ;
PARAMETERS
    p_pi
        [in] Pointer to a PortInfo attribute.

    timeout
        [in] Encoded timeout value to set

RETURN VALUES
    None.

NOTES

SEE ALSO

IBA Base: Types/ib_port_info_t

NAME
    ib_port_info_t

DESCRIPTION
    IBA defined PortInfo. (14.2.5.6)

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_port_info
{
    ib_net64_t          m_key;
    ib_net64_t          subnet_prefix;
    ib_net16_t          base_lid;
    ib_net16_t          master_sm_base_lid;
    ib_net32_t          capability_mask;
    ib_net16_t          diag_code;
    ib_net16_t          m_key_lease_period; 
    uint8_t             local_port_num;
    uint8_t             link_width_enabled;
    uint8_t             link_width_supported;
    uint8_t             link_width_active;
    uint8_t             state_info1;    //LinkSpeedSupported and PortState
    uint8_t             state_info2;    //PortPhysState and LinkDownDefaultState
    uint8_t             mkey_lmc;
    uint8_t             link_speed;     //LinkSpeedEnabled and LinkSpeedActive
    uint8_t             mtu_smsl;
    uint8_t             vl_cap;
    uint8_t             vl_high_limit;
    uint8_t             vl_arb_high_cap;
    uint8_t             vl_arb_low_cap;
    uint8_t             mtu_cap;
    uint8_t             vl_stall_life;
    uint8_t             vl_enforce;
    ib_net16_t          m_key_violations;
    ib_net16_t          p_key_violations;
    ib_net16_t          q_key_violations;
    uint8_t             guid_cap;
    uint8_t             subnet_timeout;
    uint8_t             resp_time_value;
    uint8_t             error_threshold;

}   PACK_SUFFIX ib_port_info_t;
#include <iba/complib/cl_packoff.h>

IBA Base: Types/ib_rmpp_is_flag_set

NAME
    ib_rmpp_is_flag_set

DESCRIPTION
    Returns TRUE if the MAD has the given RMPP flag set.

SYNOPSIS
 boolean_t
ib_rmpp_is_flag_set(
    IN const ib_rmpp_mad_t* const p_rmpp_mad,
    IN const uint8_t flag ;
PARAMETERS
    ib_rmpp_mad_t
        [in] Pointer to a MAD with an RMPP header.

    flag
        [in] The RMPP flag being examined.

RETURN VALUES
    Returns TRUE if the MAD has the given RMPP flag set.

NOTES

SEE ALSO
    ib_mad_t, ib_rmpp_mad_t

IBA Base: Types/ib_rmpp_mad_t

NAME
    ib_rmpp_mad_t

DESCRIPTION
    IBA defined MAD RMPP header (13.6.2.1)

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_rmpp_mad
{
    ib_mad_t                common_hdr;

    uint8_t                 rmpp_version;
    uint8_t                 rmpp_type;
    uint8_t                 rmpp_flags;
    uint8_t                 rmpp_status;

    ib_net32_t              seg_num;
    ib_net32_t              paylen_newwin;

}   PACK_SUFFIX ib_rmpp_mad_t;
#include <iba/complib/cl_packoff.h>

SEE ALSO
    ib_mad_t

IBA Base: Types/ib_sa_mad_get_payload_ptr

NAME
    ib_sa_mad_get_payload_ptr

DESCRIPTION
    Gets a pointer to the SA MAD's payload area.

SYNOPSIS
 void*
ib_sa_mad_get_payload_ptr(
    IN const ib_sa_mad_t* const p_sa_mad ;
PARAMETERS
    p_smp
        [in] Pointer to the SA MAD packet.

RETURN VALUES
    Pointer to SA MAD payload area.

NOTES

SEE ALSO
    ib_mad_t

IBA Base: Types/ib_sa_mad_t

NAME
    ib_sa_mad_t

DESCRIPTION
    IBA defined SA MAD format. (15.2.1)

SYNOPSIS
#define IB_SA_DATA_SIZE 200

#include <iba/complib/cl_packon.h>
typedef struct _ib_sa_mad
{
    uint8_t                 base_ver;
    uint8_t                 mgmt_class;
    uint8_t                 class_ver;
    uint8_t                 method;
    ib_net16_t              status;
    ib_net16_t              resv;
    ib_net64_t              trans_id;
    ib_net16_t              attr_id;
    ib_net16_t              resv1;
    ib_net32_t              attr_mod;

    uint8_t                 rmpp_version;
    uint8_t                 rmpp_type;
    uint8_t                 rmpp_flags;
    uint8_t                 rmpp_status;

    ib_net32_t              seg_num;
    ib_net32_t              paylen_newwin;

    ib_net64_t              sm_key;

    ib_net16_t              attr_offset;
    ib_net16_t              resv3;

    ib_net64_t              comp_mask;

    uint8_t                 data[IB_SA_DATA_SIZE];
}   PACK_SUFFIX ib_sa_mad_t;
#include <iba/complib/cl_packoff.h>

IBA Base: Types/ib_sm_info_t

NAME
    ib_sm_info_t

DESCRIPTION
    SMInfo structure (14.2.5.13).

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_sm_info
{
    ib_net64_t          guid;
    ib_net64_t          sm_key;
    ib_net32_t          act_count;
    uint8_t             pri_state;

}   PACK_SUFFIX ib_sm_info_t;
#include <iba/complib/cl_packoff.h>

FIELDS
    guid
        Port GUID for this SM.

    sm_key
        SM_Key of this SM.

    act_count
        Activity counter used as a heartbeat.

    pri_state
        Priority and State information

SEE ALSO

IBA Base: Types/ib_sminfo_get_priority

NAME
    ib_sminfo_get_priority

DESCRIPTION
    Returns the priority value.

SYNOPSIS
 uint8_t
ib_sminfo_get_priority(
    IN const ib_sm_info_t* const p_smi ;
PARAMETERS
    p_smi
        [in] Pointer to the SMInfo Attribute.

RETURN VALUES
    Returns the priority value.

NOTES

SEE ALSO

IBA Base: Types/ib_sminfo_get_state

NAME
    ib_sminfo_get_state

DESCRIPTION
    Returns the state value.

SYNOPSIS
 uint8_t
ib_sminfo_get_state(
    IN const ib_sm_info_t* const p_smi ;
PARAMETERS
    p_smi
        [in] Pointer to the SMInfo Attribute.

RETURN VALUES
    Returns the state value.

NOTES

SEE ALSO

IBA Base: Types/ib_smp_get_payload_ptr

NAME
    ib_smp_get_payload_ptr

DESCRIPTION
    Gets a pointer to the SMP payload area.

SYNOPSIS
 void*
ib_smp_get_payload_ptr(
    IN const ib_smp_t* const p_smp ;
PARAMETERS
    p_smp
        [in] Pointer to the SMP packet.

RETURN VALUES
    Pointer to SMP payload area.

NOTES

SEE ALSO
    ib_mad_t

IBA Base: Types/ib_smp_get_status

NAME
    ib_smp_get_status

DESCRIPTION
    Returns the SMP status value in network order.

SYNOPSIS
 ib_net16_t
ib_smp_get_status(
    IN const ib_smp_t* const p_smp ;
PARAMETERS
    p_smp
        [in] Pointer to the SMP packet.

RETURN VALUES
    Returns the SMP status value in network order.

NOTES

SEE ALSO
    ib_smp_t

IBA Base: Types/ib_smp_init_new

NAME
    ib_smp_init_new

DESCRIPTION
    Initializes a MAD common header.

TODO
    This is too big for inlining, but leave it here for now
    since there is not yet another convient spot.

SYNOPSIS
 void
ib_smp_init_new(
    IN ib_smp_t* const p_smp,
    IN const uint8_t method,
    IN const ib_net64_t trans_id,
    IN const ib_net16_t attr_id,
    IN const ib_net32_t attr_mod,
    IN const uint8_t hop_count,
    IN const ib_net64_t m_key,
    IN const uint8_t* path_out,
    IN const ib_net16_t dr_slid,
    IN const ib_net16_t dr_dlid ;
PARAMETERS
    p_smp
        [in] Pointer to the SMP packet.

    method
        [in] Method to perform, including 'R' bit.

    trans_Id
        [in] Transaction ID.

    attr_id
        [in] Attribute ID.

    attr_mod
        [in] Attribute modifier.

    hop_count
        [in] Number of hops in the path.

    m_key
        [in] Management key for this SMP.

    path_out
        [in] Port array for outbound path.


RETURN VALUES
    None.

NOTES
    Payload area is initialized to zero.


SEE ALSO
    ib_mad_t

IBA Base: Types/ib_smp_is_d

NAME
    ib_smp_is_d

DESCRIPTION
    Returns TRUE if the SMP 'D' (direction) bit is set.

SYNOPSIS
 boolean_t
ib_smp_is_d(
    IN const ib_smp_t* const p_smp ;
PARAMETERS
    p_smp
        [in] Pointer to the SMP packet.

RETURN VALUES
    Returns TRUE if the SMP 'D' (direction) bit is set.

NOTES

SEE ALSO
    ib_smp_t

IBA Base: Types/ib_smp_is_response

NAME
    ib_smp_is_response

DESCRIPTION
    Returns TRUE if the SMP is a response MAD, FALSE otherwise.

SYNOPSIS
 boolean_t
ib_smp_is_response(
    IN const ib_smp_t* const p_smp ;
PARAMETERS
    p_smp
        [in] Pointer to the SMP packet.

RETURN VALUES
    Returns TRUE if the SMP is a response MAD, FALSE otherwise.

NOTES

SEE ALSO
    ib_smp_t

IBA Base: Types/ib_smp_t

NAME
    ib_smp_t

DESCRIPTION
    IBA defined SMP. (14.2.1.2)

SYNOPSIS
#define IB_SMP_DATA_SIZE 64
#include <iba/complib/cl_packon.h>
typedef struct _ib_smp
{
    uint8_t                 base_ver;
    uint8_t                 mgmt_class;
    uint8_t                 class_ver;
    uint8_t                 method;
    ib_net16_t              status;
    uint8_t                 hop_ptr;
    uint8_t                 hop_count;
    ib_net64_t              trans_id;
    ib_net16_t              attr_id;
    ib_net16_t              resv;
    ib_net32_t              attr_mod;
    ib_net64_t              m_key;
    ib_net16_t              dr_slid;
    ib_net16_t              dr_dlid;
    uint32_t                resv1[7];
    uint8_t                 data[IB_SMP_DATA_SIZE];
    uint8_t                 initial_path[IB_SUBNET_PATH_HOPS_MAX];
    uint8_t                 return_path[IB_SUBNET_PATH_HOPS_MAX];

}   PACK_SUFFIX ib_smp_t;
#include <iba/complib/cl_packoff.h>

FIELDS
    base_ver
        MAD base format.

    mgmt_class
        Class of operation.

    class_ver
        Version of MAD class-specific format.

    method
        Method to perform, including 'R' bit.

    status
        Status of operation.

    hop_ptr
        Hop pointer for directed route MADs.

    hop_count
        Hop count for directed route MADs.

    trans_Id
        Transaction ID.

    attr_id
        Attribute ID.

    resv
        Reserved field.

    attr_mod
        Attribute modifier.

    m_key
        Management key value.

    dr_slid
        Directed route source LID.

    dr_dlid
        Directed route destination LID.

    resv0
        Reserved for 64 byte alignment.

    data
        MAD data payload.

    initial_path
        Outbound port list.

    return_path
        Inbound port list.

SEE ALSO

IBA Base: Types/ib_svc_entries_t

NAME
    ib_svc_entries_t

DESCRIPTION
    IBA defined IO Controller service entry array (16.3.3.5)

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_svc_entries
{
#define SVC_ENTRY_COUNT             4
    ib_svc_entry_t          service_entry[SVC_ENTRY_COUNT];

} PACK_SUFFIX ib_svc_entries_t;
#include <iba/complib/cl_packoff.h>

FIELDS
    service_entry
        An array of IO controller service entries.

SEE ALSO
 ib_dm_mad_t, ib_svc_entry_t

IBA Base: Types/ib_svc_entry_t

NAME
    ib_svc_entry_t

DESCRIPTION
    IBA defined IO Controller service entry structure (16.3.3.5)

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_svc_entry
{
#define MAX_SVC_ENTRY_NAME_LEN      40
    char                    name[MAX_SVC_ENTRY_NAME_LEN];

    ib_net64_t              id;

} PACK_SUFFIX ib_svc_entry_t;
#include <iba/complib/cl_packoff.h>

FIELDS
    name
        UTF-8 encoded, null-terminated name of the service.

    id
        An identifier of the associated Service.

SEE ALSO
 ib_svc_entries_t

IBA Base: Types/ib_switch_info_clear_state_change

NAME
    ib_switch_info_clear_state_change

DESCRIPTION
    Clears the switch's state change bit.

SYNOPSIS
 void
ib_switch_info_clear_state_change(
    IN ib_switch_info_t* const p_si ;
PARAMETERS
    p_ni
        [in] Pointer to a PortInfo attribute.

RETURN VALUES
    Returns the LMC value assigned to this port.

NOTES

SEE ALSO

IBA Base: Types/ib_switch_info_get_state_change

NAME
    ib_switch_info_get_state_change

DESCRIPTION
    Returns the value of the state change flag.

SYNOPSIS
 boolean_t
ib_switch_info_get_state_change(
    IN const ib_switch_info_t* const p_si ;
PARAMETERS
    p_si
        [in] Pointer to a SwitchInfo attribute.

RETURN VALUES
    Returns the value of the state change flag.

NOTES

SEE ALSO

IBA Base: Types/ib_switch_info_t

NAME
    ib_switch_info_t

DESCRIPTION
    IBA defined SwitchInfo. (14.2.5.4)

SYNOPSIS
#include <iba/complib/cl_packon.h>
typedef struct _ib_switch_info
{
    ib_net16_t          lin_cap;
    ib_net16_t          rand_cap;
    ib_net16_t          mcast_cap;
    ib_net16_t          lin_top;
    uint8_t             def_port;
    uint8_t             def_mcast_pri_port;
    uint8_t             def_mcast_not_port;
    uint8_t             life_state;
    ib_net16_t          lids_per_port;
    ib_net16_t          enforce_cap;
    uint8_t             flags;

} PACK_SUFFIX ib_switch_info_t;
#include <iba/complib/cl_packoff.h>

IBA Base: Types/ioc_at_slot

NAME
    ioc_at_slot

DESCRIPTION
    Returns the IOC value at the specified slot.

SYNOPSIS
 uint8_t
ioc_at_slot(
    IN      const   ib_iou_info_t*  const   p_iou_info,
    IN              uint8_t                 slot ;
PARAMETERS
    p_iou_info
        [in] Pointer to the IO Unit information structure.

    slot
        [in] Pointer to the IO Unit information structure.

RETURN VALUES
    OptionROM field of the IO Unit information.

NOTES

SEE ALSO
    ib_iou_info_t

Verbs/ib_async_event_t

NAME
    ib_async_event_t -- Async event types
PURPOSE
    This type indicates the reason why the async callback was called. 
    The context in the ib_event_rec_t indicates the resource context
    that caused the callback to happen. For e.g. if you get IB_AE_SQ_ERROR
    then the context passed during the ci_create_qp is returned in the
    callback.
SOURCE
    typedef enum _ib_async_event_t
    {
        IB_AE_SQ_ERROR = 1,
        IB_AE_SQ_DRAINED,
        IB_AE_RQ_ERROR,
        IB_AE_CQ_ERROR,
        IB_AE_QP_FATAL,
        IB_AE_QP_COMM,
        IB_AE_QP_APM,
        IB_AE_EEC_FATAL,
        IB_AE_EEC_COMM,
        IB_AE_EEC_APM,
        IB_AE_LOCAL_FATAL,
        IB_AE_PKEY_TRAP,
        IB_AE_QKEY_TRAP,
        IB_AE_MKEY_TRAP,
        IB_AE_PORT_TRAP,
        IB_AE_SYSIMG_GUID_TRAP,
        IB_AE_BUF_OVERRUN,
        IB_AE_LINK_INTEGRITY,
        IB_AE_FLOW_CTRL_ERROR,
        IB_AE_BKEY_TRAP,
        IB_AE_QP_APM_ERROR,
        IB_AE_EEC_APM_ERROR,
        IB_AE_WQ_REQ_ERROR,
        IB_AE_WQ_ACCESS_ERROR,
        IB_AE_PORT_ACTIVE,  /* ACTIVE STATE */
        IB_AE_PORT_DOWN,    /* INIT, ARMED, DOWN */
        IB_AE_UNKNOWN       /* ALWAYS LAST ENUM VALUE */
    
    }   ib_async_event_t;

Verbs/ib_event_rec_t

NAME
    ib_event_rec_t -- Async event notification record
PURPOSE
    When an async event callback is made, this structure is passed to indicate
    the type of event, the source of event that caused it and the context
    associated with this event.

    context -- Context of the resource that caused the event.
        -- ca_context if this is a port/adapter event
        -- qp_context if the queue pair is the source of the event
        -- cq_context if the source is a CQ event.
        -- ee_context if the source is an EE event.
SOURCE
    typedef struct _ib_event_rec
    {
        void                    *context;       
        ib_async_event_t        type;
    
        /*
         * The following structures are valid only for 
         * trap types
         */
        union _trap
        {
            struct 
            {
                uint16_t            lid;
                ib_net64_t          port_guid;
                uint8_t             port_num;
    
                /*
                 * The following structure is valid only for 
                 * P_KEY and Q_KEY M_KEY violation traps
                 */
                struct
                {
                    uint8_t         sl;
                    uint16_t        src_lid;
                    uint16_t        dest_lid;
                    union _key
                    {
                        uint16_t    pkey;
                        uint32_t    qkey;
                        uint64_t    mkey;
                    } key;
                    uint32_t        src_qp;
                    uint32_t        dest_qp;
                    ib_gid_t        src_gid;
                    ib_gid_t        dest_gid;
    
                }   violation;
    
            } info;
            ib_net64_t  sysimg_guid;
    
        }   trap; 
    
    }   ib_event_rec_t;