Re: rdma-core 12 breaks libibverbs ABI

Jason Gunthorpe
2017-01-26T17:13:25Z

On Thu, Jan 26, 2017 at 04:55:47PM +0100, Benjamin Drung wrote:
> the rmda-core commit 683e55aa5d291c8fda338dae565fbdae0c0000b5 "ibverbs:
> Allow vendor data response in create_ah command" breaks the ABI of the
> libibverbs library: The symbol ibv_cmd_create_ah@IBVERBS_1.0 is replaced
> by ibv_cmd_create_ah@IBVERBS_1.4. Please bring back ibv_cmd_create_ah@IB
> VERBS_1.0 to restore the ABI. Otherwise the version of the soname needs
> to be bumped from 1 to 2.

The ibv_cmd_* family of symbols are now considered private internal
symbols only for use between libibverbs and the included plugin libraries.

The decision was made to stop supporting providers outside of
rdma-core, so the library SONAME only reflects the public facing ABI.

I missed asking for this when the ibv_cmd_create_ah@IBVERBS_1.4 patch
was merged, but before we release 13 we need to drop all the ibv_cmd_*
entry points from the public headers so that nothing outside rdma-core
can link to these symbols.

AFAIK this is an accepted way to build a library that works with
private loadable plugins.

Jason