Wed, May 31, 2017 at 06:20:31AM CEST, leon@xxxxxxxxxx wrote: >On Tue, May 30, 2017 at 08:03:58PM +0200, Jiri Pirko wrote: >> Tue, May 30, 2017 at 07:22:59PM CEST, leon@xxxxxxxxxx wrote: >> >On Tue, May 30, 2017 at 10:15:14AM +0200, Jiri Pirko wrote: >> >> Tue, May 30, 2017 at 09:58:45AM CEST, leon@xxxxxxxxxx wrote: >> >> >On Tue, May 30, 2017 at 09:33:52AM +0200, Jiri Pirko wrote: >> >> >> Tue, May 30, 2017 at 09:15:58AM CEST, leon@xxxxxxxxxx wrote: >> >> >> >From: Yishai Hadas <yishaih@xxxxxxxxxxxx> >> >> >> > >> >> >> >Enable QP creation which is associated to underlay QP. This comes as a >> >> >> >pre-patch for downstream patches in this series to enable flow steering >> >> >> >from user space application on the underlay IPoIB QP. >> >> >> > >> >> >> >Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> >> >> >> >Reviewed-by: Maor Gottlieb <maorg@xxxxxxxxxxxx >> >> >> >Signed-off-by: Leon Romanovsky <leon@xxxxxxxxxx> >> >> >> >--- >> >> >> >> >> >> [...] >> >> >> >> >> >> >> >> >> >diff --git a/include/uapi/rdma/ib_user_verbs.h b/include/uapi/rdma/ib_user_verbs.h >> >> >> >index 477d629f539d..422b20456975 100644 >> >> >> >--- a/include/uapi/rdma/ib_user_verbs.h >> >> >> >+++ b/include/uapi/rdma/ib_user_verbs.h >> >> >> >@@ -578,7 +578,7 @@ struct ib_uverbs_ex_create_qp { >> >> >> > __u32 comp_mask; >> >> >> > __u32 create_flags; >> >> >> > __u32 rwq_ind_tbl_handle; >> >> >> >- __u32 reserved1; >> >> >> >+ __u32 associated_qpn; >> >> >> >> >> >> This breaks uapi... >> >> > >> >> >Not really, we are using comp_mask scheme to signal changes/predecessor >> >> >of these structs. Users of this file and structs check comp_mask and >> >> >access new fields only if they are exposed there. >> >> > >> >> >In this case, there are no users of reserved1 and hence it can be >> >> >replace to the new field with corresponding comp_mask flag (IB_QP_CREATE_ASSOC_QPN) >> >> >without worry of breakage. >> >> >> >> I, as an app could include ib_user_verbs.h and do: >> >> >> >> struct ib_uverbs_ex_create_qp something; >> >> >> >> something.reserved1 = 0; >> >> >> >> Than I won't compile, would I? >> > >> >You are right, the good thing that in IB world, there is no direct usage >> >of these files and they are needed for rdma-core (libibverbs) library. >> >> Unfortunatelly, that does not make any difference. UAPI is UAPI... > >Yes, it makes. Changes in UAPI are allowed as long they don't break user >space applications. In this case, there are no applications which uses >this reserved fields directly. How do you know? I might have one in my drawer :) -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html