mbox series

[RFC,iproute2-next,0/2] Add optional-counters binding support

Message ID 20250304144621.207187-1-phaddad@nvidia.com (mailing list archive)
Headers show
Series Add optional-counters binding support | expand

Message

Patrisious Haddad March 4, 2025, 2:46 p.m. UTC
Add optional-counters binding support together with new packets/bytes
counters. Previously optional-counters were on a per link basis, this
series allows users to bind optional-counters to a specific counter,
which allows tracking optional-counter over a specific QP group.

The support is added for both binding modes, automatic and manual,
in both cases the bound optional counters are those that are currently
configured over the link when trying to bind the QP.

In addition introduce four new optional-counters :
rdma_tx_bytes, rdma_tx_packets, rdma_rx_bytes, rdma_rx_packets
That just as their name implies allow tracking RDMA egress and ingress
traffic.

This is exposed to users through the iproute2 package which needs to be
updated as well to provide the support for this feature.

Example commands:
- rdma stat set link rocep8s0f0/1 optional-counters
  rdma_tx_bytes,rdma_rx_packets
        Enables rdma_tx_bytes and rdma_rx_packets optional-counters over
        the link.

- rdma stat qp set link rocep8s0f0/1 auto type on optional-counters on
        Enabled link automatic counter binding for QPs of same type,
        with optional-counter binding support.

- rdma stat qp bind link rocep8s0f0/1 lqpn 134
        Manually bind QP number 134 to all available counters.

- rdma stat qp bind link rocep8s0f0/1 lqpn 134 cntn 4
        Manually bind QP number 134 to counter number 4 depending on its
        configured counters.

Thanks

Patrisious Haddad (2):
  rdma: update uapi headers
  rdma: Add optional-counter option to rdma stat bind commands

 man/man8/rdma-statistic.8             |  6 ++++
 rdma/include/uapi/rdma/rdma_netlink.h |  2 ++
 rdma/stat.c                           | 50 +++++++++++++++++++++++++--
 rdma/utils.c                          |  1 +
 4 files changed, 57 insertions(+), 2 deletions(-)