ConnectX-6 Dx with doca-ofed cannnot use nvme-over-fabric

I have a question about setting up nof targets on CX6 network cards now. I have an MCX631102AN-ADAT network card installed on my server, with the operating system openEuler 24.03, kernel versions 6.6.0-28.0.0.34oe2403.aarch64, and a 3.0 version of doca-ofed installed on the host.

[root@192-3-1-175-host ~]# uname -r
6.6.0-28.0.0.34.oe2403.aarch64
[root@192-3-1-175-host ~]# ethtool -i enp1s0f0np0
driver: mlx5_core
version: 25.04-0.6.1
firmware-version: 24.43.2026
expansion-rom-version: 
bus-info: 0000:01:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes

Use the following link to build a nof target. EnterpriseSupport .
When I execute dnf - y install doca all on the command line and then execute/etc/init.d/openibd restart, there are no errors generated when executing modprobe nvmet and modprobe nvmet rdma. To prevent loading old modules with new drivers, I also executed dracut - f to update initramfs, and then restarted the operating system. But when I create a subsystem according to the link, it prompts permission denied.

Even when referring to the official Red Hat link for interactive configuration, errors still occur. The link is as follows: 11.3. 使用 nvmetcli 设置 NVMe/RDMA 控制器 | 管理存储设备 | Red Hat Enterprise Linux | 9 | Red Hat Documentation


And also have dmesg info:

[root@192-3-1-175-host ~]# dmesg | tail
[   36.398951] MFT device name created: id: 41686, slot id: 0, device name: /dev/mst/mt41686_pci_cr0.0 domain: 0x0 bus: 0x1
[   36.398965] MFT device name created: id: 49875, slot id: 1, device name: /dev/mst/mt49875_pci_cr0.1 domain: 0x0 bus: 0x1
[   41.246560] VFIO - User Level meta-driver version: 0.3
[   41.269168] vfio-pci 0000:01:00.1: Adding to iommu group 45
[   41.294492] vfio-pci 0000:01:00.1: enabling device (0140 -> 0142)
[   42.525407] tun: Universal TUN/TAP device driver, 1.6
[  130.680126] capability: warning: `dnf' uses 32-bit capabilities (legacy support in use)
[  134.223539] block nvme0n1: No UUID available providing old NGUID
[  195.905583] nvmet: adding nsid 1 to subsystem testnqn
[  195.910032] nvmet: transport type 1 not supported

I noticed that the driver used by the article in the link is still mlnx-ofed, and the installation comes with the parameter --with-nvmf. How can this parameter be enabled when installing on doca-ofed? In one topic, I noticed that doca-ofed has abandoned the with-nvmf parameter and integrated it into doca ofed. However, the problems in actual use are still the same as those in installing mlnx-ofed without this parameter. How to solve the above problems?

Hi,

Thanks for your question.
mlnx-nvme package provides nvmet module with doca installation.

i.e.
[root@l-csi-host-04 ~]# modinfo nvmet | grep file
filename: /lib/modules/4.18.0-477.13.1.el8_8.x86_64/weak-updates/mlnx-nvme/target/nvmet.ko
[root@l-csi-host-04 ~]# ls -l /lib/modules/4.18.0-477.13.1.el8_8.x86_64/weak-updates/mlnx-nvme/target/nvmet.ko
lrwxrwxrwx 1 root root 70 Jun 30 10:58 /lib/modules/4.18.0-477.13.1.el8_8.x86_64/weak-updates/mlnx-nvme/target/nvmet.ko → /lib/modules/4.18.0-372.9.1.el8.x86_64/extra/mlnx-nvme/target/nvmet.ko
[root@l-csi-host-04 ~]# rpm -qf /lib/modules/4.18.0-372.9.1.el8.x86_64/extra/mlnx-nvme/target/nvmet.ko
mlnx-nvme-24.04-OFED.24.04.0.6.6.1.kver.4.18.0_372.9.1.el8.x86_64.x86_64
[root@l-csi-host-04 ~]#

For more info please look at DOCA documentation:

Storage Installation

Best Regards,
Anatoly