Subject: Re: [PATCH 0/2 RESEND] IB/Verbs: Use helpers to refine the checking on transport and link layer

From: Jason Gunthorpe <[email-masked]>
Date: Fri, 27 Mar 2015 09:55:30 -0600

On Fri, Mar 27, 2015 at 10:52:10AM +0100, Michael Wang wrote:
> Basically I found there are three kind of check in current
> implementation:
> 
> 1. check transport type of device only
>     I'd like to use helper has_XX(device)
>     which means some port of the device has XX capability.
> 
> 2. check link layer of device's port only
>     I'd like to use helper cap_XX(device, port)
>     which means the port has XX capability
> 
> 3. check both the transport type and link layer
>     I'd like to use helper tech_XX(device, port)
>     which means the port of that device using technology
>     ib, iwrap, iboe(roce) ...

So, in principle, testing the device should almost make sense. The
device is the container for things like PD's MR's and QP's and those
things can migrate between the ports freely, so all post must share
the same attributes for those items.

However.. AFAIK, we can have RoCEE and IB ports on the same device -
which makes that whole concept seem sort of like nonsense..

Anyhow, I would discourage testing the device. Each site has to be
examined and determine if it working with a single port and really
needs a port attribute (which may be a device attribute today) or if
it is doing something device wide and is checking if all ports support
X.

> Let's discuss and figure out the right name in the thread of
> v2 patch set, I guess there will be a lot to be correct :-P

Well, this is actually a hard job. This isn't a mechanical clean up,
each site has to be inspected and understood before it can be
migrated to the correct API.

Jason