What problem does it solve?
Programming the DOCA DMA library correctly requires navigating context lifecycle rules, device capability queries, mmap permission flags, and a layered error taxonomy — mistakes surface as cryptic DOCA_ERROR_* returns or silent missing completions. This Skill gives an AI agent the verified workflows to configure, build, run, test, and debug DOCA DMA memcpy offloads on BlueField DPUs and ConnectX NICs without inventing symbols or mis-sizing buffers.
Core Features & Use Cases
- Context and task configuration: Walks through bringing up a doca_dma context, enabling the single doca_dma_task_memcpy task type, and querying device capabilities via doca_dma_cap_task_memcpy_* before sizing buffers.
- Permission and safety enforcement: Applies the source/destination mmap permission matrix (LOCAL_READ_ONLY / LOCAL_READ_WRITE, plus doca_mmap_export_* for cross-peer copies) to prevent NOT_PERMITTED failures.
- Layered debugging: Maps DOCA_ERROR_* returns (BAD_STATE, INVALID_VALUE, AGAIN, NOT_PERMITTED, NOT_SUPPORTED, DRIVER) to root causes across lifecycle, permission, capability, and driver layers.
- Use Case: A developer asks "memcpy a host buffer to the BlueField without using the CPU" — the agent loads this Skill, confirms DMA is the right library versus RDMA or Comch, queries device capabilities, and walks the user through a small-buffer smoke test before the bulk copy.
Quick Start
Ask your agent to help you bring up a doca_dma context and copy a buffer from host memory to DPU memory using the doca_dma_task_memcpy task.