Re: [PATCH v2 05/13] IB/cm: Share listening CM IDs

Haggai Eran
2015-07-28T08:25:42Z

On 27/07/2015 22:04, Hefty, Sean wrote:
>> +struct ib_cm_id *ib_cm_insert_listen(struct ib_device *device,
>> > + ib_cm_handler cm_handler,
>> > + __be64 service_id, __be64 service_mask)
>> > +{
>> > + struct cm_id_private *cm_id_priv;
>> > + struct ib_cm_id *cm_id;
>> > + unsigned long flags;
>> > + int err = 0;
>> > +
>> > + /* Create an ID in advance, since the creation may sleep */
>> > + cm_id = ib_create_cm_id(device, cm_handler, NULL);
>> > + if (IS_ERR(cm_id))
>> > + return cm_id;
>> > +
>> > + spin_lock_irqsave(&cm.lock, flags);
>> > +
>> > + if (service_id == IB_CM_ASSIGN_SERVICE_ID)
>> > + goto new_id;
>> > +
>> > + /* Find an existing ID */
>> > + cm_id_priv = cm_find_listen(device, service_id, NULL);
>> > + if (cm_id_priv) {
> The service_mask is being ignored through this code path.

Thanks.

I think it would be better just to remove the service_mask parameter
from this function, right? rdma_cm makes no use of the service mask.

Haggai