|
NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | RETURN VALUE | ERRORS | NOTES | EXAMPLE | SEE ALSO | AUTHORS | COLOPHON |
|
|
|
ibv_att...nt_flow(3) Libibverbs Programmer’s Manual ibv_att...nt_flow(3)
ibv_attach_counters_point_flow - attach individual counter
definition to a flow object
#include <infiniband/verbs.h>
int ibv_attach_counters_point_flow(struct ibv_counters *counters,
struct ibv_counter_attach_attr *counter_attach_attr,
struct ibv_flow *flow);
Attach counters point are a family of APIs to attach individual
counter description definition to a verb object at a specific
index location.
Counters object will start collecting values after it is bound to
the verb object resource.
A static attach can be created when NULL is provided instead of
the reference to the verbs object (e.g.: in case of flow providing
NULL instead of flow). In this case, this counters object will
only start collecting values after it is bound to the verbs
resource, for flow this is when referencing the counters handle
when creating a flow with ibv_create_flow().
Once an ibv_counters is bound statically to a verbs resource, no
additional attach is allowed till the counter object is not bound
to any verb object.
The argument counter_desc specifies which counter value should be
collected. It is defined in verbs.h as one of the enum
ibv_counter_description options.
Supported capabilities of specific counter_desc values per verbs
object can be tested by checking the return value for success or
ENOTSUP errno.
Attaching a counters handle to multiple objects of the same type
will accumulate the values into a single index. e.g.: creating
several ibv_flow(s) with the same ibv_counters handle will collect
the values from all relevant flows into the relevant index
location when reading the values from ibv_read_counters(), setting
the index more than once with different or same counter_desc will
aggregate the values from all relevant counters into the relevant
index location.
The runtime values of counters can be read from the hardware by
calling ibv_read_counters().
counters
Existing counters to attach new counter point on.
counter_attach_attr
An ibv_counter_attach_attr struct, as defined in verbs.h.
flow Existing flow to attach a new counters point on (in static
mode it must be NULL).
counter_attach_attr Argument
struct ibv_counter_attach_attr {
enum ibv_counter_description counter_desc;
uint32_t index;
uint32_t comp_mask;
};
counter_desc Argument
enum ibv_counter_description {
IBV_COUNTER_PACKETS,
IBV_COUNTER_BYTES,
};
index Desired location of the specific counter at the counters
object.
comp_mask
Bitmask specifying what fields in the structure are valid.
ibv_attach_counters_point_flow() returns 0 on success, or the
value of errno on failure (which indicates the failure reason)
EINVAL invalid argument(s) passed
ENOTSUP
counter_desc is not supported on the requested object
EBUSY the counter object is already bound to a flow, additional
attach calls is not allowed (valid for static attach only)
ENOMEM not enough memory
Counter values in each index location are cleared upon creation
when calling ibv_create_counters(). Attaching counters points
will only increase these values accordingly.
An example of use of ibv_attach_counters_point_flow() is shown in
ibv_read_counters
ibv_create_counters, ibv_destroy_counters, ibv_read_counters,
ibv_create_flow
Raed Salem ⟨[email protected]⟩
Alex Rosenbaum ⟨[email protected]⟩
This page is part of the rdma-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
[email protected]. 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 is not part of the original manual page), send a mail to
[email protected]
libibverbs 2018-04-02 ibv_att...nt_flow(3)