On Mon, Apr 13, 2015 at 07:25:48PM +0000, Hefty, Sean wrote:
> > @@ -1037,17 +1033,13 @@ void rdma_destroy_id(struct rdma_cm_id *id)
> >     mutex_unlock(&id_priv->handler_mutex);
> > 
> >     if (id_priv->cma_dev) {
> > -           switch (rdma_node_get_transport(id_priv->id.device-
> > >node_type)) {
> > -           case RDMA_TRANSPORT_IB:
> > +           if (rdma_ib_or_iboe(id_priv->id.device, id_priv->id.port_num))
> 
> A listen id can be associated with a device without being associated
> with a port (see the listen_any_list).  Some other check is needed
> to handle this case.  I guess the code could check the first port on
> the device (replace port_num with hardcoded value 1).  Then we
> wouldn't be any more broken than the code already is.  (The 'break'
> is conceptual, not practical.)

Hum. So, devices on a port must have some compatibility when it comes
to these invariants. It looks like all ports must have the same
iwarpyness, for multiple reasons.

Less clear is how rocee vs ib work within a device... Can you APM
between those two kinds of ports?

All these switches are so ugly :| Function pointers setup in
iw_/ib_create_cm_id would be a lot clearer and safer.

> This appears to be highlighting an architectural flaw in the iboe integration.

You mean iwarp?

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to