Re: [PATCH rdma-next 2/6] IB/uverbs: Enable QP creation which is associated to underlay QP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 31, 2017 at 07:37:11AM +0200, Jiri Pirko wrote:
> 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 :)

Because, we had this brave man [1] who wanted to implement libibverbs by
himself in GO language and Jason gave a very good explanation [2, 3] why it
is not likely to happen in near future.

[1] http://marc.info/?l=linux-rdma&m=149302796407374&w=2
[2] http://marc.info/?l=linux-rdma&m=149305872017354&w=2
[3] http://marc.info/?l=linux-rdma&m=149314196207011&w=2

> --
> 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

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux