Provided by: libibverbs-dev_42.0-1_amd64 bug

NAME

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

SYNOPSIS

       #include <infiniband/verbs.h>

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

DESCRIPTION

       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 <infiniband/verbs.h>.

       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 value.

       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

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

ERRORS

   EINVAL
       Invalid arguments.

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

SEE ALSO

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

AUTHORS

       Alex Rosenbaum <alexr@mellanox.com>

       Bodong Wang <bodong@mellanox.com>