Subject: Re: [PATCH v2 01/17] IB/Verbs: Implement new callback query_transport() for each HW

From: "ira.weiny" <[email-masked]>
Date: Fri, 10 Apr 2015 10:56:52 -0400

On Fri, Apr 10, 2015 at 10:25:21AM +0200, Michael Wang wrote:
> On 04/10/2015 08:16 AM, ira.weiny wrote:
> > First off there are 2 separate issues here:
> > 
> > 1) We need to communicate if a port supports or requires various management
> >    support from the ib_mad, ib_cm, and/or ib_sa modules.
> > 
> > 2) We need to communicate how a addresses are formated and resolved for a
> >    particular port
> > 
> > 
> > In general I don't think we need to remove all uses of the Transport
> > or Link Layer.
> > 
> > Although we may be able to remove most of the transport uses.
> > 
> > On Wed, Apr 08, 2015 at 02:10:15PM -0600, Jason Gunthorpe wrote:
> [snip]
> > 
> >>
> >> Some of the other checks in this file revolve around pkey, I'm not
> >> sure what rocee does there? cap_pkey_supported ?
> > 
> > It seems IBoE just hardcodes the pkey to 0xffff.  I don't see it used anywhere.
> > 
> > Function where port requires "real" PKey
> > 
> > 	-- cma.c: cma_ib_init_qp_attr
> > 
> > Check rdma_port_req_pkey()?
> 
> What about cap_eth_ah() for all the cases need eth addressing handling?

That works.

> 
> > 
> > 
> > Over all for the addressing choices:
> > 
> > The "Transport" (or protocol, or whatever) is Verbs.  The Layer below Verbs
> > (OPA/IB/Eth/TCP) defines how addressing, route, and connection information is
> > generated, communicated, and used.
> > 
> > As Jason and Doug have been saying sometimes we want to know when that requires
> > SA interaction or the use of the CM protocol (or neither).  Other times we just
> > need to know what the Address format or Link Layer is.
> 
> Till now it seems like we could be able to eliminate the link layer helper in core
> layer, but I'll reserve that helper in next version, if later we do not need it anymore,
> let's erase it then ;-)
 
Eliminating Link Layer is fine if we can do it, but I still think that
something like IPoIB should check the link layer.

After sleeping on it the driver exporting cap_ipoib() does not seem _so_ bad
but I still see a distinction between ULPs like IPoIB and the other modules we
have been discussing.

Ira

> Regards,
> Michael Wang
> > Ira