ibv_modify_qp_rate_limit(3) — Linux manual page



NAME         top

       ibv_modify_qp_rate_limit  - modify the send rate limits attributes of
       a queue pair (QP)

SYNOPSIS         top

       #include <infiniband/verbs.h>

       int ibv_modify_qp_rate_limit(struct ibv_qp *qp, struct ibv_qp_rate_limit_attr *attr);

DESCRIPTION         top

       ibv_modify_qp_rate_limit() modifies the send rate limiting packet
       pacing attributes of QP qp with the attributes in attr.  The argument
       attr is an ibv_qp_rate_limit_attr struct, as defined in

       The rate_limit defines the MAX send rate this QP will send as long as
       the link in not blocked and there are work requests in send queue.

       Finer control for shaping the rate limit of a QP is achieved by
       defining the max_burst_sz, single burst max bytes size and the
       typical_pkt_sz, typical packet bytes size. These allow the device to
       adjust the inter-burst gap delay required to correctly shape the
       scheduling of sends to the wire in order to reach for requested
       application requirements.

       Setting a value of 0 for max_burst_sz or typical_pkt_sz will use the
       devices defaults.  typical_pkt_sz will default to the port's MTU

       struct ibv_qp_rate_limit_attr {
               uint32_t        rate_limit;     /* kbps */
               uint32_t        max_burst_sz;   /* bytes */
               uint16_t        typical_pkt_sz; /* bytes */

RETURN VALUE         top

       ibv_modify_qp_rate_limit() returns 0 on success, or the value of
       errno on failure (which indicates the failure reason).

ERRORS         top

       Invalid arguments.

       Function is not implemented for this device.  (ENOSYS may sometimes
       be returned by old versions of libibverbs).

SEE ALSO         top

       ibv_create_qp(3), ibv_destroy_qp(3), ibv_modify_qp(3),

AUTHORS         top

       Alex Rosenbaum <alexr@mellanox.com>

       Bodong Wang <bodong@mellanox.com>

COLOPHON         top

       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 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 2020-06-09.  (At
       that time, the date of the most recent commit that was found in the
       repository was 2020-06-05.)  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 man-pages@man7.org

libibverbs                       2018-01-09      IBV_MODIFY_QP_RATE_LIMIT(3)