DOCA DMA File Transfer Issues

Problem Summary
I’m trying to implement file transfers between a host and BlueField-2 DPU using DOCA’s DMA capabilities over PCIe, but encountering permission issues. The host application fails to find any DOCA device with DMA capabilities.
Setup

  • Hardware: BlueField-2 DPU (MT42822)
  • Software: DOCA 2.2.0080
  • Drivers: vfio-pci on host for the DMA controller
    #Error Messages
    Copy
    [INFO]: Searching for DOCA device with DMA capabilities
    [WARNING]: Matching device not found
    [ERROR]: Failed to find any DOCA device with DMA capabilities
    System logs show:

traps: doca_dma_file_t[xxxxx] general protection fault in libdoca_common.so.2.2.0080

Root Cause Identified

The VFIO container for the DMA controller is only accessible by root:
/vfio/crw------- 1 root root 243, 0 Feb 10 15:58 68

I’m in a university environment where I cannot use sudo on the host, which is preventing access to the DMA device.

Verified Information

  • DMA controller is at PCI address c4:00.2 on host
  • BlueField network controller is at 03:00.0 on DPU
  • DMA controller is using the vfio-pci driver as required
  • Connection between host and DPU is established but fails at DMA initialization
  1. Can DOCA DMA work without root permissions?
  2. Are there alternative access methods that don’t require VFIO?
  3. Are there environment variables or settings to help with permission issues?
  4. What’s the recommended approach for BlueField DPUs in environments with restricted sudo access?

Any insights would be greatly appreciated!

DOCA 2.2 is about two years old, my first recommendation would be to aligned first the DPU with latest DOCA GA 2.10 → though, irrelevant to root password.

The relevant documentation can be found @ the same location.

There is as well a Nvidia DOCA developer forum you can consult accordingly.