Doca examples URL filter

Hi all,
I’m new to DOCA SDK. I’m trying to run the example applications but I’m getting the following error, can anyone help?
$ sudo /opt/mellanox/doca/examples/url_filter/bin/doca_url_filter -a 0000:03:00.0,class=regex -a auxiliary:mlx5_core.sf.2,sft_en=1 -a auxiliary:mlx5_core.sf.4,sft_en=1 -c3 – -p -l 3
EAL: Detected 8 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode ‘PA’
EAL: No available hugepages reported in hugepages-32768kB
EAL: No available hugepages reported in hugepages-64kB
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support…
EAL: VFIO support initialized
EAL: Device is not NUMA-aware, defaulting socket to 0
EAL: Probe PCI driver: mlx5_pci (15b3:a2d6) device: 0000:03:00.0 (socket 0)
mlx5_net: dr_create_flow_tbl failed
mlx5_net: dr_create_flow_tbl failed
EAL: No legacy callbacks, legacy socket not created
[09:23:12:180936][DOCA][E][FOFLD]: Forward to SFT IPV4-UDP failed, error=SFT was not initialized

Some other information that might be helpful:
$ sudo mlnx-sf -a show

SF Index: pci/0000:03:00.0/229408
Parent PCI dev: 0000:03:00.0
Representor netdev: en3f0pf0sf0
Function HWADDR: 02:6f:2d:87:5a:24
Auxiliary device: mlx5_core.sf.2
netdev: enp3s0f0s0
RDMA dev: mlx5_2

SF Index: pci/0000:03:00.0/229409
Parent PCI dev: 0000:03:00.0
Representor netdev: en3f0pf0sf4
Function HWADDR: 52:17:06:71:a8:87
Auxiliary device: mlx5_core.sf.4
netdev: enp3s0f0s4
RDMA dev: mlx5_4

SF Index: pci/0000:03:00.1/294944
Parent PCI dev: 0000:03:00.1
Representor netdev: en3f1pf1sf0
Function HWADDR: 02:e0:69:a4:6b:ed
Auxiliary device: mlx5_core.sf.3
netdev: enp3s0f1s0
RDMA dev: mlx5_3

$ numastat -mc | egrep “Node|Huge”
Token Node not in hash table.
Token Node not in hash table.
Token Node not in hash table.
Token Node not in hash table.
Token Node not in hash table.
Node 0 Total
AnonHugePages 0 0
HugePages_Total 4096 4096
HugePages_Free 3762 3762
HugePages_Surp 0 0

Hi! Can you share your output of ovs-vsctl show? I am trying to repeat this in my lab and want to make sure I’ve got this setup the same way.

Thanks!

It might be possible that you’re on the DOCA 1.0 release and following the DOCA 1.1 (SDK 0.2) guide for running the sample application. Stateful flow table support was added in DOCA 1.1

See if these instructions work:

/opt/mellanox/doca/examples/url_filter/bin/doca_url_filter -a 0000:03:00.0,class=regex:eth,representor=[65535],sft_en=0 –p

Alternatively, upgrading or reimaging to the DOCA 1.1 release should resolve this one.

Hi jubetz,

$ sudo ovs-vsctl show
66fdeb4d-c787-4d18-8461-a3e4c659d9f9
    Bridge ovsbr2
        Port p1
            Interface p1
        Port ovsbr2
            Interface ovsbr2
                type: internal
        Port pf1hpf
            Interface pf1hpf
        Port en3f1pf1sf0
            Interface en3f1pf1sf0
    Bridge ovsbr1
        Port pf0hpf
            Interface pf0hpf
        Port ovsbr1
            Interface ovsbr1
                type: internal
        Port p0
            Interface p0
        Port en3f0pf0sf0
            Interface en3f0pf0sf0
    ovs_version: "2.14.1"

Hi jubetz,

# /opt/mellanox/doca/examples/url_filter/bin/doca_url_filter -a 0000:03:00.0,class=regex:eth,representor=[65535],sft_en=0 –p
EAL: Detected 8 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: No available hugepages reported in hugepages-32768kB
EAL: No available hugepages reported in hugepages-64kB
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL:   Device is not NUMA-aware, defaulting socket to 0
EAL: Probe PCI driver: mlx5_pci (15b3:a2d6) device: 0000:03:00.0 (socket 0)
EAL: No legacy callbacks, legacy socket not created
[01:37:40:216568][DOCA][E][FOFLD]: Forward to SFT IPV4-UDP failed, error=no PMD support for SFT

Hi jubetz,
I don’t know how to check the version number of DOCA. Could you tell me?
But I think I should install DOCA 1.1.
I installed it through nvidia_sdk.
https://developer.nvidia.com/networking/doca/getting-started
And the version downloaded on the host side looks like v1.1.

$ ls nvidia_sdk/
DOCA_1.1_Linux  DOCA_1.1_Linux_BLUEFIELD2_DPU_TARGETS  DOCA_1.1_Linux_host

Hi,

The SFT error you received is usually shown when supplying the DOCA application an SF (Scalable Function) without first setting them to “trusted”. You can find more information about it in the Scalable Function Documentation.

As for the DOCA version, it looks like you installed DOCA 1.1, meaning you have everything needed for testing the application. The configuration steps should be:

  1. Set the SFs to “trusted”
  2. Create 2 new SFs
  3. Configure OVS to use the newly created SFs so the bridges will match the application’s system diagram
  4. Complete all application prerequisites - (huge pages and mlx-regex)
  5. Execute the application

Good luck!

Hi eitkin, thank you very much. Now it works fine.