Subject: Re: [PATCH 08/11] IB/cma: Add net_dev and private data checks to RDMA CM

From: Haggai Eran <[email-masked]>
Date: Tue, 16 Jun 2015 08:26:26 +0300

On 15/06/2015 20:08, Jason Gunthorpe wrote:
> On Mon, Jun 15, 2015 at 11:47:13AM +0300, Haggai Eran wrote:
>> Instead of relying on a the ib_cm module to check an incoming CM request's
>> private data header, add these checks to the RDMA CM module. This allows a
>> following patch to to clean up the ib_cm interface and remove the code that
>> looks into the private headers. It will also allow supporting namespaces in
>> RDMA CM by making these checks namespace aware later on.
> 
> I was expecting one of these patches to flow the net_device from here:
> 
>> +static struct net_device *cma_get_net_dev(struct ib_cm_event *ib_event,
>> +					  const struct cma_req_info *req)
>> +{
> 
> Down through cma_req_handler and cma_new_conn_id so that we get rid of
> the cma_translate_addr on the ingress side.
> 
> Having the ingress side use one ingress net_device for all processing
> seems very important to me...

Is it really very important? I thought the bound_dev_if of a passive
connection id is only used by the netlink statistics mechanism.

If you insist, I can set bound_dev_if based on the results of
cma_get_net_dev. That would cause the rdma_translate_ip call in
cma_translate_addr to exit early after calling rdma_copy_addr with the
chosen net_dev.

Haggai