[ofa-general] Re: IB/core: Add creation flags to QPs
Jack Morgenstein
jackm at dev.mellanox.co.il
Wed Mar 26 08:16:25 PDT 2008
On Wednesday 26 March 2008 16:53, Or Gerlitz wrote:
> and this means breaking the ABI, correct. If such a breakage is going to
> happen anyway for the merge of XRC into the mainline kernel and the
> official libibverbs as maintained by Roland, I guess this is fine. I see
>
Actually, we did not break the ABI for XRC (we had to do cartwheels to avoid
this, but what the heck).
The create_flags field was added ONLY to struct ib_qp_init_attr (kernel only),
and was not exported upwards to the userspace API (so as not to break the ABI).
I got around the create_flags problem by adding a new verb to userspace
(ibv_create_xrc_rcv_qp() ) with its own ABI to kernel space. Since the kernel-space
function (added to uverbs_cmd: ib_uverbs_create_xrc_rcv_qp() ) "knew" that it
was creating an XRC_RCV qp, it set the flag in ib_qp_init_attr appropriately.
Additionally, Eli did not need user-space involvement for his LSO flag -- so
we escaped needing to increment the ABI version number.
If we need to use the create_flags field in userspace, we WILL need to break the ABI.
You can avoid doing this in one of 2 ways:
Either: create a new QP type
Or: add new verbs to the core.
- Jack
More information about the general
mailing list