RE: Setting service level for a QP with ibv_modify_qp and RDMA_CM
From: Hefty, Sean <hidden>
Date: 2012-08-14 16:16:37
we are trying to set the service level for a QP with ibv_modify_qp, but ibv_modify_qp() returns an error (errno = EINVAL). We are using RDMA CM and use rdma_create_qp() to allocate the queue pair. After some searching in the net we found posts, which indicate that ibv_modify_qp() cannot be used to set the service level, if you are using RDMA CM. Can anybody confirm or negate this assumption and are there alternatives?
If you're using the rdmacm, you should avoid calling ibv_modify_qp directly. The library will call it on your behalf. The service level will be set automatically when the required path record is obtained. You have a couple of options for controlling this. An IP address is mapped to an IB GID and PKey. You can assign different service levels based on different PKeys. Quality/type of service can also be set by calling rdma_set_option, using RDMA_OPTION_ID_TOS. This value ends up being used in a path record query to the SA. In both cases, the SA must be configured with the QoS values. - Sean -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html