DOKK / manpages / debian 12 / libibverbs-dev / ibv_get_pkey_index.3.en
IBV_GET_PKEY_INDEX(3) Libibverbs Programmer’s Manual IBV_GET_PKEY_INDEX(3)

ibv_get_pkey_index - obtain the index in the P_Key table of a P_Key

#include <infiniband/verbs.h>
int ibv_get_pkey_index(struct ibv_context *context,

uint8_t port_num,
__be16 pkey);

Every InfiniBand HCA maintains a P_Key table for each of its ports that is indexed by an integer and with a P_Key in each element. Certain InfiniBand data structures that work with P_Keys expect a P_Key index, e.g. struct ibv_qp_attr and struct ib_mad_addr. Hence the function ibv_get_pkey_index() that accepts a P_Key in network byte order and that returns an index in the P_Key table as result.

ibv_get_pkey_index() returns the P_Key index on success, and -1 on error.

ibv_open_device(3), ibv_query_device(3), ibv_query_gid(3), ibv_query_pkey(3), ibv_query_port(3)

Bart Van Assche <bvanassche@acm.org>

2018-07-16 libibverbs