What problem does it solve?
Building a custom emulated PCIe device on an NVIDIA BlueField DPU requires choosing the right DOCA Device Emulation sub-library, wiring per-sub-library Core contexts with doorbell and DMA primitives, verifying firmware-level emulation enablement, and diagnosing ambiguous DOCA_ERROR_* failures across DPU and host layers. This Skill gives an AI agent the decision rules, workflows, and error taxonomy to do that correctly.
Core Features & Use Cases
- Sub-library selection: Routes the user to PCI Generic, virtio-net, or virtio-fs based on the emulated device class they want the host to see, and redirects packaged-service requests (DOCA SNAP, Virtio-net Service) elsewhere.
- Six workflow verbs: Step-by-step configure, build, modify, run, test, and debug workflows covering capability queries (doca_devemu_cap), pkg-config module resolution, doorbell/DMA wiring, and host-side driver bind verification.
- Error taxonomy and safety policy: Maps DOCA_ERROR_NOT_PERMITTED, NOT_SUPPORTED, BAD_STATE, INVALID_VALUE, and IO_FAILED to root causes across firmware, privilege, host kernel driver, and lifecycle layers.
- Use Case: A developer asks the agent to expose a virtio-net device from a BlueField so the host sees a NIC backed by custom DPU-side packet logic; the agent walks sub-library selection, firmware precondition checks, context bring-up, and host lspci/dmesg verification.
Quick Start
Ask your agent to expose a custom emulated PCIe device from the BlueField DPU to the host using the DOCA Device Emulation library.