On Sun, Apr 09, 2023 at 02:28:04PM +0300, Nachum, Yonatan wrote: > > >> > >> access_flags &= ~IB_ACCESS_OPTIONAL; > >> if (access_flags & ~supp_access_flags) { > >> diff --git a/include/uapi/rdma/efa-abi.h b/include/uapi/rdma/efa-abi.h > >> index 74406b4817ce..d94c32f28804 100644 > >> --- a/include/uapi/rdma/efa-abi.h > >> +++ b/include/uapi/rdma/efa-abi.h > >> @@ -121,6 +121,7 @@ enum { > >> EFA_QUERY_DEVICE_CAPS_CQ_NOTIFICATIONS = 1 << 2, > >> EFA_QUERY_DEVICE_CAPS_CQ_WITH_SGID = 1 << 3, > >> EFA_QUERY_DEVICE_CAPS_DATA_POLLING_128 = 1 << 4, > >> + EFA_QUERY_DEVICE_CAPS_RDMA_WRITE = 1 << 5, > > > > Why do you need special device capability while all rdma-core users > > set IBV_ACCESS_REMOTE_WRITE anyway without relying on anything from > > providers? > > > > Thanks > > We need to query the device because not every device supprort the same RDMA capabilities. Upper layers in the SW stack needs this supported flags to indicate which flows they can use. In addition this is identical to the existing RDMA read support in our code. Nice, but it doesn't answer my question. Please pay attention to the second part of my question "while all rdma-core ....". Thanks > > Thanks.