Re: ib_create_qp failing
From: Leon Romanovsky <hidden>
Date: 2018-01-31 13:58:15
On Tue, Jan 30, 2018 at 10:30:13AM +0200, Joel Nider wrote:
Hi Mark, Mark Bloch [off-list ref] wrote on 29/01/2018 22:47:04:quoted
quoted
I am using ConnectX5 EN with special firmware (I just mention it soyouquoted
quoted
know, but I'm pretty sure that's not the problem). I have useddynamicquoted
quoted
debug - it shows me that the call is failing like this: mlx5_core 0000:01:00.0: mlx5_cmd_check:714:(pid 120772):CREATE_QP(0x500)quoted
quoted
op_mod(0x0) failed, status bad parameter(0x3), syndrome (0x48b5c0)The syndrome means: "create_qp: invalid service type for RoCE" what QP type are you trying to create and with what parameters?I'm trying to create an RC connection - here is an outline of my code: In module_init(): ib_register_client() -> registers callback on_device_add() On_device_add(): I only have one device (mlx5_0) and I save the ib_device* to a linked list From sysfs, a user writes the name (string) of the device to use - this starts the setup procedure ib_register_event_handler(rpf_ib_qp_event_handler) ib_query_port(dev, 1) -> state=4 max_mtu=4096 active_mtu=1024 gid_len=256 caps=0x4010000 ib_create_cq() -> rx completion queue ib_create_cq() -> tx completion queue ib_alloc_pd() -> the protection domain ib_create_qp() with: struct ib_qp_init_attr qp_attr = { .event_handler = rpf_ib_qp_event_handler, .qp_context = res, .send_cq = res->tx_cq, .recv_cq = res->rx_cq, .srq = NULL, .cap = { .max_send_wr = 16, .max_recv_wr = 48, .max_send_sge = 2, .max_recv_sge = 1, }, .sq_sig_type = IB_SIGNAL_REQ_WR, .qp_type = IB_QPT_RC, }; Fails with the code I mentioned earlier. This used to fail even earlier until I discovered that ib_query_port() has some interesting side effects, and is mandatory. Maybe there is some other function that I need to call to set up some state first?
We strongly recommend you to contact the customer support representative, because you are getting FW error from custom FW. Thanks
Attachments
- signature.asc [application/pgp-signature] 833 bytes