ibv_query_gid_table - query an InfiniBand device's GID table
#include <infiniband/verbs.h> ssize_t ibv_query_gid_table(struct ibv_context *context, struct ibv_gid_entry *entries, size_t max_entries, uint32_t flags);
ibv_query_gid_table() returns the valid GID table entries of the RDMA device context context at the pointer entries.
A caller must allocate entries array for the GID table entries it desires to query. This API returns only valid GID table entries.
A caller must pass non zero number of entries at max_entries that corresponds to the size of entries array.
entries array must be allocated such that it can contain all the valid GID table entries of the device. If there are more valid GID entries than the provided value of max_entries and entries array, the call will fail. For example, if an RDMA device context has a total of 10 valid GID entries, entries should be allocated for at least 10 entries, and max_entries should be set appropriately.
ibv_query_gid_table() returns the number of entries that were read on success or negative errno value on error. Number of entries returned is <= max_entries.
ibv_open_device(3), ibv_query_device(3), ibv_query_port(3), ibv_query_gid_ex(3)
Parav Pandit <parav@nvidia.com>