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 _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
