rxe driver does not support kernel ABI

Getting a small error when I try to do an rping test. I’m building rxe into kernel 4.16 and rdma-core using yocto on an Arria10 socfpga containing a dual core A53 ARM processor. I get the kernel modules and userland loaded:

root@arria10:~# lsmod | grep rxe

rdma_rxe 102400 0

ib_core 192512 6 rdma_rxe,ib_cm,rdma_cm,ib_uverbs,iw_cm,rdma_ucm

I can configure the rxe0 device but rxe_cfg is giving a strange error:

root@arria10:~# rxe_cfg

libibverbs: Warning: Driver rxe does not support the kernel ABI of 1 (supports 2 to 2) for device /sys/class/infiniband/rxe0

IB device ‘rxe0’ wasn’t found

Name Link Driver Speed NMTU IPv4_addr RDEV RMTU

eth0 yes st_gmac 1500 10.0.1.24 rxe0 (?)

Any hints on what this means, i.e. the kernel ABI error would be appreciated!

Thanks,

FM

It appears that the abi version is stored here:

root@arria10:/sys/class/infiniband# cat rxe0/device/infiniband_verbs/uverbs0/abi_version

1

And this needs to be 2 according to the code…

After setting up the yocto build to include the various rdma-core modules according to yocto practices, this error went away.

Its back. For some reason I keep getting this warning

libibverbs: Warning: Driver rxe does not support the kernel ABI of 1 (supports 2 to 2) for device /sys/class/infiniband/rxe0

I traced this to the function match_device() in libibverbs/init.c

There is a check for ABI versions:

if (sysfs_dev->abi_ver < ops->match_min_abi_version ||

sysfs_dev->abi_ver > ops->match_max_abi_version) {

fprintf(stderr, PFX

“Warning: Driver %s does not support the kernel ABI of %u (supports %u to %u) for device %s\n”,

The variable sysfs_dev is being passed into this call by another routine called try_driver() which is called by try_drivers() which is called by try_all_drivers() which appears to be called by

ibverbs_get_device_list()

Does this help?

I went to kernel 4.17 and this went away.