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

Just as an examples of UAPI changes which can break user-space
applications, but don't:

commit 26202873bb51fafdaa51be3e8de7aab9beb49f70
Author: Hans-Christian Noren Egtvedt <egtvedt@xxxxxxxxxxxx>
Date:   Sun Feb 26 12:56:39 2017 +0100

    avr32: remove support for AVR32 architecture

commit 1f4407e2548827e3e6e7b943640a2da90c611306
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date:   Fri Apr 21 15:59:52 2017 -0400

    net: Remove NET_CORE_BUDGET_USECS from sysctl binary interface.

commit 2611dc1939569718c65ffd59c8fb9ba7474d026c
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date:   Sat Apr 8 14:34:51 2017 -0400

    Remove compat_sys_getdents64()

commit bf74b20d00b13919db7ae5d1015636e76f56f6ae
Author: David S. Miller <davem@xxxxxxxxxxxxx>
Date:   Sun Apr 9 14:45:21 2017 -0700

    Revert "rtnl: Add support for netdev event to link messages"

.....

>
>

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