I have some code that uses the ibv_exp_* APIs for multi-packet receive queues. Given the announcements that these APIs are being phased out, I thought I’d try to update the code to use mlx5dv. We currently have OFED 4.9 deployed (because it looks like 5.0 removes ibv_exp support), but it doesn’t seem to support the replacement functions like mlx5dv_create_wq (it’s not in the mlx5dv.h header nor in libmlx5.so).
Is there a migration path that doesn’t require all the drivers and all the software to be upgraded in lock-step? For example, is there a driver version that supports multi-packet receive queues through both the old and the new API?
One option might be to bundle the upstream rdma-core libraries with the software and LD_PRELOAD them; but will we then run into problems at the user-kernel interface if we are using a cutting-edge upstream user-space but kernel drivers from OFED 4.9?