>To put a really concrete proposal on the table, I would suggest to
>start by extending the current ib_client registration structure, which
>looks like
>
>       struct ib_client {
>               char  *name;
>               void (*add)   (struct ib_device *);
>               void (*remove)(struct ib_device *);
>
>               struct list_head list;
>       };
>
>by extending the current enum ib_node_type to something like
>
>       enum rdma_device_type {
>               RDMA_DEVICE_IB_CA,
>               RDMA_DEVICE_IB_SWITCH,
>               RDMA_DEVICE_IB_ROUTER,
>               RDMA_DEVICE_RNIC
>       };
>
>Then the various pieces of code layered on top of the RDMA midlayer
>can decide whether they want to deal with a particular device or not
>by looking at the node_type member.  For example, the IB CM, IPoIB,
>etc. could ignore devices of type RDMA_DEVICE_RNIC, while SDP or iSER
>would use all devices and the RNIC CM would take only devices of type
>RDMA_DEVICE_RNIC.
>
>Then someone would have to start implementing a low-level driver for a
>specific RNIC, and find which modifications to the existing verbs are
>required.  For example, I believe the QP attribute structure passed
>into the QP modify verb probably has to become a union containing the
>IB attributes and the RNIC attributes.  However, most verbs should
>work fine with at most trivial modifications.

Is there some technical reason why this proposal cannot be used?  I didn't
notice any other proposal.

- Sean

_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to