On Wed, Sep 20, 2023 at 08:44:52AM +0300, Leon Romanovsky wrote: > On Tue, Sep 19, 2023 at 04:08:38PM -0400, Vitaly Mayatskikh wrote: > > On Tue, Sep 19, 2023 at 4:06 PM Vitaly Mayatskikh <vitaly@xxxxxxxxxxxxx> wrote: > > > > > > On Tue, Sep 19, 2023 at 3:21 AM Leon Romanovsky <leon@xxxxxxxxxx> wrote: > > > > > > > I see that rdma_protocol_iwarp() is used in other places in cma.c too, > > > > Don't they need to be updated too? > > > > > > > > Also I see that we have check for protocol RoCE in else before the > > > > changed line, shouldn't all cma.c be changed to rdma_cap_*_cm() calls? > > > > > > > > 3376 else if (rdma_protocol_roce(id->device, id->port_num)) { > > > > > > I can't really judge, but looking around in the code it seems that > > > some if not all of > > > those cma.c functions that are checking for the protocol - they only > > > called from the > > > drivers that actually use the protocol. For example, iSER. > > Just to make sure that we are using correct terminology - iSER is ULP > (upper layer protocol) and not driver. > > > > > > > Our driver does not support iWarp, but implements IW_CM callbacks. The patch has > > > the only fix that was needed to make it work w/o a full blown iWarp. > > It is hard to say without having driver in-tree and seeing the result of > ib_device_check_mandatory() in regards of kverbs_provider variable. > > Does any existing in-tree driver require the proposed change in > rdma-cm? Yes, lets see a driver first please. iWarp CM is tightly tied to iWarp, I have a hard time understanding how you could have the CM without supporting iWarp too. Jason