On Wed, 2015-06-10 at 06:30 +0000, Liran Liss wrote: > > From: Ira Weiny <[email protected]> > > Hi Ira, > > OPA cannot impersonate IB; OPA node and link types have to be designated as > such. > In terms of MAD processing flows, both explicit (as in the handle_opa_smi() > call below) and implicit code paths (which share IB flows - there are several > cases) must make this distinction.
As far as in the kernel is concerned, the individual capability bits are
much more important. I would actually like to do away with the
node_type variable from struct ib_device eventually. As for user space,
where we have to maintain ABI, node_type can be IB_CA (after all, the
OPA devices are just like RoCE devices in that they implement IB VERBS
as their user visible transport, and only addressing/management is
different from link layer IB devices), link layer needs to be OPA.
> > +static enum smi_action
> > +handle_opa_smi(struct ib_mad_port_private *port_priv,
> > + struct ib_mad_qp_info *qp_info,
> > + struct ib_wc *wc,
> > + int port_num,
> > + struct ib_mad_private *recv,
> > + struct ib_mad_private *response)
> > +{
> ...
> > + } else if (port_priv->device->node_type == RDMA_NODE_IB_SWITCH) <----
>
> --Liran
--
Doug Ledford <[email protected]>
GPG KeyID: 0E572FDD
signature.asc
Description: This is a digitally signed message part
