Generated from ib_types.h with ROBODoc v3.2.3 on Sat Jan 18 07:05:14 2003
TABLE OF CONTENTS
- Access Layer/ib_access_t
- Access Layer/ib_api_status_t
- Access Layer/ib_apm_state_t
- Access Layer/ib_apr_status_t
- Access Layer/ib_atomic_t
- Access Layer/ib_av_attr_t
- Access Layer/ib_bind_wr_t
- Access Layer/ib_ca_attr_t
- Access Layer/ib_ca_mod_t
- Access Layer/ib_cm_cap_mask_t
- Access Layer/ib_eec_attr_t
- Access Layer/ib_eec_mod_t
- Access Layer/ib_eec_opts_t
- Access Layer/ib_local_ds_t
- Access Layer/ib_mr_attr_t
- Access Layer/ib_mr_create_t
- Access Layer/ib_mr_mod_t
- Access Layer/ib_phys_create_t
- Access Layer/ib_port_attr_mod_t
- Access Layer/ib_port_attr_t
- Access Layer/ib_port_cap_t
- Access Layer/ib_qp_attr_t
- Access Layer/ib_qp_create_t
- Access Layer/ib_qp_mod_t
- Access Layer/ib_qp_opts_t
- Access Layer/ib_qp_state_t
- Access Layer/ib_qp_type_t
- Access Layer/ib_recv_opt_t
- Access Layer/ib_recv_wr_t
- Access Layer/ib_rej_status_t
- Access Layer/ib_send_opt_t
- Access Layer/ib_send_wr_t
- Access Layer/ib_wc_status_t
- Access Layer/ib_wc_t
- Access Layer/ib_wc_type_t
- Access Layer/ib_wr_type_t
- Access layer/ib_copy_ca_attr
- IBA Base/Constants
- IBA Base/Type Definitions
- IBA Base: Constants/IB_CLASS_CAP_GETSET
- IBA Base: Constants/IB_CLASS_CAP_GETSET
- IBA Base: Constants/IB_CLASS_CAP_TRAP
- IBA Base: Constants/IB_DEFAULT_PKEY
- IBA Base: Constants/IB_DEFAULT_SUBNET_PREFIX
- IBA Base: Constants/IB_INVALID_PORT_NUM
- IBA Base: Constants/IB_LID_MCAST_END
- IBA Base: Constants/IB_LID_MCAST_START
- IBA Base: Constants/IB_LID_PERMISSIVE
- IBA Base: Constants/IB_LID_UCAST_END
- IBA Base: Constants/IB_LID_UCAST_START
- IBA Base: Constants/IB_MAD_ATTR_CLASS_PORT_INFO
- IBA Base: Constants/IB_MAD_ATTR_DIAGNOSTIC_TIMEOUT
- IBA Base: Constants/IB_MAD_ATTR_DIAG_CODE
- IBA Base: Constants/IB_MAD_ATTR_GUID_INFO
- IBA Base: Constants/IB_MAD_ATTR_INFORM_INFO
- IBA Base: Constants/IB_MAD_ATTR_IO_CONTROLLER_PROFILE
- IBA Base: Constants/IB_MAD_ATTR_IO_UNIT_INFO
- IBA Base: Constants/IB_MAD_ATTR_LED_INFO
- IBA Base: Constants/IB_MAD_ATTR_LINK_RECORD
- IBA Base: Constants/IB_MAD_ATTR_LIN_FWD_TBL
- IBA Base: Constants/IB_MAD_ATTR_MCAST_FWD_TBL
- IBA Base: Constants/IB_MAD_ATTR_MCMEMBER_RECORD
- IBA Base: Constants/IB_MAD_ATTR_MULTIPATH_RECORD
- IBA Base: Constants/IB_MAD_ATTR_NODE_DESC
- IBA Base: Constants/IB_MAD_ATTR_NODE_INFO
- IBA Base: Constants/IB_MAD_ATTR_NODE_RECORD
- IBA Base: Constants/IB_MAD_ATTR_NOTICE
- IBA Base: Constants/IB_MAD_ATTR_PATH_RECORD
- IBA Base: Constants/IB_MAD_ATTR_PKEYTBL_RECORD
- IBA Base: Constants/IB_MAD_ATTR_PORTINFO_RECORD
- IBA Base: Constants/IB_MAD_ATTR_PORT_CNTRS
- IBA Base: Constants/IB_MAD_ATTR_PORT_INFO
- IBA Base: Constants/IB_MAD_ATTR_PORT_SMPL_RSLT
- IBA Base: Constants/IB_MAD_ATTR_PREPARE_TO_TEST
- IBA Base: Constants/IB_MAD_ATTR_P_KEY_TABLE
- IBA Base: Constants/IB_MAD_ATTR_RND_FWD_TBL
- IBA Base: Constants/IB_MAD_ATTR_SERVICE_ENTRIES
- IBA Base: Constants/IB_MAD_ATTR_SERVICE_RECORD
- IBA Base: Constants/IB_MAD_ATTR_SLVL_TABLE
- IBA Base: Constants/IB_MAD_ATTR_SMINFO_RECORD
- IBA Base: Constants/IB_MAD_ATTR_SM_INFO
- IBA Base: Constants/IB_MAD_ATTR_SVC_ASSOCIATION_RECORD
- IBA Base: Constants/IB_MAD_ATTR_SVC_ASSOCIATION_RECORD
- IBA Base: Constants/IB_MAD_ATTR_SWITCH_INFO
- IBA Base: Constants/IB_MAD_ATTR_TEST_DEVICE_LOOP
- IBA Base: Constants/IB_MAD_ATTR_TEST_DEVICE_ONCE
- IBA Base: Constants/IB_MAD_ATTR_TRACE_RECORD
- IBA Base: Constants/IB_MAD_ATTR_VENDOR_DIAG
- IBA Base: Constants/IB_MAD_ATTR_VLARB_RECORD
- IBA Base: Constants/IB_MAD_ATTR_VL_ARBITRATION
- IBA Base: Constants/IB_MAD_METHOD_GET
- IBA Base: Constants/IB_MAD_METHOD_GETTABLE
- IBA Base: Constants/IB_MAD_METHOD_GETTABLE_RESP
- IBA Base: Constants/IB_MAD_METHOD_GET_RESP
- IBA Base: Constants/IB_MAD_METHOD_REPORT
- IBA Base: Constants/IB_MAD_METHOD_REPORT_RESP
- IBA Base: Constants/IB_MAD_METHOD_RESP_MASK
- IBA Base: Constants/IB_MAD_METHOD_SEND
- IBA Base: Constants/IB_MAD_METHOD_SET
- IBA Base: Constants/IB_MAD_METHOD_TRAP
- IBA Base: Constants/IB_MAD_METHOD_TRAP_REPRESS
- IBA Base: Constants/IB_MAD_STATUS_BUSY
- IBA Base: Constants/IB_MAD_STATUS_INVALID_FIELD
- IBA Base: Constants/IB_MAD_STATUS_REDIRECT
- IBA Base: Constants/IB_MAD_STATUS_UNSUP_CLASS_VER
- IBA Base: Constants/IB_MAD_STATUS_UNSUP_METHOD
- IBA Base: Constants/IB_MAD_STATUS_UNSUP_METHOD_ATTR
- IBA Base: Constants/IB_MAX_METHOD
- IBA Base: Constants/IB_MCAST_BLOCK_ID_MASK_HO
- IBA Base: Constants/IB_MCAST_BLOCK_SIZE
- IBA Base: Constants/IB_MCAST_MASK_SIZE
- IBA Base: Constants/IB_MCAST_MAX_BLOCK_ID
- IBA Base: Constants/IB_MCAST_POSITION_MASK_HO
- IBA Base: Constants/IB_MCAST_POSITION_MAX
- IBA Base: Constants/IB_MCAST_POSITION_SHIFT
- IBA Base: Constants/IB_MCLASS_BM
- IBA Base: Constants/IB_MCLASS_COMM_MGMT
- IBA Base: Constants/IB_MCLASS_DEV_MGMT
- IBA Base: Constants/IB_MCLASS_PERF
- IBA Base: Constants/IB_MCLASS_SNMP
- IBA Base: Constants/IB_MCLASS_SUBN_ADM
- IBA Base: Constants/IB_MCLASS_SUBN_DIR
- IBA Base: Constants/IB_MCLASS_SUBN_LID
- IBA Base: Constants/IB_MTU_TYPE
- IBA Base: Constants/IB_NODE_NUM_PORTS_MAX
- IBA Base: Constants/IB_NODE_TYPE_CA
- IBA Base: Constants/IB_NODE_TYPE_ROUTER
- IBA Base: Constants/IB_NODE_TYPE_SWITCH
- IBA Base: Constants/IB_NOTICE_NODE_TYPE_CA
- IBA Base: Constants/IB_NOTICE_NODE_TYPE_ROUTER
- IBA Base: Constants/IB_NOTICE_NODE_TYPE_SUBN_MGMT
- IBA Base: Constants/IB_NOTICE_NODE_TYPE_SWITCH
- IBA Base: Constants/IB_PATH_REC_BASE_MASK
- IBA Base: Constants/IB_PATH_REC_SELECTOR_MASK
- IBA Base: Constants/IB_PATH_SELECTOR_TYPE
- IBA Base: Constants/IB_PKEY_BASE_MASK
- IBA Base: Constants/IB_PKEY_ENTRIES_MAX
- IBA Base: Constants/IB_PKEY_MAX_BLOCKS
- IBA Base: Constants/IB_PKEY_TYPE_MASK
- IBA Base: Constants/IB_QP1_WELL_KNOWN_Q_KEY
- IBA Base: Constants/IB_SMINFO_STATE_DISCOVERING
- IBA Base: Constants/IB_SMINFO_STATE_MASTER
- IBA Base: Constants/IB_SMINFO_STATE_NOTACTIVE
- IBA Base: Constants/IB_SMINFO_STATE_STANDBY
- IBA Base: Constants/IB_SMP_DIRECTION
- IBA Base: Constants/IB_SMP_STATUS_MASK
- IBA Base: Constants/IB_SUBNET_PATH_HOPS_MAX
- IBA Base: Constants/Join States
- IBA Base: Constants/MAD_BLOCK_GRH_SIZE
- IBA Base: Constants/MAD_BLOCK_SIZE
- IBA Base: Constants/MAD_RMPP_DATA_SIZE
- IBA Base: Constants/MAD_RMPP_HDR_SIZE
- IBA Base: Constants/ib_link_states_t
- IBA Base: Types/DM_SVC_NAME
- IBA Base: Types/ib_class_port_info_t
- IBA Base: Types/ib_dm_mad_t
- IBA Base: Types/ib_get_async_event_str
- IBA Base: Types/ib_get_err_str
- IBA Base: Types/ib_get_node_type_str
- IBA Base: Types/ib_get_port_state_str
- IBA Base: Types/ib_get_wc_status_str
- IBA Base: Types/ib_gid_get_guid
- IBA Base: Types/ib_gid_get_subnet_prefix
- IBA Base: Types/ib_gid_prefix_t
- IBA Base: Types/ib_gid_set_default
- IBA Base: Types/ib_gid_t
- IBA Base: Types/ib_grh_get_ver_class_flow
- IBA Base: Types/ib_grh_set_ver_class_flow
- IBA Base: Types/ib_guid_info_t
- IBA Base: Types/ib_ioc_profile_t
- IBA Base: Types/ib_iou_info_diag_dev_id
- IBA Base: Types/ib_iou_info_option_rom
- IBA Base: Types/ib_iou_info_t
- IBA Base: Types/ib_mad_init_new
- IBA Base: Types/ib_mad_init_response
- IBA Base: Types/ib_mad_is_response
- IBA Base: Types/ib_mad_t
- IBA Base: Types/ib_member_rec_t
- IBA Base: Types/ib_net16_t
- IBA Base: Types/ib_net32_t
- IBA Base: Types/ib_net64_t
- IBA Base: Types/ib_node_info_get_local_port_num
- IBA Base: Types/ib_node_info_get_vendor_id
- IBA Base: Types/ib_node_info_t
- IBA Base: Types/ib_path_get_ipd
- IBA Base: Types/ib_path_rec_flow_lbl
- IBA Base: Types/ib_path_rec_hop_limit
- IBA Base: Types/ib_path_rec_init_local
- IBA Base: Types/ib_path_rec_mtu
- IBA Base: Types/ib_path_rec_mtu_sel
- IBA Base: Types/ib_path_rec_pkt_life
- IBA Base: Types/ib_path_rec_pkt_life_sel
- IBA Base: Types/ib_path_rec_rate
- IBA Base: Types/ib_path_rec_rate_sel
- IBA Base: Types/ib_path_rec_sl
- IBA Base: Types/ib_path_rec_t
- IBA Base: Types/ib_pkey_get_base
- IBA Base: Types/ib_pkey_is_full_member
- IBA Base: Types/ib_pkey_table_info_t
- IBA Base: Types/ib_port_info_compute_rate
- IBA Base: Types/ib_port_info_get_link_speed_sup
- IBA Base: Types/ib_port_info_get_lmc
- IBA Base: Types/ib_port_info_get_mpb
- IBA Base: Types/ib_port_info_get_mtu_cap
- IBA Base: Types/ib_port_info_get_neighbor_mtu
- IBA Base: Types/ib_port_info_get_port_state
- IBA Base: Types/ib_port_info_set_lmc
- IBA Base: Types/ib_port_info_set_neighbor_mtu
- IBA Base: Types/ib_port_info_set_op_vls
- IBA Base: Types/ib_port_info_set_port_state
- IBA Base: Types/ib_port_info_set_state_no_change
- IBA Base: Types/ib_port_info_set_timeout
- IBA Base: Types/ib_port_info_t
- IBA Base: Types/ib_rmpp_is_flag_set
- IBA Base: Types/ib_rmpp_mad_t
- IBA Base: Types/ib_sa_mad_get_payload_ptr
- IBA Base: Types/ib_sa_mad_t
- IBA Base: Types/ib_sm_info_t
- IBA Base: Types/ib_sminfo_get_priority
- IBA Base: Types/ib_sminfo_get_state
- IBA Base: Types/ib_smp_get_payload_ptr
- IBA Base: Types/ib_smp_get_status
- IBA Base: Types/ib_smp_init_new
- IBA Base: Types/ib_smp_is_d
- IBA Base: Types/ib_smp_is_response
- IBA Base: Types/ib_smp_t
- IBA Base: Types/ib_svc_entries_t
- IBA Base: Types/ib_svc_entry_t
- IBA Base: Types/ib_switch_info_clear_state_change
- IBA Base: Types/ib_switch_info_get_state_change
- IBA Base: Types/ib_switch_info_t
- IBA Base: Types/ioc_at_slot
- Verbs/ib_async_event_t
- Verbs/ib_event_rec_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.
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;
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;
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
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.
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
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
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
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.
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
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
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
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
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;
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
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
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.
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
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
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
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;
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
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
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
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
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 */
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.
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.
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
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)
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.
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
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.
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
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;
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;
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
NAME
Constants
DESCRIPTION
The following constants are used throughout the IBA code base.
Definitions are from the InfiniBand Architecture Specification v1.1
NAME
Type Definitions
DESCRIPTION
Definitions are from the InfiniBand Architecture Specification v1.1
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
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
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
NAME
IB_DEFAULT_PKEY
DESCRIPTION
P_Key value for the default partition.
SOURCE
#define IB_DEFAULT_PKEY 0xFFFF
NAME
IB_DEFAULT_SUBNET_PREFIX
DESCRIPTION
Default subnet GID prefix.
SOURCE
#define IB_DEFAULT_SUBNET_PREFIX (CL_HTON64(0xFE80000000000000))
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
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))
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))
NAME
IB_LID_PERMISSIVE
DESCRIPTION
Permissive LID
SOURCE
#define IB_LID_PERMISSIVE 0xFFFF
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))
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))
NAME
IB_MAD_ATTR_CLASS_PORT_INFO
DESCRIPTION
ClassPortInfo attribute (13.4.8)
SOURCE
#define IB_MAD_ATTR_CLASS_PORT_INFO (CL_NTOH16(0x0001))
NAME
IB_MAD_ATTR_DIAGNOSTIC_TIMEOUT
DESCRIPTION
DiagnosticTimeout attribute (16.3.3)
SOURCE
#define IB_MAD_ATTR_DIAGNOSTIC_TIMEOUT (CL_NTOH16(0x0020))
NAME
IB_MAD_ATTR_DIAG_CODE
DESCRIPTION
DiagCode attribute (16.3.3)
SOURCE
#define IB_MAD_ATTR_DIAG_CODE (CL_NTOH16(0x0024))
NAME
IB_MAD_ATTR_GUID_INFO
DESCRIPTION
GUIDInfo attribute (14.2.5)
SOURCE
#define IB_MAD_ATTR_GUID_INFO (CL_NTOH16(0x0014))
NAME
IB_MAD_ATTR_INFORM_INFO
DESCRIPTION
InformInfo attribute (13.4.8)
SOURCE
#define IB_MAD_ATTR_INFORM_INFO (CL_NTOH16(0x0003))
NAME
IB_MAD_ATTR_IO_CONTROLLER_PROFILE
DESCRIPTION
IOControllerProfile attribute (16.3.3)
SOURCE
#define IB_MAD_ATTR_IO_CONTROLLER_PROFILE (CL_NTOH16(0x0011))
NAME
IB_MAD_ATTR_IO_UNIT_INFO
DESCRIPTION
IOUnitInfo attribute (16.3.3)
SOURCE
#define IB_MAD_ATTR_IO_UNIT_INFO (CL_NTOH16(0x0010))
NAME
IB_MAD_ATTR_LED_INFO
DESCRIPTION
LedInfo attribute (14.2.5)
SOURCE
#define IB_MAD_ATTR_LED_INFO (CL_NTOH16(0x0031))
NAME
IB_MAD_ATTR_LINK_RECORD
DESCRIPTION
LinkRecord attribute (15.2.5)
SOURCE
#define IB_MAD_ATTR_LINK_RECORD (CL_NTOH16(0x0020))
NAME
IB_MAD_ATTR_LIN_FWD_TBL
DESCRIPTION
Switch linear forwarding table
SOURCE
#define IB_MAD_ATTR_LIN_FWD_TBL (CL_NTOH16(0x0019))
NAME
IB_MAD_ATTR_MCAST_FWD_TBL
DESCRIPTION
Switch multicast forwarding table
SOURCE
#define IB_MAD_ATTR_MCAST_FWD_TBL (CL_NTOH16(0x001B))
NAME
IB_MAD_ATTR_MCMEMBER_RECORD
DESCRIPTION
MCMemberRecord attribute (15.2.5)
SOURCE
#define IB_MAD_ATTR_MCMEMBER_RECORD (CL_NTOH16(0x0038))
NAME
IB_MAD_ATTR_MULTIPATH_RECORD
DESCRIPTION
MultiPath attribute (15.2.5)
SOURCE
#define IB_MAD_ATTR_MULTIPATH_RECORD (CL_NTOH16(0x003A))
NAME
IB_MAD_ATTR_NODE_DESC
DESCRIPTION
NodeDescription attribute (14.2.5)
SOURCE
#define IB_MAD_ATTR_NODE_DESC (CL_NTOH16(0x0010))
NAME
IB_MAD_ATTR_NODE_INFO
DESCRIPTION
NodeInfo attribute (14.2.5)
SOURCE
#define IB_MAD_ATTR_NODE_INFO (CL_NTOH16(0x0011))
NAME
IB_MAD_ATTR_NODE_RECORD
DESCRIPTION
NodeRecord attribute (15.2.5)
SOURCE
#define IB_MAD_ATTR_NODE_RECORD (CL_NTOH16(0x0011))
NAME
IB_MAD_ATTR_NOTICE
DESCRIPTION
Notice attribute (13.4.8)
SOURCE
#define IB_MAD_ATTR_NOTICE (CL_NTOH16(0x0002))
NAME
IB_MAD_ATTR_PATH_RECORD
DESCRIPTION
PathRecord attribute (15.2.5)
SOURCE
#define IB_MAD_ATTR_PATH_RECORD (CL_NTOH16(0x0035))
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))
NAME
IB_MAD_ATTR_PORTINFO_RECORD
DESCRIPTION
PortInfoRecord attribute (15.2.5)
SOURCE
#define IB_MAD_ATTR_PORTINFO_RECORD (CL_NTOH16(0x0012))
NAME
IB_MAD_ATTR_PORT_CNTRS
DESCRIPTION
SwitchInfo attribute (16.1.2)
SOURCE
#define IB_MAD_ATTR_PORT_CNTRS (CL_NTOH16(0x0012))
NAME
IB_MAD_ATTR_PORT_INFO
DESCRIPTION
PortInfo attribute (14.2.5)
SOURCE
#define IB_MAD_ATTR_PORT_INFO (CL_NTOH16(0x0015))
NAME
IB_MAD_ATTR_PORT_SMPL_RSLT
DESCRIPTION
NodeInfo attribute (16.1.2)
SOURCE
#define IB_MAD_ATTR_PORT_SMPL_RSLT (CL_NTOH16(0x0011))
NAME
IB_MAD_ATTR_PREPARE_TO_TEST
DESCRIPTION
PrepareToTest attribute (16.3.3)
SOURCE
#define IB_MAD_ATTR_PREPARE_TO_TEST (CL_NTOH16(0x0021))
NAME
IB_MAD_ATTR_P_KEY_TABLE
DESCRIPTION
PartitionTable attribute (14.2.5)
SOURCE
#define IB_MAD_ATTR_P_KEY_TABLE (CL_NTOH16(0x0016))
NAME
IB_MAD_ATTR_RND_FWD_TBL
DESCRIPTION
Switch random forwarding table
SOURCE
#define IB_MAD_ATTR_RND_FWD_TBL (CL_NTOH16(0x001A))
NAME
IB_MAD_ATTR_SERVICE_ENTRIES
DESCRIPTION
ServiceEntries attribute (16.3.3)
SOURCE
#define IB_MAD_ATTR_SERVICE_ENTRIES (CL_NTOH16(0x0012))
NAME
IB_MAD_ATTR_SERVICE_RECORD
DESCRIPTION
ServiceRecord attribute (15.2.5)
SOURCE
#define IB_MAD_ATTR_SERVICE_RECORD (CL_NTOH16(0x0031))
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))
NAME
IB_MAD_ATTR_SMINFO_RECORD
DESCRIPTION
SmInfoRecord attribute (15.2.5)
SOURCE
#define IB_MAD_ATTR_SMINFO_RECORD (CL_NTOH16(0x0018))
NAME
IB_MAD_ATTR_SM_INFO
DESCRIPTION
SMInfo attribute (14.2.5)
SOURCE
#define IB_MAD_ATTR_SM_INFO (CL_NTOH16(0x0020))
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))
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))
NAME
IB_MAD_ATTR_SWITCH_INFO
DESCRIPTION
SwitchInfo attribute (14.2.5)
SOURCE
#define IB_MAD_ATTR_SWITCH_INFO (CL_NTOH16(0x0012))
NAME
IB_MAD_ATTR_TEST_DEVICE_LOOP
DESCRIPTION
TestDeviceLoop attribute (16.3.3)
SOURCE
#define IB_MAD_ATTR_TEST_DEVICE_LOOP (CL_NTOH16(0x0023))
NAME
IB_MAD_ATTR_TEST_DEVICE_ONCE
DESCRIPTION
TestDeviceOnce attribute (16.3.3)
SOURCE
#define IB_MAD_ATTR_TEST_DEVICE_ONCE (CL_NTOH16(0x0022))
NAME
IB_MAD_ATTR_MTRACE_RECORD
DESCRIPTION
TraceRecord attribute (15.2.5)
SOURCE
#define IB_MAD_ATTR_TRACE_RECORD (CL_NTOH16(0x0039))
NAME
IB_MAD_ATTR_VENDOR_DIAG
DESCRIPTION
VendorDiag attribute (14.2.5)
SOURCE
#define IB_MAD_ATTR_VENDOR_DIAG (CL_NTOH16(0x0030))
NAME
IB_MAD_ATTR_VLARB_RECORD
DESCRIPTION
VL Arbitration Table attribute (15.2.5)
SOURCE
#define IB_MAD_ATTR_VLARB_RECORD (CL_NTOH16(0x0036))
NAME
IB_MAD_ATTR_VL_ARBITRATION
DESCRIPTION
VL Arbitration Table attribute (14.2.5)
SOURCE
#define IB_MAD_ATTR_VL_ARBITRATION (CL_NTOH16(0x0018))
NAME
IB_MAD_METHOD_GET
DESCRIPTION
Get() Method (13.4.5)
SOURCE
#define IB_MAD_METHOD_GET 0x01
NAME
IB_MAD_METHOD_GETTABLE
DESCRIPTION
SubnAdmGetTable() Method (15.2.2)
SOURCE
#define IB_MAD_METHOD_GETTABLE 0x12
NAME
IB_MAD_METHOD_GETTABLE_RESP
DESCRIPTION
SubnAdmGetTableResp() Method (15.2.2)
SOURCE
#define IB_MAD_METHOD_GETTABLE_RESP 0x92
NAME
IB_MAD_METHOD_GET_RESP
DESCRIPTION
GetResp() Method (13.4.5)
SOURCE
#define IB_MAD_METHOD_GET_RESP 0x81
NAME
IB_MAD_METHOD_REPORT
DESCRIPTION
Report() Method (13.4.5)
SOURCE
#define IB_MAD_METHOD_REPORT 0x06
NAME
IB_MAD_METHOD_REPORT_RESP
DESCRIPTION
ReportResp() Method (13.4.5)
SOURCE
#define IB_MAD_METHOD_REPORT_RESP 0x86
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
NAME
IB_MAD_METHOD_SEND
DESCRIPTION
Send() Method (13.4.5)
SOURCE
#define IB_MAD_METHOD_SEND 0x03
NAME
IB_MAD_METHOD_SET
DESCRIPTION
Set() Method (13.4.5)
SOURCE
#define IB_MAD_METHOD_SET 0x02
NAME
IB_MAD_METHOD_TRAP
DESCRIPTION
Trap() Method (13.4.5)
SOURCE
#define IB_MAD_METHOD_TRAP 0x05
NAME
IB_MAD_METHOD_TRAP_REPRESS
DESCRIPTION
TrapRepress() Method (13.4.5)
SOURCE
#define IB_MAD_METHOD_TRAP_REPRESS 0x07
NAME
IB_MAD_STATUS_BUSY
DESCRIPTION
Temporarily busy, MAD discarded (13.4.7)
SOURCE
#define IB_MAD_STATUS_BUSY (CL_HTON16(0x0001))
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))
NAME
IB_MAD_STATUS_REDIRECT
DESCRIPTION
QP Redirection required (13.4.7)
SOURCE
#define IB_MAD_STATUS_REDIRECT (CL_HTON16(0x0002))
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))
NAME
IB_MAD_STATUS_UNSUP_METHOD
DESCRIPTION
Unsupported method (13.4.7)
SOURCE
#define IB_MAD_STATUS_UNSUP_METHOD (CL_HTON16(0x0008))
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))
NAME
IB_MAX_METHOD
DESCRIPTION
Total number of methods available to a class, not including the R-bit.
SOURCE
#define IB_MAX_METHODS 128
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
NAME
IB_MCAST_BLOCK_SIZE
DESCRIPTION
Number of port mask entries in a multicast forwarding table block.
SOURCE
#define IB_MCAST_BLOCK_SIZE 32
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
NAME
IB_MCAST_MAX_BLOCK_ID
DESCRIPTION
Maximum number of Multicast port mask blocks
SOURCE
#define IB_MCAST_MAX_BLOCK_ID 511
NAME
IB_MCAST_POSITION_MASK_HO
DESCRIPTION
Mask (host order) to recover the multicast block position.
SOURCE
#define IB_MCAST_POSITION_MASK_HO 0xF0000000
NAME
IB_MCAST_POSITION_MAX
DESCRIPTION
Maximum value for the multicast block position.
SOURCE
#define IB_MCAST_POSITION_MAX 0xF
NAME
IB_MCAST_POSITION_SHIFT
DESCRIPTION
Shift value to normalize the multicast block position value.
SOURCE
#define IB_MCAST_POSITION_SHIFT 28
NAME
IB_MCLASS_BM
DESCRIPTION
Subnet Management Class, Baseboard Manager (13.4.4)
SOURCE
#define IB_MCLASS_BM 0x05
NAME
IB_MCLASS_COMM_MGMT
DESCRIPTION
Subnet Management Class, Communication Management (13.4.4)
SOURCE
#define IB_MCLASS_COMM_MGMT 0x07
NAME
IB_MCLASS_DEV_MGMT
DESCRIPTION
Subnet Management Class, Device Management (13.4.4)
SOURCE
#define IB_MCLASS_DEV_MGMT 0x06
NAME
IB_MCLASS_PERF
DESCRIPTION
Subnet Management Class, Performance Manager (13.4.4)
SOURCE
#define IB_MCLASS_PERF 0x04
NAME
IB_MCLASS_SNMP
DESCRIPTION
Subnet Management Class, SNMP Tunneling (13.4.4)
SOURCE
#define IB_MCLASS_SNMP 0x08
NAME
IB_MCLASS_SUBN_ADM
DESCRIPTION
Subnet Management Class, Subnet Administration (13.4.4)
SOURCE
#define IB_MCLASS_SUBN_ADM 0x03
NAME
IB_MCLASS_SUBN_DIR
DESCRIPTION
Subnet Management Class, Subnet Manager directed route (13.4.4)
SOURCE
#define IB_MCLASS_SUBN_DIR 0x81
NAME
IB_MCLASS_SUBN_LID
DESCRIPTION
Subnet Management Class, Subnet Manager LID routed (13.4.4)
SOURCE
#define IB_MCLASS_SUBN_LID 0x01
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
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
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
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
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
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))
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))
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))
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))
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
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
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
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))
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)
NAME
IB_PKEY_MAX_BLOCKS
DESCRIPTION
Maximum number of PKEY blocks (14.2.5.7).
SOURCE
#define IB_PKEY_MAX_BLOCKS 2048
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))
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)
NAME
IB_SMINFO_STATE_DISCOVERING
DESCRIPTION
Encoded state value used in the SMInfo attribute.
SOURCE
#define IB_SMINFO_STATE_DISCOVERING 1
NAME
IB_SMINFO_STATE_MASTER
DESCRIPTION
Encoded state value used in the SMInfo attribute.
SOURCE
#define IB_SMINFO_STATE_MASTER 3
NAME
IB_SMINFO_STATE_NOTACTIVE
DESCRIPTION
Encoded state value used in the SMInfo attribute.
SOURCE
#define IB_SMINFO_STATE_NOTACTIVE 0
NAME
IB_SMINFO_STATE_STANDBY
DESCRIPTION
Encoded state value used in the SMInfo attribute.
SOURCE
#define IB_SMINFO_STATE_STANDBY 2
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))
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))
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
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
NAME
MAD_BLOCK_GRH_SIZE
DESCRIPTION
Size of a MAD datagram, including the GRH.
SOURCE
#define MAD_BLOCK_GRH_SIZE 296
NAME
MAD_BLOCK_SIZE
DESCRIPTION
Size of a non-RMPP MAD datagram.
SOURCE
#define MAD_BLOCK_SIZE 256
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)
NAME
MAD_RMPP_HDR_SIZE
DESCRIPTION
Size of an RMPP header, including the common MAD header.
SOURCE
#define MAD_RMPP_HDR_SIZE 36
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
NAME
DM_SVC_NAME
DESCRIPTION
IBA defined Device Management service name (16.3)
SYNOPSIS
#define DM_SVC_NAME "DeviceManager.IBTA"
SEE ALSO
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
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
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
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
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
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
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
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
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
NAME
ib_gid_prefix_t
DESCRIPTION
SOURCE
typedef ib_net64_t ib_gid_prefix_t;
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
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
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
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
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>
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
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
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
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
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
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
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
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
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
NAME
ib_net16_t
DESCRIPTION
Defines the network ordered type for 16-bit values.
SOURCE
typedef uint16_t ib_net16_t;
NAME
ib_net32_t
DESCRIPTION
Defines the network ordered type for 32-bit values.
SOURCE
typedef uint32_t ib_net32_t;
NAME
ib_net64_t
DESCRIPTION
Defines the network ordered type for 64-bit values.
SOURCE
typedef uint64_t ib_net64_t;
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
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
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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
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
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
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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
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;
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;