Queries the attributes of an RDMA port.
Syntax
#include <rdma/verbs.h>
int ibv_query_port(struct ibv_context *context, uint8_t port_num, struct ibv_port_attr *port_attr)
 
 
Description
The ibv_query_port() routine
returns the attributes of port port_num for device context context through
the pointer port_attr. The parameter port_attr is an
ibv_port_attr struct, as defined in <rdma/verbs.h>.
struct
ibv_port_attr:
		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 */ 
}; 
 
 
Input Parameters
| context | 
struct ibv_context from ibv_open_device. | 
| port_num | 
physical port number (1 is the first port) | 
 
 
Output Parameter
| port_attr | 
struct ibv_port_attr containing port attributes. | 
 
 
Return Values
| 0 | 
On success. | 
| errno | 
On failure. | 
| EINVAL | 
If context parameter or port_attr is
NULL |