DOCA: GPU Packet Processing - Failed to start mmap DOCA Driver call failure


I am attempting to run the DOCA GPU Packet Processing sample application but I am running into an error with mmap. The NIC of our machine is a BlueField2 and the GPU is an RTX A2000.

Someone had the same issue on this post: Doca_gpu_packet_processing Failed to start mmap DOCA Driver call failure but the solution involved resizable BAR, which is not an option for us. Is anyone aware of other alternatives?

Thank you for your help,

Here is the full error log:

sudo ./doca_gpu_packet_processing -n ca:00.0 -g b1:00.0 -q 2
[16:37:17:850011][200362][DOCA][INF][gpu_packet_processing.c:279][main] ===========================================================
[16:37:17:850084][200362][DOCA][INF][gpu_packet_processing.c:280][main] DOCA version: 2.6.0058
[16:37:17:850090][200362][DOCA][INF][gpu_packet_processing.c:281][main] ===========================================================
[16:37:17:850110][200362][DOCA][INF][gpu_packet_processing.c:302][main] Options enabled:
GPU b1:00.0
NIC ca:00.0
GPU Rx queues 2
GPU HTTP server enabled No
EAL: Detected CPU lcores: 24
EAL: Detected NUMA nodes: 2
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode ‘VA’
EAL: VFIO support initialized
TELEMETRY: No legacy callbacks, legacy socket not created
EAL: Probe PCI driver: mlx5_pci (15b3:a2d6) device: 0000:ca:00.0 (socket 1)
EAL: Probe PCI driver: gpu_cuda (10de:2531) device: 0000:b1:00.0 (socket 1)
[16:37:18:581105][200362][DOCA][WRN][engine_model.c:74][adapt_queue_depth] adapting queue depth to 128.
mlx5_net: Unable to create HWS send to kernel action
mlx5_net: [mlx5dr_cmd_header_modify_pattern_create]: Failed to create header_modify_pattern (syndrome: 0x6c1bf)
mlx5_net: [mlx5dr_pat_get_pattern]: Failed to create pattern FW object
mlx5_net: [mlx5dr_action_create_modify_header_hws]: Failed to allocate pattern for modify header
mlx5_net: [mlx5dr_action_create_nat64_copy_state]: Failed to create copy for NAT64: action_sz: 56, flags: 0x48

mlx5_net: [mlx5dr_action_create_nat64]: Nat64 failed creating copy state
mlx5_net: Cannot create NAT64 action on port 0, please check the FW version
[16:37:19:604005][200362][DOCA][INF][udp_queues.c:40][create_udp_queues] Creating UDP Eth Rxq 0
[16:37:19:605919][200362][DOCA][INF][udp_queues.c:85][create_udp_queues] Mapping receive queue buffer (0x0x7f01de000000 size 536870912B) with nvidia-peermem mode
[16:37:19:606139][200362][DOCA][ERR][linux_mapped_user_memory.cpp:75][linux_mapped_user_memory] Failed to register user memory. Got errno: Bad address
[16:37:19:606335][200362][DOCA][ERR][doca_mmap.cpp:204][priv_doca_mmap_dev_to_mkey_init_mkey] Failed to initialize mkey: failed to create memory region with exception:
[16:37:19:606379][200362][DOCA][ERR][doca_mmap.cpp:204][priv_doca_mmap_dev_to_mkey_init_mkey] DOCA exception [DOCA_ERROR_DRIVER] with message Failed to register user memory
[16:37:19:606421][200362][DOCA][ERR][doca_mmap.cpp:356][priv_doca_mmap_init_dev_to_mkey] Mmap 0x5586043e8380: Failed to initialize device=0x55860407abe0. err=DOCA_ERROR_DRIVER
[16:37:19:606447][200362][DOCA][ERR][doca_mmap.cpp:393][priv_doca_mmap_init_dev_to_mkeys] Mmap 0x5586043e8380: Failed to initialize memory range. Failed to register MR for device with id: 1. err=DOCA_ERROR_DRIVER
[16:37:19:606470][200362][DOCA][ERR][udp_queues.c:116][create_udp_queues] Failed to start mmap DOCA Driver call failure
[16:37:19:606497][200362][DOCA][INF][udp_queues.c:231][destroy_udp_queues] Destroying UDP queue 0
[16:37:19:606512][200362][DOCA][ERR][doca_ctx.cpp:235][doca_ctx_stop] Unable to stop context: Received invalid input - ctx is NULL
[16:37:19:606536][200362][DOCA][ERR][udp_queues.c:249][destroy_udp_queues] Failed doca_ctx_stop: Invalid input
[16:37:19:606561][200362][DOCA][ERR][gpu_packet_processing.c:344][main] Function create_udp_queues returned Bad State