Ralph Campbell wrote:
    Ralph> When ib_modify_qp() is called with the IB_QP_ACCESS_FLAGS
    Ralph> set in the mask, what values should be used in struct
    Ralph> ib_qp_attr.qp_access_flags?  The IB spec. seems to indicate
    Ralph> that RDMA and atomic operations are all enabled or disabled
    Ralph> as a group but all I see in ib_verbs.h is the enum
    Ralph> ib_access_flags which is used for memory region access.
    Ralph> These are more fine grained than the IB spec. implies for
    Ralph> QPs.  So I can see qp_access_flags being either a boolean
    Ralph> or perhaps a new enum defined for the values for
    Ralph> qp_access_flags.

Roland> I think the IB spec is at best ambiguous as to whether RDMA
Roland> and atomics are enabled as a group or not.
Roland> The values are IB_ACCESS_REMOTE_ATOMIC, IB_ACCESS_REMOTE_WRITE,
Roland> and IB_ACCESS_REMOTE_READ or-ed together I think.

Roland's response is correct. Atomics and RDMA reads are enabled separately. (See page 573 of release 1.2 of the spec. I interpreted the separate bullets to mean that they are set separately.) I think it makes sense to keep this distinction, since atomics are also an optional feature of an HCA.

If you look in cm.c for init_qp_attr, you can see how the IB CM sets the mask and QP attributes.

- Sean
_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

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

Reply via email to