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 [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
