NAME |SYNOPSIS |DESCRIPTION |ARGUMENTS |RETURN VALUE |ERRORS |EXAMPLE |SEE ALSO |AUTHORS |COLOPHON | |
ibv_cre...counters(3) Libibverbs Programmer’s Manualibv_cre...counters(3)ibv_create_counters,ibv_destroy_counters- Create or destroy a counters handle
#include <infiniband/verbs.h> struct ibv_counters * ibv_create_counters(struct ibv_context *context, struct ibv_counters_init_attr *init_attr); int ibv_destroy_counters(struct ibv_counters *counters);
ibv_create_counters() creates a new counters handle for the RDMA device context. An ibv_counters handle can be attached to a verbs resource (e.g.: QP, WQ, Flow) statically when these are created. For example attach an ibv_counters statically to a Flow (struct ibv_flow) during creation of a new Flow by callingibv_create_flow(). Counters are cleared upon creation and values will be monotonically increasing.ibv_destroy_counters() releases the counters handle, user should detach the counters object before destroying it.
context RDMA device context to create the counters on.init_attr Is an ibv_counters_init_attr struct, as defined in verbs.h.init_attrArgument struct ibv_counters_init_attr { int comp_mask; };comp_mask Bitmask specifying what fields in the structure are valid.ibv_create_counters() returns a pointer to the allocated ibv_counters object, or NULL if the request fails (and sets errno to indicate the failure reason)ibv_destroy_counters() returns 0 on success, or the value of errno on failure (which indicates the failure reason)
EOPNOTSUPPibv_create_counters() is not currently supported on this device (ENOSYS may sometimes be returned by old versions of libibverbs). ENOMEMibv_create_counters() could not create ibv_counters object, not enough memory EINVAL invalid parameter suppliedibv_destroy_counters()
An example of use of ibv_counters is shown inibv_read_counters
ibv_attach_counters_point_flow,ibv_read_counters,ibv_create_flow
Raed Salem ⟨raeds@mellanox.com⟩ Alex Rosenbaum ⟨alexr@mellanox.com⟩
This page is part of therdma-core (RDMA Core Userspace Libraries and Daemons) project. Information about the project can be found at ⟨https://github.com/linux-rdma/rdma-core⟩. If you have a bug report for this manual page, send it to linux-rdma@vger.kernel.org. This page was obtained from the project's upstream Git repository ⟨https://github.com/linux-rdma/rdma-core.git⟩ on 2025-08-11. (At that time, the date of the most recent commit that was found in the repository was 2025-08-04.) If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up-to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which isnot part of the original manual page), send a mail to man-pages@man7.orglibibverbs 2018-04-02ibv_cre...counters(3)HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |