RDMA/uverbs: Expose the new GID query API to user space
Expose the query GID table and entry API to user space by adding two new methods and method handlers to the device object. 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-5-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>
This commit is contained in:

committed by
Jason Gunthorpe

parent
c4b4d548fa
commit
9f85cbe50a
@@ -70,6 +70,8 @@ enum uverbs_methods_device {
|
||||
UVERBS_METHOD_QUERY_PORT,
|
||||
UVERBS_METHOD_GET_CONTEXT,
|
||||
UVERBS_METHOD_QUERY_CONTEXT,
|
||||
UVERBS_METHOD_QUERY_GID_TABLE,
|
||||
UVERBS_METHOD_QUERY_GID_ENTRY,
|
||||
};
|
||||
|
||||
enum uverbs_attrs_invoke_write_cmd_attr_ids {
|
||||
@@ -352,4 +354,18 @@ enum uverbs_attrs_async_event_create {
|
||||
UVERBS_ATTR_ASYNC_EVENT_ALLOC_FD_HANDLE,
|
||||
};
|
||||
|
||||
enum uverbs_attrs_query_gid_table_cmd_attr_ids {
|
||||
UVERBS_ATTR_QUERY_GID_TABLE_ENTRY_SIZE,
|
||||
UVERBS_ATTR_QUERY_GID_TABLE_FLAGS,
|
||||
UVERBS_ATTR_QUERY_GID_TABLE_RESP_ENTRIES,
|
||||
UVERBS_ATTR_QUERY_GID_TABLE_RESP_NUM_ENTRIES,
|
||||
};
|
||||
|
||||
enum uverbs_attrs_query_gid_entry_cmd_attr_ids {
|
||||
UVERBS_ATTR_QUERY_GID_ENTRY_PORT,
|
||||
UVERBS_ATTR_QUERY_GID_ENTRY_GID_INDEX,
|
||||
UVERBS_ATTR_QUERY_GID_ENTRY_FLAGS,
|
||||
UVERBS_ATTR_QUERY_GID_ENTRY_RESP_ENTRY,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -251,6 +251,12 @@ enum rdma_driver_id {
|
||||
RDMA_DRIVER_SIW,
|
||||
};
|
||||
|
||||
enum ib_uverbs_gid_type {
|
||||
IB_UVERBS_GID_TYPE_IB,
|
||||
IB_UVERBS_GID_TYPE_ROCE_V1,
|
||||
IB_UVERBS_GID_TYPE_ROCE_V2,
|
||||
};
|
||||
|
||||
struct ib_uverbs_gid_entry {
|
||||
__aligned_u64 gid[2];
|
||||
__u32 gid_index;
|
||||
|
Reference in New Issue
Block a user