On Tue, Nov 12, 2019 at 11:17:37AM +0200, Gal Pressman wrote: > diff --git a/include/uapi/rdma/efa-abi.h b/include/uapi/rdma/efa-abi.h > index 9599a2a62be8..442804572118 100644 > +++ b/include/uapi/rdma/efa-abi.h > @@ -90,12 +90,21 @@ struct efa_ibv_create_ah_resp { > __u8 reserved_30[2]; > }; > > +enum { > + EFA_QUERY_DEVICE_CAPS_RDMA_READ = 1 << 0, > +}; This doesn't seem needed, caps should only be used if a zero filled reply from an old kernel is not OK. > struct efa_ibv_ex_query_device_resp { > __u32 comp_mask; > __u32 max_sq_wr; > __u32 max_rq_wr; > __u16 max_sq_sge; > __u16 max_rq_sge; > + __u32 max_rdma_size; > + __u16 max_wr_rdma_sge; > + __u8 reserved_b0[2]; > + __u32 device_caps; > + __u8 reserved_e0[4]; > }; This has the same problem as we talked about in userspace, the max_wr_rdma_sge duplicates the field in the normal query_device response Jason