From: Leon Romanovsky <leonro@xxxxxxxxxxxx> Hi, This series introduces RDMA stable and predictable names in similar way to netdev stack. We generalize the naming scheme for RDMA devices, so users will always see names based on topology/GUID information. Such naming scheme has big advantage that the names are fully automatic, fully predictable and they stay fixed even if hardware is added or removed (i.e. no reenumeration takes place) and that broken hardware can be replaced seamlessly. right now, we are supporting two schemes: based on PCI location and based on system image GUID information. [leonro@server ~]$ rdma dev 0: mlxp0s12f0: node_type ca fw 16.22.1010 node_guid 248a:0703:00a5:2850 sys_image_guid 248a:0703:00a5:2850 1: mlxp0s13f0: node_type ca fw 16.22.1010 node_guid 248a:0703:00a5:2851 sys_image_guid 248a:0703:00a5:2850 Unfortunately, RXE interface naming is not reliable, and in my tests, it sometimes get proper name "rxep0s11f0" and sometimes no "rxe0". Manual triggering "udevadm test /sys/class/infiniband/rxe0" always works. PR: https://github.com/linux-rdma/rdma-core/pull/487 Thanks Leon Romanovsky (5): build: Generate UDEV binaries function kernel-boot: Perform device rename to make stable names debian: Install UDEV persistence rule and utility redhat: Add persistent naming installation suse: Package persistence name UDEV rule and utility buildlib/rdma_functions.cmake | 8 + debian/rdma-core.install | 2 + kernel-boot/CMakeLists.txt | 16 ++ kernel-boot/rdma-persistent-naming.rules | 19 ++ kernel-boot/rdma_rename.c | 286 +++++++++++++++++++++++ redhat/rdma-core.spec | 2 + suse/rdma-core.spec | 2 + 7 files changed, 335 insertions(+) create mode 100644 kernel-boot/rdma-persistent-naming.rules create mode 100644 kernel-boot/rdma_rename.c -- 2.19.1