/doca-eth
Use this skill for hands-on DOCA Ethernet packet-queue work on a BlueField DPU or ConnectX NIC — bringing up a `doca_eth_rxq` or `doca_eth_txq` on a port / representor / SF, picking among the four `enum doca_eth_rxq_type` values (`_REGULAR` / `_CYCLIC` / `_MANAGED_MEMPOOL` /
$ npx -y skills add NVIDIA/skills --skill doca-eth --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/doca-eth
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use this skill for hands-on DOCA Ethernet packet-queue work on a BlueField DPU or ConnectX NIC — bringing up a `doca_eth_rxq` or `doca_eth_txq` on a port / representor / SF, picking among the four `enum doca_eth_rxq_type` values (`_REGULAR` / `_CYCLIC` / `_MANAGED_MEMPOOL` /
SKILL.md
doca-eth.SKILL.mdlicense: Apache-2.0
name: doca-eth
description: >
Use this skill for hands-on DOCA Ethernet packet-queue work
on a BlueField DPU or ConnectX NIC — bringing up a
`doca_eth_rxq` or `doca_eth_txq` on a port / representor /
SF, picking among the four `enum doca_eth_rxq_type` values
(`_REGULAR` / `_CYCLIC` / `_MANAGED_MEMPOOL` /
`_SHARED_MEMPOOL`), sizing burst or scatter-gather length
against the `_cap_*` queries, submitting
`doca_eth_txq_task_send` / `_lso_send` (carrying packet
`doca_buf`s — no `doca_eth_frame` struct exists), or
debugging DOCA_ERROR_* from an Ethernet call. Trigger on
implicit phrasings: "my RX queue is up but no packets
arrive", "send-task returns AGAIN at line rate", "which
queue type for fixed-MTU ingress", "device open fails
without sudo", or "is L3 checksum offload available here".
Refuse and route elsewhere for installing DOCA,
flow-rule / steering programming, host↔DPU control
messaging, or RDMA data movement.
metadata:
kind: library
compatibility: >
Requires DOCA SDK installed at /opt/mellanox/doca on Linux
(Ubuntu 22.04/24.04 or RHEL/SLES) with a BlueField DPU or
ConnectX NIC attached. Reads the user's local install via
`pkg-config doca-eth` and inspects
/opt/mellanox/doca/{lib,include,samples,applications}.DOCA Ethernet
**Where to start:** This skill assumes DOCA is already installed and the user is doing **hands-on packet-queue work** on a host or BlueField with DOCA. Open [`TASKS.md`](TASKS.md) if the user wants to *do* something (configure / build / modify / run / test / debug); open [`CAPABILITIES.md`](CAPABILITIES.md) when the question is *what can a DOCA Ethernet queue express* on this version. If the user has not installed DOCA yet, route to [`doca-setup`](../../doca-setup/SKILL.md) first. If the user is asking *"how do I get packets to land on my RX queue at all"*, the answer lives in [`doca-flow`](../doca-flow/SKILL.md) — DOCA Ethernet is the *queue* surface; DOCA Flow is the *steering* surface, and they are independent libraries.
Example questions this skill answers well
The CLASSES of DOCA Ethernet questions this skill is built to answer, each with one worked example. The agent should treat the *class* as the load-bearing piece — the worked example is a single instance.
- **"How do I bring up an RX and TX queue on a representor or
physical port?"** — worked example: *"set up a `doca_eth_rxq` plus a `doca_eth_txq` on a single BlueField representor for first-run testing"*. Answered by the queue-pair lifecycle in [`TASKS.md ## configure`](TASKS.md#configure) + [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes) RX / TX object table.
- **"Which RX type fits my data shape — regular, cyclic, or
managed-recv?"** — worked example: *"line-rate ingress with fixed-size frames into a pre-allocated buffer ring"*. Answered by the RX-type taxonomy in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)
- the capability-query rule (`doca_eth_rxq_cap_is_type_supported`
against a `doca_devinfo`) in [`TASKS.md ## configure`](TASKS.md#configure).
- **"How do I send a packet from user code through `doca_eth_txq`?"**
— worked example: *"allocate a packet `doca_buf`, attach the payload, submit one send-task, wait for the completion event"*. Answered by the TX submission shape in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)
- the property-set workflow in
[`TASKS.md ## modify`](TASKS.md#modify).
- **"My queue is up but no packets arrive — why?"** — worked
example: *"`doca_eth_rxq` started cleanly but the recv callback never fires"*. Answered by the steering-dependency rule in [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy)
- the env-prep checklist in
[`TASKS.md ## configure`](TASKS.md#configure) step 1, which routes the steering side to [`doca-flow`](../doca-flow/SKILL.md) and the promiscuous-mode side to [`doca-setup`](../../doca-setup/SKILL.md).
- **"Is this Ethernet capability available on my device + my
installed DOCA?"** — worked example: *"does this device advertise L3 checksum offload"*. Answered by the capability-query rule (`doca_eth_txq_cap_is_l3_chksum_offload_supported` against a `doca_devinfo`) in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)
- the version-and-device overlay in
[`CAPABILITIES.md ## Version compatibility`](CAPABILITIES.md#version-compatibility).
- **"What does this `DOCA_ERROR_*` from an Ethernet call mean and
which layer caused it?"** — worked example: *"`DOCA_ERROR_AGAIN` on `doca_task_submit` for an `eth_txq` send-task at high rate"*. Answered by the Ethernet overlay on the cross-library taxonomy in [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy)
- the layered ladder in
[`TASKS.md ## debug`](TASKS.md#debug) that escalates to [`doca-debug`](../../doca-debug/SKILL.md).
Audience
This skill serves **external developers building applications that consume the DOCA Ethernet library** — i.e., users whose code calls `doca_eth_rxq_*` / `doca_eth_txq_*` (directly in C/C++, or through FFI/bindings from another language) to do line-rate packet I/O on physical ports, representors, or SFs of a BlueField or ConnectX device. It is *not* for NVIDIA developers contributing to DOCA Ethernet itself.
**Language scope.** DOCA Ethernet ships as a C library with `pkg-config` module name `doca-eth`. The shipped samples are written in C. C and C++ consumers are the canonical case; the worked examples in `TASKS.md` assume that path. Other-language consumers (Rust, Go, Python, …) consume the same `*.so` through FFI or language-specific bindings; the skill's contribution in that case is to keep the queue-object split, lifecycle, capability-discovery, permission, RX-type taxonomy, and error-taxonomy guidance language-neutral, and to r
Read more
license: Apache-2.0
name: doca-eth
description: >
Use this skill for hands-on DOCA Ethernet packet-queue work
on a BlueField DPU or ConnectX NIC — bringing up a
`doca_eth_rxq` or `doca_eth_txq` on a port / representor /
SF, picking among the four `enum doca_eth_rxq_type` values
(`_REGULAR` / `_CYCLIC` / `_MANAGED_MEMPOOL` /
`_SHARED_MEMPOOL`), sizing burst or scatter-gather length
against the `_cap_*` queries, submitting
`doca_eth_txq_task_send` / `_lso_send` (carrying packet
`doca_buf`s — no `doca_eth_frame` struct exists), or
debugging DOCA_ERROR_* from an Ethernet call. Trigger on
implicit phrasings: "my RX queue is up but no packets
arrive", "send-task returns AGAIN at line rate", "which
queue type for fixed-MTU ingress", "device open fails
without sudo", or "is L3 checksum offload available here".
Refuse and route elsewhere for installing DOCA,
flow-rule / steering programming, host↔DPU control
messaging, or RDMA data movement.
metadata:
kind: library
compatibility: >
Requires DOCA SDK installed at /opt/mellanox/doca on Linux
(Ubuntu 22.04/24.04 or RHEL/SLES) with a BlueField DPU or
ConnectX NIC attached. Reads the user's local install via
`pkg-config doca-eth` and inspects
/opt/mellanox/doca/{lib,include,samples,applications}.DOCA Ethernet
**Where to start:** This skill assumes DOCA is already installed and the user is doing **hands-on packet-queue work** on a host or BlueField with DOCA. Open [`TASKS.md`](TASKS.md) if the user wants to *do* something (configure / build / modify / run / test / debug); open [`CAPABILITIES.md`](CAPABILITIES.md) when the question is *what can a DOCA Ethernet queue express* on this version. If the user has not installed DOCA yet, route to [`doca-setup`](../../doca-setup/SKILL.md) first. If the user is asking *"how do I get packets to land on my RX queue at all"*, the answer lives in [`doca-flow`](../doca-flow/SKILL.md) — DOCA Ethernet is the *queue* surface; DOCA Flow is the *steering* surface, and they are independent libraries.
Example questions this skill answers well
The CLASSES of DOCA Ethernet questions this skill is built to answer, each with one worked example. The agent should treat the *class* as the load-bearing piece — the worked example is a single instance.
- **"How do I bring up an RX and TX queue on a representor or
physical port?"** — worked example: *"set up a `doca_eth_rxq` plus a `doca_eth_txq` on a single BlueField representor for first-run testing"*. Answered by the queue-pair lifecycle in [`TASKS.md ## configure`](TASKS.md#configure) + [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes) RX / TX object table.
- **"Which RX type fits my data shape — regular, cyclic, or
managed-recv?"** — worked example: *"line-rate ingress with fixed-size frames into a pre-allocated buffer ring"*. Answered by the RX-type taxonomy in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)
- the capability-query rule (`doca_eth_rxq_cap_is_type_supported`
against a `doca_devinfo`) in [`TASKS.md ## configure`](TASKS.md#configure).
- **"How do I send a packet from user code through `doca_eth_txq`?"**
— worked example: *"allocate a packet `doca_buf`, attach the payload, submit one send-task, wait for the completion event"*. Answered by the TX submission shape in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)
- the property-set workflow in
[`TASKS.md ## modify`](TASKS.md#modify).
- **"My queue is up but no packets arrive — why?"** — worked
example: *"`doca_eth_rxq` started cleanly but the recv callback never fires"*. Answered by the steering-dependency rule in [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy)
- the env-prep checklist in
[`TASKS.md ## configure`](TASKS.md#configure) step 1, which routes the steering side to [`doca-flow`](../doca-flow/SKILL.md) and the promiscuous-mode side to [`doca-setup`](../../doca-setup/SKILL.md).
- **"Is this Ethernet capability available on my device + my
installed DOCA?"** — worked example: *"does this device advertise L3 checksum offload"*. Answered by the capability-query rule (`doca_eth_txq_cap_is_l3_chksum_offload_supported` against a `doca_devinfo`) in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)
- the version-and-device overlay in
[`CAPABILITIES.md ## Version compatibility`](CAPABILITIES.md#version-compatibility).
- **"What does this `DOCA_ERROR_*` from an Ethernet call mean and
which layer caused it?"** — worked example: *"`DOCA_ERROR_AGAIN` on `doca_task_submit` for an `eth_txq` send-task at high rate"*. Answered by the Ethernet overlay on the cross-library taxonomy in [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy)
- the layered ladder in
[`TASKS.md ## debug`](TASKS.md#debug) that escalates to [`doca-debug`](../../doca-debug/SKILL.md).
Audience
This skill serves **external developers building applications that consume the DOCA Ethernet library** — i.e., users whose code calls `doca_eth_rxq_*` / `doca_eth_txq_*` (directly in C/C++, or through FFI/bindings from another language) to do line-rate packet I/O on physical ports, representors, or SFs of a BlueField or ConnectX device. It is *not* for NVIDIA developers contributing to DOCA Ethernet itself.
**Language scope.** DOCA Ethernet ships as a C library with `pkg-config` module name `doca-eth`. The shipped samples are written in C. C and C++ consumers are the canonical case; the worked examples in `TASKS.md` assume that path. Other-language consumers (Rust, Go, Python, …) consume the same `*.so` through FFI or language-specific bindings; the skill's contribution in that case is to keep the queue-object split, lifecycle, capability-discovery, permission, RX-type taxonomy, and error-taxonomy guidance language-neutral, and to r
Official, NVIDIA-verified Agent Skills for Claude Code, Codex, and other coding agents.
Other skills on nvidia-skills.
- /nvidia-skill-finder
Use for NVIDIA-related requests where an NVIDIA skill might help, even if the user did not ask for a skill. Trigger on NVIDIA products, hardware, software, SDKs, GPUs, Jetson/JetPack/L4T/BSP/SDK Manager/driver/flashing/setup, CUDA, NIM, NeMo, Omniverse/OpenUSD/SimReady,
Open skill - /accelerated-computing-cudf
Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV/Parquet I/O, nullable semantics, and multi-GPU DataFrame workloads.
Open skill - /aiq-deploy
Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.
Open skill - /aiq-research
Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.
Open skill - /amc-run-sample-calibration
Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.
Open skill - /amc-run-video-calibration
Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP/live streams, use amc-run-rtsp-calibration instead.
Open skill

