Add support for XRC QPs

Implement the XRC APIs for libmlx4.  Hook the XRC functions as part of
mlx4_init_context(), then make relevant changes on both control and
data path to work properly with XRC.

Main changes include using verbs_qp, verbs_srq, which are extendable
based as part of calling libibverbs command API (i.e. cmd.c), managing
an XRC SRQ table for mapping between mlx4_srq and srqn, differentiating

Signed-off-by: Sean Hefty <>
Signed-off-by: Yishai Hadas <>
Signed-off-by: Roland Dreier <>
8 files changed