Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ibv_query_port(3) [debian man page]

IBV_QUERY_PORT(3)					  Libibverbs Programmer's Manual					 IBV_QUERY_PORT(3)

NAME
ibv_query_port - query an RDMA port's attributes SYNOPSIS
#include <infiniband/verbs.h> int ibv_query_port(struct ibv_context *context, uint8_t port_num, struct ibv_port_attr *port_attr); DESCRIPTION
ibv_query_port() returns the attributes of port port_num for device context context through the pointer port_attr. The argument port_attr is an ibv_port_attr struct, as defined in <infiniband/verbs.h>. struct ibv_port_attr { enum ibv_port_state state; /* Logical port state */ enum ibv_mtu max_mtu; /* Max MTU supported by port */ enum ibv_mtu active_mtu; /* Actual MTU */ int gid_tbl_len; /* Length of source GID table */ uint32_t port_cap_flags; /* Port capabilities */ uint32_t max_msg_sz; /* Maximum message size */ uint32_t bad_pkey_cntr; /* Bad P_Key counter */ uint32_t qkey_viol_cntr; /* Q_Key violation counter */ uint16_t pkey_tbl_len; /* Length of partition table */ uint16_t lid; /* Base port LID */ uint16_t sm_lid; /* SM LID */ uint8_t lmc; /* LMC of LID */ uint8_t max_vl_num; /* Maximum number of VLs */ uint8_t sm_sl; /* SM service level */ uint8_t subnet_timeout; /* Subnet propagation delay */ uint8_t init_type_reply;/* Type of initialization performed by SM */ uint8_t active_width; /* Currently active link width */ uint8_t active_speed; /* Currently active link speed */ uint8_t phys_state; /* Physical port state */ uint8_t link_layer; /* link layer protocol of the port */ }; possible values for the link layer field are IBV_LINK_LAYER_INFINIBAND, IBV_LINK_LAYER_ETHERNET, or IBV_LINK_LAYER_UNSPECIFIED. RETURN VALUE
ibv_query_port() returns 0 on success, or the value of errno on failure (which indicates the failure reason). SEE ALSO
ibv_create_qp(3), ibv_destroy_qp(3), ibv_query_qp(3), ibv_create_ah(3) AUTHORS
Dotan Barak <dotanba@gmail.com> libibverbs 2006-10-31 IBV_QUERY_PORT(3)

Check Out this Related Man Page

IBV_QUERY_QP(3) 					  Libibverbs Programmer's Manual					   IBV_QUERY_QP(3)

NAME
ibv_query_qp - get the attributes of a queue pair (QP) SYNOPSIS
#include <infiniband/verbs.h> int ibv_query_qp(struct ibv_qp *qp, struct ibv_qp_attr *attr, int attr_mask, struct ibv_qp_init_attr *init_attr); DESCRIPTION
ibv_query_qp() gets the attributes specified in attr_mask for the QP qp and returns them through the pointers attr and init_attr. The argument attr is an ibv_qp_attr struct, as defined in <infiniband/verbs.h>. struct ibv_qp_attr { enum ibv_qp_state qp_state; /* Current QP state */ enum ibv_qp_state cur_qp_state; /* Current QP state - irrelevant for ibv_query_qp */ enum ibv_mtu path_mtu; /* Path MTU (valid only for RC/UC QPs) */ enum ibv_mig_state path_mig_state; /* Path migration state (valid if HCA supports APM) */ uint32_t qkey; /* Q_Key of the QP (valid only for UD QPs) */ uint32_t rq_psn; /* PSN for receive queue (valid only for RC/UC QPs) */ uint32_t sq_psn; /* PSN for send queue (valid only for RC/UC QPs) */ uint32_t dest_qp_num; /* Destination QP number (valid only for RC/UC QPs) */ int qp_access_flags; /* Mask of enabled remote access operations (valid only for RC/UC QPs) */ struct ibv_qp_cap cap; /* QP capabilities */ struct ibv_ah_attr ah_attr; /* Primary path address vector (valid only for RC/UC QPs) */ struct ibv_ah_attr alt_ah_attr; /* Alternate path address vector (valid only for RC/UC QPs) */ uint16_t pkey_index; /* Primary P_Key index */ uint16_t alt_pkey_index; /* Alternate P_Key index */ uint8_t en_sqd_async_notify; /* Enable SQD.drained async notification - irrelevant for ibv_query_qp */ uint8_t sq_draining; /* Is the QP draining? (Valid only if qp_state is SQD) */ uint8_t max_rd_atomic; /* Number of outstanding RDMA reads & atomic operations on the destination QP (valid only for RC QPs) */ uint8_t max_dest_rd_atomic; /* Number of responder resources for handling incoming RDMA reads & atomic operations (valid only for RC QPs) */ uint8_t min_rnr_timer; /* Minimum RNR NAK timer (valid only for RC QPs) */ uint8_t port_num; /* Primary port number */ uint8_t timeout; /* Local ack timeout for primary path (valid only for RC QPs) */ uint8_t retry_cnt; /* Retry count (valid only for RC QPs) */ uint8_t rnr_retry; /* RNR retry (valid only for RC QPs) */ uint8_t alt_port_num; /* Alternate port number */ uint8_t alt_timeout; /* Local ack timeout for alternate path (valid only for RC QPs) */ }; For details on struct ibv_qp_cap see the description of ibv_create_qp(). For details on struct ibv_ah_attr see the description of ibv_cre- ate_ah(). RETURN VALUE
ibv_query_qp() returns 0 on success, or the value of errno on failure (which indicates the failure reason). NOTES
The argument attr_mask is a hint that specifies the minimum list of attributes to retrieve. Some RDMA devices may return extra attributes not requested, for example if the value can be returned cheaply. This has the same form as in ibv_modify_qp(). Attribute values are valid if they have been set using ibv_modify_qp(). The exact list of valid attributes depends on the QP state. Multiple calls to ibv_query_qp() may yield some differences in the values returned for the following attributes: qp_state, path_mig_state, sq_draining, ah_attr (if APM is enabled). SEE ALSO
ibv_create_qp(3), ibv_destroy_qp(3), ibv_modify_qp(3), ibv_create_ah(3) AUTHORS
Dotan Barak <dotanba@gmail.com> libibverbs 2006-10-31 IBV_QUERY_QP(3)
Man Page