IBV_QUERY_GID_TABLE(3)

NAME

ibv_query_gid_table - query an InfiniBand device’s GID table

SYNOPSIS

    #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);

DESCRIPTION

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.

ARGUMENTS

context
    The context of the device to query.

entries
    Array of ibv_gid_entry structs where the GID entries are returned. Please see ibv_query_gid_ex(3) man page for ibv_gid_entry.

max_entries
    Maximum number of entries that can be returned.

flags
    Extra fields to query post entries->ndev_ifindex, for now must be 0.

RETURN VALUE

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.

SEE ALSO

ibv_open_device(3), ibv_query_device(3), ibv_query_port(3), ibv_query_gid_ex(3)

AUTHOR

Parav Pandit <parav@nvidia.com>