I’m trying to run the RXP benchmark binary provided on the BlueField-2 but it reports no RegEx devices detected. Running the DOCA regex file scan sample and dpi scan sample, both work fine and shows regex matches. Is there something wrong with the PMD drivers for DPDK?
When I run RXP benchmark I get this output:
ubuntu@bf2:~$ sudo rxpbench -D "-l1,2 -n 1 class=regex -a 03:00.0 -a 03:00.01" --input-mode text_file -f /opt/mellanox/doca/samples/doca_re
gex/regex_scan/data_to_scan.txt -d rxp -r ./regex_rules.rof2.binary -c 1 -s 10 -l 2048
<< WARNING: No config file at rxpbench.conf. >>
EAL: Detected CPU lcores: 8
EAL: Detected NUMA nodes: 1
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: Probe PCI driver: mlx5_pci (15b3:a2d6) device: 0000:03:00.0 (socket -1)
mlx5_net: Cannot retrieve PCI address of IB device mlx5_2
EAL: Probe PCI driver: mlx5_pci (15b3:a2d6) device: 0000:03:00.1 (socket -1)
mlx5_net: Cannot retrieve PCI address of IB device mlx5_2
<< ERROR: 0 regex devices detected - should be 1. >>
EAL: Error - exiting with code: 1
Cause: Failed initializing regex device
I also tried running it with the same “-a” option as I did for the regex scan and dpi scan samples, I get this output:
ubuntu@bf2:/tmp$ sudo rxpbench -D "-l1,2 -n 1 class=regex -a auxiliary:mlx5_core.sf.2,sft_en=1" --input-mode text_file -f /opt/mellanox/doca/samples/doca_regex/regex_scan/data_to_scan.txt -d rxp -r ./regex_rules.rof2.binary -c 1 -s 10 -l 2048
EAL: Detected CPU lcores: 8
EAL: Detected NUMA nodes: 1
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
<< ERROR: 0 regex devices detected - should be 1. >>
EAL: Error - exiting with code: 1
Cause: Failed initializing regex device
I followed some Regex troubleshooting guide that said to restart the mlx-regex service but that has had no effect:
bf2# systemctl stop mlx-regex
bf2# /etc/init.d/openibd restart
bf2# systemctl restart mlx-regex
I then ran “dpdk-devbind.py -s” and got this output:
ubuntu@bf2:/tmp$ /opt/mellanox/dpdk/bin/dpdk-devbind.py -s
Network devices using kernel driver
===================================
0000:03:00.0 'MT42822 BlueField-2 integrated ConnectX-6 Dx network controller a2d6' if=en3f0pf0sf0,pf0hpf,p0 drv=mlx5_core unused=
0000:03:00.1 'MT42822 BlueField-2 integrated ConnectX-6 Dx network controller a2d6' if=p1,pf1hpf drv=mlx5_core unused=
No 'Baseband' devices detected
==============================
No 'Crypto' devices detected
============================
No 'DMA' devices detected
=========================
No 'Eventdev' devices detected
==============================
No 'Mempool' devices detected
=============================
No 'Compress' devices detected
==============================
No 'Misc (rawdev)' devices detected
===================================
No 'Regex' devices detected
===========================
For some reason DPDK reports no ‘Regex’ devices detected.
ubuntu@bf2:/tmp$ sudo ovs-vsctl show
e2561b67-f705-4613-bb3c-eaf828f09d36
Bridge ovsbr1
Port p0
Interface p0
Port ovsbr1
Interface ovsbr1
type: internal
Port pf0hpf
Interface pf0hpf
Port en3f0pf0sf0
Interface en3f0pf0sf0
Bridge ovsbr2
Port p1
Interface p1
Port ovsbr2
Interface ovsbr2
type: internal
Port pf1hpf
Interface pf1hpf
Port en3f1pf1sf0
Interface en3f1pf1sf0
error: "could not open network device en3f1pf1sf0 (No such device)"
ovs_version: "2.17.7-e054917"
And if I run this to make sure regex hardware accleration is on, I get this output:
ubuntu@bf2:/tmp$ sudo sh -c “echo 1 > /sys/bus/pci/devices/0000:03:00.0/regex/pf/regex_en”
sh: 1: echo: echo: I/O error
When running the RXP benchmark, syslog will show this:
Sep 30 23:18:50 localhost rxpbench[2873575]: EAL: Error - exiting with code: 1#012 Cause:
Sep 30 23:18:50 localhost rxpbench[2873575]: Failed initializing regex device
Running the benchmark with the DOCA regex rather than DPDK regex I get this output. (And ran it on ports rather than files. Running the DOCA regex on files seems to work.)
ubuntu@bf2:/tmp$ sudo rxpbench -D "-l 0,1,2,3 -n 1 class=eth:regex -a 03:00.0 -a 03:00.1" --input-mode dpdk_port --dpdk-primary-port 0 -d doca -r ./regex.rof2.binary -c 4 -s 10 -l 2048
<< WARNING: buf-length not applicable to dpdk_port mode. >>
EAL: Detected CPU lcores: 8
EAL: Detected NUMA nodes: 1
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: Probe PCI driver: mlx5_pci (15b3:a2d6) device: 0000:03:00.0 (socket -1)
mlx5_net: Cannot retrieve PCI address of IB device mlx5_2
EAL: Probe PCI driver: mlx5_pci (15b3:a2d6) device: 0000:03:00.1 (socket -1)
mlx5_net: Cannot retrieve PCI address of IB device mlx5_2
Segmentation fault