| .\" -*- nroff -*- | |
| .\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md | |
| .\" | |
| .TH IBV_QUERY_PORT 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual" | |
| .SH "NAME" | |
| ibv_query_port \- query an RDMA port's attributes | |
| .SH "SYNOPSIS" | |
| .nf | |
| .B #include <infiniband/verbs.h> | |
| .sp | |
| .BI "int ibv_query_port(struct ibv_context " "*context" ", uint8_t " "port_num" , | |
| .BI " struct ibv_port_attr " "*port_attr" "); | |
| .fi | |
| .SH "DESCRIPTION" | |
| .B ibv_query_port() | |
| returns the attributes of port | |
| .I port_num | |
| for device context | |
| .I context | |
| through the pointer | |
| .I port_attr\fR. | |
| The argument | |
| .I port_attr | |
| is an ibv_port_attr struct, as defined in <infiniband/verbs.h>. | |
| .PP | |
| .nf | |
| struct ibv_port_attr { | |
| .in +8 | |
| 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 if speed<XDR,NDR otherwise */ | |
| uint8_t phys_state; /* Physical port state */ | |
| uint8_t link_layer; /* link layer protocol of the port */ | |
| uint8_t flags; /* Port flags */ | |
| uint16_t port_cap_flags2;/* Port capabilities */ | |
| uint32_t active_speed_ex;/* Currently active link speed, if it is 0 refer to active_speed instead */ | |
| .in -8 | |
| }; | |
| .sp | |
| possible values for the link layer field are IBV_LINK_LAYER_INFINIBAND, | |
| IBV_LINK_LAYER_ETHERNET, or IBV_LINK_LAYER_UNSPECIFIED. | |
| .sp | |
| supported port flags: | |
| IBV_QPF_GRH_REQUIRED - When this flag is set, the applications must create all AH with GRH configured. | |
| .sp | |
| .fi | |
| .SH "RETURN VALUE" | |
| .B ibv_query_port() | |
| returns 0 on success, or the value of errno on failure (which indicates the failure reason). | |
| .SH "SEE ALSO" | |
| .BR ibv_create_qp (3), | |
| .BR ibv_destroy_qp (3), | |
| .BR ibv_query_qp (3), | |
| .BR ibv_create_ah (3) | |
| .SH "AUTHORS" | |
| .TP | |
| Dotan Barak <dotanba@gmail.com> |