What problem does it solve?
Every DOCA application on a BlueField DPU or ConnectX NIC rests on the same foundation primitives — doca_ctx lifecycle, doca_dev device discovery, doca_mmap/doca_buf zero-copy buffers, the doca_pe progress engine, and the two-tier DOCA Log model — and misusing any of them causes the classic failures: tasks that submit but never complete, DOCA_ERROR_BAD_STATE crashes, and log lines that never appear. This Skill teaches agents the correct universal foundation sequence so those errors are avoided or diagnosed quickly.
Core Features & Use Cases
- Universal foundation skeleton: Walks the canonical sequence every DOCA app follows — doca_devinfo_create_list, capability gating via doca_cap queries, doca_dev_open, doca_pe_create, per-library context creation, doca_pe_connect_ctx, doca_ctx_start, and the PE-driven run loop.
- Zero-copy buffer wiring: Explains the doca_mmap / doca_buf_inventory / doca_buf layering so buffers flow across libraries (eth, dma, rdma) without copies, including lifecycle and teardown ordering.
- Two-tier DOCA Log model: Clarifies the independent SDK tier (--sdk-log-level / DOCA_LOG_LEVEL_SDK) versus app tier (doca_log_register_source, per-source levels), the number-one first-app debug failure.
- Error taxonomy and debug ladder: Maps DOCA_ERROR_* families (BAD_STATE, INVALID_VALUE, NOT_SUPPORTED, NOT_PERMITTED, NO_MEMORY, DRIVER) to their layer-specific causes and first actions.
- Use Case: A developer starting a new DOCA Flow program on BlueField-3 asks what foundation code is needed before opening a Flow port; the agent walks the device discovery, capability check, PE creation, and context lifecycle in the correct order.
Quick Start
Ask your agent to walk you through the doca-common foundation skeleton needed before opening a doca_rdma context on your BlueField DPU.