summaryrefslogtreecommitdiffstats
path: root/include/rdma
diff options
context:
space:
mode:
authorAvihai Horon <avihaih@nvidia.com>2020-09-23 18:50:14 +0200
committerJason Gunthorpe <jgg@nvidia.com>2020-10-02 02:20:11 +0200
commitc4b4d548fabc15b9c5db9f61204dd0c608414d2d (patch)
tree3ed74d1c5e8f0a37da88fbad9d0febdbfb157ac3 /include/rdma
parentRDMA/core: Modify enum ib_gid_type and enum rdma_network_type (diff)
downloadlinux-c4b4d548fabc15b9c5db9f61204dd0c608414d2d.tar.xz
linux-c4b4d548fabc15b9c5db9f61204dd0c608414d2d.zip
RDMA/core: Introduce new GID table query API
Introduce rdma_query_gid_table which enables querying all the GID tables of a given device and copying the attributes of all valid GID entries to a provided buffer. This API provides a faster way to query a GID table using single call and will be used in libibverbs to improve current approach that requires multiple calls to open, close and read multiple sysfs files for a single GID table entry. Link: https://lore.kernel.org/r/20200923165015.2491894-4-leon@kernel.org Signed-off-by: Avihai Horon <avihaih@nvidia.com> Signed-off-by: Leon Romanovsky <leonro@nvidia.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'include/rdma')
-rw-r--r--include/rdma/ib_cache.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/rdma/ib_cache.h b/include/rdma/ib_cache.h
index 66a8f369a2fa..bae29f50adff 100644
--- a/include/rdma/ib_cache.h
+++ b/include/rdma/ib_cache.h
@@ -110,5 +110,8 @@ const struct ib_gid_attr *rdma_get_gid_attr(struct ib_device *device,
u8 port_num, int index);
void rdma_put_gid_attr(const struct ib_gid_attr *attr);
void rdma_hold_gid_attr(const struct ib_gid_attr *attr);
+ssize_t rdma_query_gid_table(struct ib_device *device,
+ struct ib_uverbs_gid_entry *entries,
+ size_t max_entries);
#endif /* _IB_CACHE_H */