在 2019/7/23 2:07, Bart Van Assche 写道: > On 7/19/19 11:54 PM, oulijun wrote: >> I am targeting a problem about RoCE and SCSI over RDMA from srpt in kernel-4.14. When insmod srpt.ko and insmod hns-roce-hw-v2.ko, it will >> report a warning in srpt_add_one: >> ib_srpt srpt_add_one(hns_0) failed. > > How about the following patch? > > diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c > index 1a039f16d315..e2a4a14763b8 100644 > --- a/drivers/infiniband/ulp/srpt/ib_srpt.c > +++ b/drivers/infiniband/ulp/srpt/ib_srpt.c > @@ -3109,7 +3109,8 @@ static void srpt_add_one(struct ib_device *device) > srpt_use_srq(sdev, sdev->port[0].port_attrib.use_srq); > > if (!srpt_service_guid) > - srpt_service_guid = be64_to_cpu(device->node_guid); > + srpt_service_guid = be64_to_cpu(device->node_guid) & > + ~IB_SERVICE_ID_AGN_MASK; > > if (rdma_port_get_link_layer(device, 1) == IB_LINK_LAYER_INFINIBAND) > sdev->cm_id = ib_create_cm_id(device, srpt_cm_handler, sdev); > No, I did not find this patch in the latest kernel-5.3 or others. >> In addition, I analyzed a patch in kernel-4.17(IB/srpt: Add RDMA/CM support). As a result, I can understand that the previous srpt is not supported by RDMA/CM? >> So, all RoCE will failed when use kernel-4.14 version to run srpt.ko? > > That's correct. The upstream SRP drivers only support RoCE in kernel versions > v4.17 and later. > > Thanks, > > Bart. > > . >