Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ set(PACKAGE_VERSION "65.0")
# When this is changed the values in these files need changing too:
# debian/control
# debian/libibverbs1.symbols
set(IBVERBS_PABI_VERSION "64")
set(IBVERBS_PABI_VERSION "65")
set(IBVERBS_PROVIDER_SUFFIX "-rdmav${IBVERBS_PABI_VERSION}.so")

#-------------------------
Expand Down
2 changes: 1 addition & 1 deletion debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ Section: libs
Pre-Depends: ${misc:Pre-Depends}
Depends: adduser, ${misc:Depends}, ${shlibs:Depends}
Recommends: ibverbs-providers
Breaks: ibverbs-providers (<< 64~)
Breaks: ibverbs-providers (<< 65~)
Description: Library for direct userspace use of RDMA (InfiniBand/iWARP)
libibverbs is a library that allows userspace processes to use RDMA
"verbs" as described in the InfiniBand Architecture Specification and
Expand Down
2 changes: 2 additions & 0 deletions debian/ibverbs-providers.symbols
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ libefa.so.1 ibverbs-providers #MINVER#
EFA_1.4@EFA_1.4 59
EFA_1.5@EFA_1.5 63
EFA_1.6@EFA_1.6 64
EFA_1.7@EFA_1.7 65
efadv_create_driver_qp@EFA_1.0 24
efadv_create_qp_ex@EFA_1.1 26
efadv_query_device@EFA_1.1 26
Expand All @@ -200,6 +201,7 @@ libefa.so.1 ibverbs-providers #MINVER#
efadv_get_max_sq_depth@EFA_1.5 63
efadv_get_max_rq_depth@EFA_1.5 63
efadv_qp_from_ibv_qp_ex@EFA_1.6 64
efadv_create_comp_cntr@EFA_1.7 65
libhns.so.1 ibverbs-providers #MINVER#
* Build-Depends-Package: libibverbs-dev
HNS_1.0@HNS_1.0 51
Expand Down
12 changes: 11 additions & 1 deletion debian/libibverbs1.symbols
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ libibverbs.so.1 libibverbs1 #MINVER#
IBVERBS_1.16@IBVERBS_1.16 62
IBVERBS_1.17@IBVERBS_1.17 64
IBVERBS_1.18@IBVERBS_1.18 65
(symver)IBVERBS_PRIVATE_64 64
(symver)IBVERBS_PRIVATE_65 65
_ibv_query_comp_cntr_caps@IBVERBS_1.18 65
_ibv_query_gid_ex@IBVERBS_1.11 32
_ibv_query_gid_table@IBVERBS_1.11 32
ibv_ack_async_event@IBVERBS_1.0 1.1.6
Expand All @@ -39,6 +40,7 @@ libibverbs.so.1 libibverbs1 #MINVER#
ibv_create_ah@IBVERBS_1.1 1.1.6
ibv_create_ah_from_wc@IBVERBS_1.1 1.1.6
ibv_create_comp_channel@IBVERBS_1.0 1.1.6
ibv_create_comp_cntr@IBVERBS_1.18 65
ibv_create_cq@IBVERBS_1.0 1.1.6
ibv_create_cq@IBVERBS_1.1 1.1.6
ibv_create_qp@IBVERBS_1.0 1.1.6
Expand All @@ -53,6 +55,7 @@ libibverbs.so.1 libibverbs1 #MINVER#
ibv_destroy_ah@IBVERBS_1.0 1.1.6
ibv_destroy_ah@IBVERBS_1.1 1.1.6
ibv_destroy_comp_channel@IBVERBS_1.0 1.1.6
ibv_destroy_comp_cntr@IBVERBS_1.18 65
ibv_destroy_cq@IBVERBS_1.0 1.1.6
ibv_destroy_cq@IBVERBS_1.1 1.1.6
ibv_destroy_qp@IBVERBS_1.0 1.1.6
Expand Down Expand Up @@ -87,6 +90,8 @@ libibverbs.so.1 libibverbs1 #MINVER#
ibv_import_dm@IBVERBS_1.13 35
ibv_import_mr@IBVERBS_1.10 31
ibv_import_pd@IBVERBS_1.10 31
ibv_inc_comp_cntr@IBVERBS_1.18 65
ibv_inc_err_comp_cntr@IBVERBS_1.18 65
ibv_init_ah_from_wc@IBVERBS_1.1 1.1.6
ibv_is_fork_initialized@IBVERBS_1.13 35
ibv_modify_qp@IBVERBS_1.0 1.1.6
Expand All @@ -97,6 +102,7 @@ libibverbs.so.1 libibverbs1 #MINVER#
ibv_open_device@IBVERBS_1.0 1.1.6
ibv_open_device@IBVERBS_1.1 1.1.6
ibv_port_state_str@IBVERBS_1.1 1.1.6
ibv_qp_attach_comp_cntr@IBVERBS_1.18 65
ibv_qp_to_qp_ex@IBVERBS_1.6 24
ibv_query_device@IBVERBS_1.0 1.1.6
ibv_query_device@IBVERBS_1.1 1.1.6
Expand All @@ -115,6 +121,8 @@ libibverbs.so.1 libibverbs1 #MINVER#
ibv_query_srq@IBVERBS_1.1 1.1.6
ibv_rate_to_mbps@IBVERBS_1.1 1.1.8
ibv_rate_to_mult@IBVERBS_1.0 1.1.6
ibv_read_comp_cntr@IBVERBS_1.18 65
ibv_read_err_comp_cntr@IBVERBS_1.18 65
ibv_read_sysfs_file@IBVERBS_1.0 1.1.6
ibv_reg_buf_mr@IBVERBS_1.17 64
ibv_reg_dmabuf_mr@IBVERBS_1.12 34
Expand All @@ -128,7 +136,9 @@ libibverbs.so.1 libibverbs1 #MINVER#
ibv_resize_cq@IBVERBS_1.0 1.1.6
ibv_resize_cq@IBVERBS_1.1 1.1.6
ibv_resolve_eth_l2_from_gid@IBVERBS_1.1 1.2.0
ibv_set_comp_cntr@IBVERBS_1.18 65
ibv_set_ece@IBVERBS_1.10 31
ibv_set_err_comp_cntr@IBVERBS_1.18 65
ibv_unimport_dm@IBVERBS_1.13 35
ibv_unimport_mr@IBVERBS_1.10 31
ibv_unimport_pd@IBVERBS_1.10 31
Expand Down
6 changes: 6 additions & 0 deletions kernel-headers/rdma/efa-abi.h
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ enum {
EFA_QUERY_DEVICE_CAPS_RDMA_WRITE = 1 << 5,
EFA_QUERY_DEVICE_CAPS_UNSOLICITED_WRITE_RECV = 1 << 6,
EFA_QUERY_DEVICE_CAPS_CQ_WITH_EXT_MEM = 1 << 7,
EFA_QUERY_DEVICE_CAPS_COMP_CNTR = 1 << 8,
};

struct efa_ibv_ex_query_device_resp {
Expand Down Expand Up @@ -163,4 +164,9 @@ enum efa_mr_methods {
EFA_IB_METHOD_MR_QUERY = (1U << UVERBS_ID_NS_SHIFT),
};

enum efa_comp_cntr_create_attrs {
EFA_IB_ATTR_CREATE_COMP_CNTR_COMP_BUFFER = (1U << UVERBS_ID_NS_SHIFT),
EFA_IB_ATTR_CREATE_COMP_CNTR_ERR_BUFFER,
};

#endif /* EFA_ABI_USER_H */
43 changes: 43 additions & 0 deletions kernel-headers/rdma/ib_user_ioctl_cmds.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ enum uverbs_default_objects {
UVERBS_OBJECT_ASYNC_EVENT,
UVERBS_OBJECT_DMAH,
UVERBS_OBJECT_DMABUF,
UVERBS_OBJECT_COMP_CNTR,
};

enum {
Expand All @@ -75,6 +76,7 @@ enum uverbs_methods_device {
UVERBS_METHOD_QUERY_GID_TABLE,
UVERBS_METHOD_QUERY_GID_ENTRY,
UVERBS_METHOD_QUERY_PORT_SPEED,
UVERBS_METHOD_QUERY_COMP_CNTR_CAPS,
};

enum uverbs_attrs_invoke_write_cmd_attr_ids {
Expand All @@ -93,6 +95,12 @@ enum uverbs_attrs_query_port_speed_cmd_attr_ids {
UVERBS_ATTR_QUERY_PORT_SPEED_RESP,
};

enum uverbs_attrs_query_comp_cntr_caps_attr_ids {
UVERBS_ATTR_QUERY_COMP_CNTR_CAPS_MAX_COUNTERS,
UVERBS_ATTR_QUERY_COMP_CNTR_CAPS_MAX_VALUE,
UVERBS_ATTR_QUERY_COMP_CNTR_CAPS_SUPPORTED_QP_ATTACH_OPS,
};

enum uverbs_attrs_get_context_attr_ids {
UVERBS_ATTR_GET_CONTEXT_NUM_COMP_VECTORS,
UVERBS_ATTR_GET_CONTEXT_CORE_SUPPORT,
Expand Down Expand Up @@ -169,9 +177,16 @@ enum uverbs_attrs_destroy_qp_cmd_attr_ids {
UVERBS_ATTR_DESTROY_QP_RESP,
};

enum uverbs_attrs_qp_attach_comp_cntr_cmd_attr_ids {
UVERBS_ATTR_QP_ATTACH_COMP_CNTR_HANDLE,
UVERBS_ATTR_QP_ATTACH_COMP_CNTR_CNTR_HANDLE,
UVERBS_ATTR_QP_ATTACH_COMP_CNTR_OP_MASK,
};

enum uverbs_methods_qp {
UVERBS_METHOD_QP_CREATE,
UVERBS_METHOD_QP_DESTROY,
UVERBS_METHOD_QP_ATTACH_COMP_CNTR,
};

enum uverbs_attrs_create_srq_cmd_attr_ids {
Expand Down Expand Up @@ -438,4 +453,32 @@ enum uverbs_attrs_query_gid_entry_cmd_attr_ids {
UVERBS_ATTR_QUERY_GID_ENTRY_RESP_ENTRY,
};

enum uverbs_methods_comp_cntr {
UVERBS_METHOD_COMP_CNTR_CREATE,
UVERBS_METHOD_COMP_CNTR_DESTROY,
UVERBS_METHOD_COMP_CNTR_MODIFY,
UVERBS_METHOD_COMP_CNTR_READ,
};

enum uverbs_attrs_create_comp_cntr_cmd_attr_ids {
UVERBS_ATTR_CREATE_COMP_CNTR_HANDLE,
};

enum uverbs_attrs_destroy_comp_cntr_cmd_attr_ids {
UVERBS_ATTR_DESTROY_COMP_CNTR_HANDLE,
};

enum uverbs_attrs_modify_comp_cntr_cmd_attr_ids {
UVERBS_ATTR_MODIFY_COMP_CNTR_HANDLE,
UVERBS_ATTR_MODIFY_COMP_CNTR_ENTRY,
UVERBS_ATTR_MODIFY_COMP_CNTR_OP,
UVERBS_ATTR_MODIFY_COMP_CNTR_VALUE,
};

enum uverbs_attrs_read_comp_cntr_cmd_attr_ids {
UVERBS_ATTR_READ_COMP_CNTR_HANDLE,
UVERBS_ATTR_READ_COMP_CNTR_ENTRY,
UVERBS_ATTR_READ_COMP_CNTR_RESP_VALUE,
};

#endif
19 changes: 19 additions & 0 deletions kernel-headers/rdma/ib_user_ioctl_verbs.h
Original file line number Diff line number Diff line change
Expand Up @@ -300,4 +300,23 @@ struct ib_uverbs_buffer_desc {
__aligned_u64 length;
};

enum ib_uverbs_comp_cntr_entry {
IB_UVERBS_COMP_CNTR_ENTRY_COMP,
IB_UVERBS_COMP_CNTR_ENTRY_ERR,
};

enum ib_uverbs_comp_cntr_modify_op {
IB_UVERBS_COMP_CNTR_MODIFY_OP_SET,
IB_UVERBS_COMP_CNTR_MODIFY_OP_INC,
};

enum ib_uverbs_qp_attach_comp_cntr_op {
IB_UVERBS_QP_ATTACH_COMP_CNTR_OP_SEND = 1 << 0,
IB_UVERBS_QP_ATTACH_COMP_CNTR_OP_RECV = 1 << 1,
IB_UVERBS_QP_ATTACH_COMP_CNTR_OP_RDMA_READ = 1 << 2,
IB_UVERBS_QP_ATTACH_COMP_CNTR_OP_REMOTE_RDMA_READ = 1 << 3,
IB_UVERBS_QP_ATTACH_COMP_CNTR_OP_RDMA_WRITE = 1 << 4,
IB_UVERBS_QP_ATTACH_COMP_CNTR_OP_REMOTE_RDMA_WRITE = 1 << 5,
};

#endif
33 changes: 33 additions & 0 deletions kernel-headers/rdma/ib_user_verbs.h
Original file line number Diff line number Diff line change
Expand Up @@ -1379,4 +1379,37 @@ enum ib_uverbs_raw_packet_caps {
IB_UVERBS_RAW_PACKET_CAP_DELAY_DROP = 1 << 3,
};

/*
* struct ib_uverbs_clock_info - timecounter state shared with userspace
*
* Drivers that use a software timecounter over a free-running hardware
* cycle counter can map this page read-only into userspace, allowing
* conversion of hardware timestamps to system time without a syscall.
*
* Synchronization uses a sequence counter (@sign): the kernel sets bit 0
* before updating, then advances by 2 after. Userspace must retry the read
* if @sign is odd or changed during the read.
*
* @sign: Sequence counter (bit 0 = update in progress)
* @resv: Reserved
* @nsec: Nanoseconds at last update
* @cycles: Cycle counter value at last update
* @frac: Fractional nanoseconds at last update
* @mult: Cycle-to-nanosecond multiplier
* @shift: Cycle-to-nanosecond shift
* @mask: Cycle counter bitmask
* @overflow_period: Max interval (nsec) between reads before counter wraps
*/
struct ib_uverbs_clock_info {
__u32 sign;
__u32 resv;
__aligned_u64 nsec;
__aligned_u64 cycles;
__aligned_u64 frac;
__u32 mult;
__u32 shift;
__aligned_u64 mask;
__aligned_u64 overflow_period;
};

#endif /* IB_USER_VERBS_H */
1 change: 1 addition & 0 deletions kernel-headers/rdma/ionic-abi.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ struct ionic_ctx_resp {
__u8 expdb_qtypes;

__u8 rsvd2[3];
__aligned_u64 phc_offset;
};

struct ionic_qdesc {
Expand Down
1 change: 1 addition & 0 deletions kernel-headers/rdma/irdma-abi.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ struct irdma_create_srq_resp {
struct irdma_create_qp_req {
__aligned_u64 user_wqe_bufs;
__aligned_u64 user_compl_ctx;
__aligned_u64 legacy_dontuse[2];
};

struct irdma_mem_reg_req {
Expand Down
15 changes: 4 additions & 11 deletions kernel-headers/rdma/mlx5-abi.h
Original file line number Diff line number Diff line change
Expand Up @@ -472,17 +472,10 @@ struct mlx5_ib_modify_wq {
__u32 reserved;
};

struct mlx5_ib_clock_info {
__u32 sign;
__u32 resv;
__aligned_u64 nsec;
__aligned_u64 cycles;
__aligned_u64 frac;
__u32 mult;
__u32 shift;
__aligned_u64 mask;
__aligned_u64 overflow_period;
};
/*
* deprecated, see struct ib_uverbs_clock_info from ib_user_verbs.h
*/
#define mlx5_ib_clock_info ib_uverbs_clock_info

enum mlx5_ib_mmap_cmd {
MLX5_IB_MMAP_REGULAR_PAGE = 0,
Expand Down
5 changes: 5 additions & 0 deletions kernel-headers/rdma/rdma_netlink.h
Original file line number Diff line number Diff line change
Expand Up @@ -604,6 +604,11 @@ enum rdma_nldev_attr {
RDMA_NLDEV_ATTR_FRMR_POOL_PINNED_HANDLES, /* u32 */
RDMA_NLDEV_ATTR_FRMR_POOL_KEY_KERNEL_VENDOR_KEY, /* u64 */

/*
* Resource summary entry maximum value.
*/
RDMA_NLDEV_ATTR_RES_SUMMARY_ENTRY_MAX, /* u64 */

/*
* Always the end
*/
Expand Down
1 change: 1 addition & 0 deletions libibverbs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ rdma_library(ibverbs "${CMAKE_CURRENT_BINARY_DIR}/libibverbs.map"
cmd.c
cmd_ah.c
cmd_counters.c
cmd_comp_cntr.c
cmd_cq.c
cmd_device.c
cmd_dm.c
Expand Down
Loading