Generated banner for Doca Comm Channel Admin
Generated logo for Doca Comm Channel Admin

Doca Comm Channel Admin

NVIDIAOfficialCreated by NVIDIA

  • Skill
  • Tool integration
  • Software development
  • Apache-2.0
  • Medium risk

From the author

Use this skill to enumerate host↔DPU DOCA comch (formerly Comm Channel) servers and connections via the shipped doca_comm_channel_admin binary — listing comch-capable devices and decoding the per-device server / connection table (server name, PID, in-use / max, PCIe address). The shipped binary is a SINGLE-SHOT SCAN-AND-PRINT tool with no registered arguments — NO list / inspect / drain / restart subcommands; one inventory pass over every comch-capable doca_dev on this side. Channel reset / drain / restart go to doca-comch (program side), doca-setup / doca-hardware-safety (driver reload), or BFB / RShim — NOT to this binary. Trigger on phrasings like "list comch servers", "which channels are active on this BlueField", or "verify admin tool sees same channel as program." Refuse and route elsewhere for the comch programming API, library install, protocol design, channel reset, or general orientation.
— the description by NVIDIA

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides guidance for using the doca_comm_channel_admin binary to perform a read-only, single-shot inventory of DOCA Comm Channel (comch) servers and connections. It is designed for operators and agents needing to verify channel health or debug connectivity issues between a host and a DPU. The tool scans all comch-capable devices and outputs status tables, serving as an observability primitive to complement program-side debugging.

What it does

  • Invokes the doca_comm_channel_admin binary for a single-shot scan.
  • Enumerates comch-capable devices on the current system.
  • Decodes and prints server and connection tables including PIDs and PCIe addresses.
  • Provides a read-only view of channel state for diagnostic purposes.
  • Facilitates cross-checking between program-reported status and actual hardware state.

When to use it

  • When you need to list currently active comch channels on a host or DPU.
  • When debugging a silent stall or connection error in a Comch-using application.
  • When verifying that a channel is healthy before declaring a service ready.
  • When you need to capture a snapshot of channel state as evidence for deeper debugging.

Advantages

  • Provides an external, objective view of channel state independent of the application.
  • Simple, zero-argument execution model for quick inventory.
  • Helps distinguish between application-level logic errors and underlying channel connectivity issues.
  • Standardized approach for observability across different DOCA environments.

Usage examples

“Which comch servers and connections are currently visible?”
The agent executes the doca_comm_channel_admin tool to output the current SERVERS and CONNECTIONS tables.
“My program reports CONNECTED but the admin tool lists zero channels. What is happening?”
The agent uses the tool to verify the hardware-level view, then investigates representor binding or potential mismatches between the program and the admin tool's perspective.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/nvidia/doca-comm-channel-admin/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip doca-comm-channel-admin.zip -d .agents/skills

Documentation by NVIDIA

DOCA Comm Channel Admin Tool

Examples

  • "Which comch servers and connections are currently visible?" — this is in scope. Stay on the admin CLI; do not open a new comch channel from this skill.

  • "The program reports CONNECTED but the admin tool lists zero channels." — cross-check representor binding before rewriting the comch app.

Instructions

Follow Loading order below. Open the tasks companion for run / debug. Open the capabilities companion for table columns and error layers. Do not open every companion file.

Actual binary contract. doca_comm_channel_admin is one zero-application-argument, read-only scan-and-print operation. It scans every comch-capable doca_dev on the current side via resourcedump (MFT) and prints SERVERS and CONNECTIONS tables. It has no list, inspect, device-scope, drain, restart, or other application operation. This skill does not retain conceptual workflows under invented command names.

Where to start: This is a tool skill for invoking the DOCA Comm Channel Admin Tool — the read-only inventory CLI counterpart to the doca-comch/SKILL.md library. The shipped doca_comm_channel_admin binary takes no arguments beyond ARGP defaults (--help, --version, --log-level, --sdk-log-level, --json) and performs one inventory pass per invocation: it walks every doca_dev on this side, filters to comch-capable devices, shells out to resourcedump (MFT) on each, and prints two ASCII tables (SERVERS and CONNECTIONS). There is no list subcommand, no inspect subcommand, no drain flag, and no restart flag — those are not part of the tool's surface. Open the tasks companion and start at ## run for the single-shot invocation, or ## debug when the user reports the tool sees a different channel set than the program. Open the capabilities companion when the question is what the printed tables actually mean and what is not in this tool's scope. If the user has not installed DOCA yet, route to doca-setup/SKILL.md first; if the user needs MFT (resourcedump on PATH with the privilege documented for the installed release), doca-setup + doca-public-knowledge-map cover that. If the user is holding pre-2.5 docs that mention "Comm Channel", route to doca-comch/SKILL.md for the rename rule. If the user wants to change channel state, route to the program-side reconnect lifecycle in doca-comch/SKILL.md or to BlueField mode / driver reload in doca-setup/SKILL.md + doca-hardware-safety/SKILL.md — not to this tool.

Example questions this skill answers well

The CLASSES of admin-tool questions this skill is built to answer, each with one worked example. The class is the load-bearing piece; the worked example is one instance.

  • "Which comch servers and connections are currently visible?" — worked example: "print every server and connection row visible on this side". Answered by the scan-and-print surface in the capabilities companion

    • the single invocation in the tasks companion.

  • "What does the tool report for this server or connection?" — locate the matching row in the SERVERS or CONNECTIONS table; there is no second per-channel query. Answered by the capabilities companion

    • the tasks companion.

  • "How do I know the admin tool's view matches what my Comch program sees?" — worked example: "the program reports CONNECTED but the admin tool lists zero channels". Answered by the cross-checking pattern in the tasks companion and the representor-binding layer in the capabilities companion.

  • "Is this admin tool on my installed DOCA version, and does it match the comch library version?" — worked example: "is the tool available on DOCA 2.4". Answered by the overlay in the capabilities companion, which redirects to the canonical doca-version/SKILL.md rules and adds the Comm Channel Admin Tool specifics.

  • "The tool prints nothing — is the install broken or is there genuinely no channel?" — worked example: "list returned an empty result on a host with a known-good Comch client". Answered by the empty-output interpretation rules in the tasks companion + the capabilities companion.

Audience

This skill serves external operators and AI agents who need to inventory a host-DPU comch channel from the outside — after the doca-comch/SKILL.md library has been used to create the channel from a program. Concretely:

  • A platform operator who runs a Comch-using service on BlueField and needs to confirm the channel is healthy before declaring the service ready.

  • A developer of a Comch consumer who sees DOCA_ERROR_AGAIN or a silent stall on the program side and wants to read the channel's state from outside the program rather than guessing.

  • An AI agent capturing the external server/connection rows before recommending a program-side code or lifecycle change.

It is not for users debugging the admin tool itself, not a substitute for the live public DOCA Comm Channel Admin Tool guide, and not the right place for users learning the comch API — that audience belongs in doca-comch/SKILL.md.

The tool is shipped as a CLI binary under /opt/mellanox/doca/tools/, not a library you link against. The skill uses the same kind: tool three-file shape as the rest of the bundle so the agent's task-verb contract (configure / build / modify / run / test / debug) is uniform across libraries, services, and tools.

When to load this skill

Load this skill when the user is — or the agent needs to — invoke the DOCA Comm Channel Admin Tool on a real host or BlueField Arm with DOCA installed (or inside the public NGC DOCA container with the right device passthrough). Concretely:

  • Listing currently active comch channels on a host or DPU.

  • Reading the row for one named server or connection from the complete zero-argument scan.

  • Cross-checking the admin tool's view against the program-side connection callback state when the two appear to disagree.

  • Capturing a side-effect-free channel snapshot as prerequisite evidence for a later debug session that crosses program / channel / driver layers.

Do not load this skill for general DOCA orientation, the comch programming API, library install, or comch protocol design. For those, route to doca-public-knowledge-map/SKILL.md, doca-comch/SKILL.md, or doca-setup/SKILL.md.

What this skill provides

This is a thin loader. Substantive material lives in two companion files:

  • the capabilities companion — what the Comm Channel Admin Tool reports: the two read-only tables, the version-availability overlay that redirects to doca-version/SKILL.md, the layered error taxonomy (tool-not-installed / device-binding / channel-discovery / channel-state-stuck / permission / version / cross-cutting), the tool's role as an observability primitive for doca-comch/SKILL.md debug sessions, and the read-only safety policy.

  • the tasks companion — step-by-step workflows for the in-scope task verbs: configure (route to install), build (route to install), modify (refuse), run (one scan-and-print), test (cross-check the printed rows), debug (the layered diagnosis ladder), plus a Deferred task verbs block and a Command appendix that honors the bundle's doca-structured-tools-contract/SKILL.md preamble.

The skill assumes a host or BlueField where DOCA is already installed (or the public NGC DOCA container is running with the right device passthrough) and the operator has whatever privileges the public DOCA Comm Channel Admin Tool guide requires.

What this skill deliberately does not ship

This skill is agent guidance, not a samples or scripts bundle. To keep the boundary clean, it deliberately does not contain — and pull requests should not add:

  • Verbatim flag inventories, subcommand names, or output column names. The public DOCA Comm Channel Admin Tool guide on docs.nvidia.com and the installed --help on the user's version are the joint source of truth; copying them here pins the skill to one release and silently rots when the tool evolves. The skill routes the agent at those sources instead.

  • Pre-baked example output. Output is install-, version-, and channel-state-specific. A captured example will mislead an operator on a different platform / state.

  • Wrappers, parsers, or scripts in any language that consume the admin tool's output. The output format is documented; users who want to script against it should read the live guide and write the parser against their installed version.

  • A samples/ or reference/ subtree. This is a thin loader for a documented CLI; substantive material lives on the public page and in --help.

Loading order

  1. Read this skill first to confirm the user's question is in scope (the user wants to inventory a comch channel from the outside, not learn the comch API).

  2. For what the tool reports, version availability, the layered error surface, observability, and safety posture, see the capabilities companion.

  3. For the single invocation and cross-check workflow — configure, build, modify, run, test, debug, plus the Command appendix — see the tasks companion.

  • doca-comch/SKILL.md — the library whose channels this tool inventories. Pair them in every triage session: the program-side connection callback and the admin tool's channel state are the two halves of the same picture.

  • doca-public-knowledge-map/SKILL.md — routing to the public DOCA Comm Channel Admin Tool guide and the rest of the public DOCA documentation set.

  • doca-version/SKILL.md — canonical DOCA version-handling rules. The ## Version compatibility section in the capabilities companion is a concise overlay that redirects here for the body.

  • doca-structured-tools-contract/SKILL.md — the bundle's detect → prefer → fall back → report contract for structured helper tools. The Command appendix in the tasks companion honors this contract.

  • doca-setup/SKILL.md — env preparation, install verification, representor visibility checks, and the I have no install yet path with the public NGC DOCA container. This skill assumes its preconditions are satisfied.

  • doca-debug/SKILL.md — the cross-cutting debug ladder. The Comm Channel Admin Tool slots in at the runtime layer as the read-only inventory surface before any code change is recommended.

Files

TASKS.md

DOCA Comm Channel Admin Tool — Tasks

Actual binary contract. Run /opt/mellanox/doca/tools/doca_comm_channel_admin with zero application arguments. It scans every comch-capable device on the current side through resourcedump and prints SERVERS and CONNECTIONS tables. No list, inspect, device-scope, drain, restart, or other application operation exists.

Where to start: The verbs that carry real workflow content are ## run, ## test, and ## debug. The other three (configure, build, modify) are documented routing stubs that exist because the bundle's verb contract is uniform. ## test cross-checks the single scan against the program side.

This file is loaded by SKILL.md after CAPABILITIES.md. It walks the agent through the six task verbs every artifact in this bundle exposes (configure / build / modify / run / test / debug), explicitly defers task verbs that do not belong here, and ends with the Command appendix honoring the bundle's doca-structured-tools-contract/SKILL.md preamble.

For the Comm Channel Admin Tool, the verbs that carry real workflow content are run, test, and debug. The other three verbs exist as anchors because the agent's task-verb contract is uniform across libraries, services, and tools — and each one carries a meaningful routing stub that names where the user's question really belongs.

configure

The Comm Channel Admin Tool takes no configuration of its own. It is a flag-driven CLI that operates against the channels the doca-comch/SKILL.md library has already created; there are no admin-tool config files, no daemons, no environment knobs the public guide documents as required for the tool itself.

If the user is asking "how do I configure the Comm Channel Admin Tool?", the question they almost certainly mean is one of:

  • "How do I install DOCA so the admin tool shows up?" → route to doca-setup ## install (doca-setup/TASKS.md#configure). The binary is shipped under /opt/mellanox/doca/tools/ on installs that include the Comm Channel tooling subpackage; configuring is install.

  • "How do I configure the comch channel the admin tool will inspect?" → not an admin-tool question. The channel is configured by the program that calls the comch library; route to doca-comch TASKS.md ## configure (doca-comch/TASKS.md#configure).

  • "How do I make the admin tool see a specific channel?" → not a configuration question; it is a discovery question. Run the zero-argument scan (see ## run), inspect the printed rows, and let the channel-discovery layer in ## debug guide the next step.

Do not invent configuration files or environment variables for this tool. If the public guide does not document a config knob, it does not exist.

build

The Comm Channel Admin Tool is shipped pre-built as part of every DOCA install that includes the Comm Channel tooling subpackage. There is no source tree the external user is expected to compile, no build flags, no meson or make workflow.

Routing for nearby "build" questions:

  • "The binary isn't there — do I need to build it?" → no. Route to doca-setup ## install (doca-setup/TASKS.md#configure). The fix is to install (or re-install) DOCA with the right package profile, or use the public NGC DOCA container per doca-setup ## no-install (doca-setup/TASKS.md#no-install).

  • "I want to build my own admin tool that talks to comch channels programmatically" → not an admin-tool question. Route to doca-comch/SKILL.md; the library's own capability-query family is the right programmatic surface, and the admin tool is a thin CLI wrapper around documented channel state, not a replacement for the library.

The ## What this skill deliberately does not ship block in SKILL.md explicitly forbids adding a build recipe for the admin tool or shipping wrappers around it; revisit that policy before changing this section.

modify

Do not modify the shipped Comm Channel Admin Tool binary. It is an NVIDIA-shipped CLI; there is no documented public way to change its behavior, output format, or operation surface, and none should be invented.

Routing for nearby "modify" questions:

  • "The output format is inconvenient — can I change it?" → no, not inside this skill. The documented surface is the surface. If the user wants structured output, the right answer is "check whether the installed version exposes one per --help, otherwise write a parser against the documented format on your installed version" — and even the parser is out of scope per SKILL.md ## What this skill deliberately does not ship.

  • "I need different information than the admin tool reports" → route to doca-comch/SKILL.md — the programmatic comch capability and state surface is broader than what the CLI exposes for routine operation.

  • "Can I patch the tool to add a flag?" → out of scope; this skill is for consumers of the shipped tool, not contributors to it.

run

The Comm Channel Admin Tool exposes one operation: a zero-application-argument scan-and-print.

  1. Confirm the binary is present under /opt/mellanox/doca/tools/. If absent, route to ## configure above.

  2. Run the binary with zero application arguments on the side where the user reports the problem. Do not add a device selector or a list/inspect token; the binary itself scans every comch-capable doca_dev on that side.

  3. Capture the process result as one artifact: exit status, complete stdout (SERVERS and CONNECTIONS tables), and complete stderr.

  4. Check the resourcedump dependency before interpreting empty output. Missing MFT, resourcedump absent from PATH, insufficient privilege, non-zero child exit, or child stderr is a setup failure. Route it to doca-setup ## debug (doca-setup/TASKS.md#debug); do not call it an empty inventory.

  5. Read the relevant row. Locate the expected server or connection in the printed tables. There is no per-row follow-up invocation. If the row is absent after a clean exit, cross-check the program side and, if needed, run the same zero-argument scan on the other side.

When recording the run for downstream consumers, write down: the DOCA version (per doca-version/SKILL.md), the side the tool was run on (host vs BlueField Arm), the exact zero-argument command line, exit status, stdout tables, and stderr. The downstream ## test and ## debug workflows depend on all six fields.

test

## test validates that one complete scan is trustworthy and cross-checks its relevant row; it does not invoke a second operation.

  1. Require a clean scan artifact. Per ## run, retain exit status, both stdout tables, and stderr. Any unresolved resourcedump prerequisite or execution failure routes to setup and blocks interpretation.

  2. Locate the expected row in the existing tables. Do not add an inspect or device-scope argument. Quote the row verbatim.

  3. Cross-check against the program side. The program-side connection callback in doca-comch CAPABILITIES.md ## Observability (doca-comch/CAPABILITIES.md#observability) must agree with the printed row.

  4. If the expected row is absent, scan the other side. Run the same zero-argument binary there and compare its full tables. There is still no device-scoped or per-channel invocation.

This skill does not ship a "test fixture" or pre-recorded expected output. The expected output is install-, version-, and channel-state-specific; pinning one would mislead operators on a different platform / version. See SKILL.md ## What this skill deliberately does not ship.

debug

When the user reports a stuck channel, or when the smoke in ## test does not read clean, walk the CAPABILITIES.md ## Error taxonomy layers in order. The shape of the diagnosis:

  1. Tool-not-installed. The admin-tool binary does not exist under /opt/mellanox/doca/tools/. Confirm DOCA is installed (e.g. pkg-config --modversion doca-common, cat /opt/mellanox/doca/applications/VERSION) and that the install profile included the Comm Channel tooling subpackage. Route to doca-setup ## install (doca-setup/TASKS.md#configure) if not.

  2. resourcedump prerequisite / execution layer. Confirm MFT is installed, resourcedump resolves through PATH, and the documented privilege requirement is met. Capture the admin tool's exit status and stderr and the child resourcedump exit/stderr. Any non-zero exit or diagnostic output is routed to doca-setup ## debug (doca-setup/TASKS.md#debug); do not interpret absent tables.

  3. Device-binding layer. The scan cannot read one or more devices on this side. Use the captured exit/stderr and resourcedump diagnostics as ground truth and route driver, representor, privilege, MFT, or PATH remediation to doca-setup ## debug (doca-setup/TASKS.md#debug).

  4. Row-discovery layer. The scan exits cleanly and prints both tables, but the expected row is absent. Inspect those rows; do not rerun with an invented device scope. Confirm the program-side connection callback has fired CONNECTED per doca-comch TASKS.md ## debug (doca-comch/TASKS.md#debug), then run the same zero-argument scan on the other side if needed.

  5. Version layer. Tool runs but its view of the channel disagrees with what the program-side doca_comch_* API reports. Walk the four-way match per doca-version TASKS.md ## debug (doca-version/TASKS.md#debug) layer 2 and apply the admin-tool overlay in CAPABILITIES.md ## Version compatibility. When the tool and the *.so came from different installs, the fix is a consistent reinstall, not a code change.

  6. Cross-cutting layer. All layers above are clean but the scan and program-side evidence disagree. Escalate to doca-debug TASKS.md ## debug (doca-debug/TASKS.md#debug) with the captured admin-tool inspection plus the program-side trace as evidence.

In every case: quote the relevant table row and retain the exact exit status and stderr. Do not synthesize a second command surface from the printed fields.

Deferred task verbs

The four verbs below are not Comm Channel Admin Tool work and should be routed out before the agent does any of them under this skill's name.

  • install ⇒ doca-setup ## install (doca-setup/TASKS.md#configure) (and ## no-install (doca-setup/TASKS.md#no-install) for the public NGC DOCA container path). The admin tool is shipped by the install; this skill does not own the install workflow.

  • write a Comch program (any language) ⇒ doca-comch/SKILL.md, layered on doca-programming-guide/SKILL.md. The admin tool inspects channels the library created; it is not a template for creating them.

  • library-internal capability or state check (e.g. per-message task-completion-callback semantics, producer / consumer queue sizing) ⇒ doca-comch/SKILL.md. The admin tool only exposes the documented channel-state surface; deeper per-API state belongs to the library.

  • streaming telemetry / live metrics ⇒ not an admin-tool feature. The DOCA Telemetry Service (DTS) is the documented telemetry surface; routing belongs in doca-public-knowledge-map ## DOCA services (doca-public-knowledge-map/SKILL.md#doca-services).

Command appendix

The tool has exactly one application invocation class.

Infra-aware preamble (every row below). Per the bundle's detect → prefer → fall back → report contract documented in doca-structured-tools-contract ## The agent behavior contract (doca-structured-tools-contract/SKILL.md#the-agent-behavior-contract), the agent should:

  1. Probe for the matching structured helper FIRST (doca-env --json for version + devices + libraries + drivers + hugepages in one shot; doca-capability-snapshot for per-device capability flags; version-matrix.json for "available since" lookups).

  2. If the probe succeeds, the structured tool's output is the authoritative answer for the environment facts it covers (versions, devices, capabilities) and the agent SHOULD NOT also run the manual command for those facts. The helpers do not produce the SERVERS / CONNECTIONS tables, so the comm-channel admin scan itself always runs. Report "using structured <tool>".

  3. If the probe fails, fall back to the manual command in the row. Report "falling back to manual chain".

  4. The schemas the structured tools emit are defined in doca-structured-tools-contract ## Schemas (doca-structured-tools-contract/SKILL.md#schemas); the version-handling semantics (four-way match, NGC, headers-win) are owned by doca-version/SKILL.md.

Purpose (class)Invocation (shape)Owning stepReads as healthy when …
Scan and print all comch rows on this side/opt/mellanox/doca/tools/doca_comm_channel_admin with zero application arguments; capture exit status, complete stdout, and complete stderr## run, ## test, ## debugExit 0; MFT resourcedump is installed and reachable through PATH, privilege is sufficient, no child invocation fails, and stdout contains the SERVERS and CONNECTIONS tables. Any MFT/PATH/privilege/non-zero-exit/stderr failure routes to doca-setup ## debug (doca-setup/TASKS.md#debug) before table interpretation.

Three cross-cutting rules for this appendix:

  • Never add an application argument. There is no subcommand, device scope, or per-row follow-up.

  • Inspect rows or the other side. If the target row is absent, inspect the existing tables or run the same zero-argument scan on the other side.

  • Cross-link instead of duplicate. Cross-cutting commands (pkg-config --modversion, dmesg, mlxconfig -d <bdf> q) live in doca-debug TASKS.md ## Command appendix (doca-debug/TASKS.md#command-appendix); the env-side representor / PCIe enumeration lives in doca-setup TASKS.md ## Command appendix (doca-setup/TASKS.md#command-appendix); this appendix names only Comm Channel Admin Tool-specific invocations on top.

Cross-cutting

A few rules that apply across every verb in this file, restated here so they are visible at the point of action and not buried in SKILL.md:

  • The binary has one zero-application-argument scan-and-print operation. Do not invent additional command surfaces.

  • Quote, do not paraphrase. The table output is the artifact downstream debug consumes; reformatting it loses fidelity that the rest of the bundle's procedures depend on.

  • This skill assumes a healthy DOCA install (or the public NGC DOCA container) at both endpoints of the host ↔ DPU pair. If the install is in doubt, route to doca-setup/SKILL.md before running anything else here. For the comch programming surface that created the channel, see doca-comch/SKILL.md.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

The author says: Requires DOCA SDK installed at /opt/mellanox/doca on Linux (Ubuntu 22.04/24.04 or RHEL/SLES) with the Comm Channel tooling subpackage so the CLI is present under /opt/mellanox/doca/tools/. Runs from either the x86/Arm host or the BlueField Arm side; a live host↔DPU comch channel created via the doca-comch library is needed for non-empty tables. The validation steps require a live DOCA install.

Security

What our scanner noticed· Medium risk

  • Large base64-encoded blobs

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
NVIDIA
Publisher
NVIDIA (Official)
Source
NVIDIA/skills · skills/doca-comm-channel-admin · commit fce3cca
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE-APACHE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by NVIDIA or NVIDIA.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download doca-comm-channel-admin.zip