DOCA Socket Relay
Where to start: This is a tool skill for invoking the DOCA Socket
Relay — the host ↔ BlueField bridge that lets a socket-oriented host
application terminate its sockets locally while the relay forwards
the traffic to a DPU-side terminator across the DOCA fabric. Open
TASKS.md and start at ## configure
for the deployment-shape × socket-type × forwarding-endpoint
decision, then ## run for the bind → connect →
round-trip flow. Open CAPABILITIES.md when the
question is what state can the relay carry, what does it report,
and what does its data-path posture imply. If the user has not
installed DOCA yet, route to
doca-setup first. If the user is
asking about the host ↔ DPU control plane rather than the
data plane the relay carries, route to
doca-comch — the relay is the
data-plane counterpart to comch.
Example questions this skill answers well
The CLASSES of socket-relay 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.
- "Can I move my existing socket-based application onto a DOCA
fabric without rewriting it?" — worked example: "a host service
speaks a socket protocol to a peer; I want the peer to live on
the BlueField DPU instead, but I do not want to port the
application to the comch programming surface". Answered by the
use-case framing in
CAPABILITIES.md ## Capabilities and modes
- the deployment-shape decision in
TASKS.md ## configure.
- "Where does the relay sit, and what runs on the host vs the
DPU?" — worked example: "do I run one relay process on the
host, a sidecar next to my app, or a relay container on the
BlueField — and what is on the DPU side that actually terminates
the connection?". Answered by the three-axis configuration model
(deployment shape × socket type × forwarding endpoint) in
CAPABILITIES.md ## Capabilities and modes
TASKS.md ## configure step 2.
- "My relay is up but the host application cannot connect." —
worked example: "the relay process is running but the host app
reports
ECONNREFUSED / connect timeout when it tries the
socket / port the relay should be listening on". Answered by the
layered error taxonomy in
CAPABILITIES.md ## Error taxonomy
layers 1-3 + the bind / accept ladder in
TASKS.md ## debug.
- "Bytes leave the host but never arrive on the DPU side." —
worked example: "the host app's socket connect succeeded, the
relay reports the connection accepted, but the DPU-side
terminator never sees the data". Answered by the
forwarding-endpoint layer in
CAPABILITIES.md ## Error taxonomy
layer 4 + the silent-data-path failure mode named in
CAPABILITIES.md ## Safety policy.
- "How do I prove the relay is the right answer before I admit
the whole fleet onto it?" — worked example: "I have N host
clients; I want to confirm one of them works end-to-end before
pointing the rest at the relay". Answered by the
smoke-before-bulk loop in
TASKS.md ## test (bind → confirm one host app
connects → confirm one round-trip end-to-end → only then admit
the fleet).
- "Is this Socket Relay shipped on my installed DOCA, and does
its version match the comch / eth pieces it sits on?" — worked
example: "is the relay binary present on this host, and does
it agree with
pkg-config --modversion doca-common". Answered
by the version overlay in
CAPABILITIES.md ## Version compatibility,
which redirects to the canonical
doca-version rules and adds the
Socket Relay specifics (presence check, host vs BlueField
packaging, agreement with companion libraries).
Audience
This skill serves external operators, application owners, and AI
agents who need to bridge a socket-oriented application onto a
BlueField DPU without rewriting the application against the DOCA
programming surface. Concretely:
- A platform owner with an existing host service that speaks a
socket protocol to a peer and wants the peer to live on the
BlueField instead — without porting the host service onto
doca-comch.
- A migration engineer evaluating the relay as the first step of
a phased move onto DOCA, with the comch / RDMA / Ethernet
rewrite reserved for a later phase.
- An SRE / platform operator deploying the relay as a service
container on the BlueField via the runtime contract documented
in
doca-container-deployment.
- An AI agent answering "my host app cannot reach the DPU on the
socket I configured — what do I check" with the relay's layered
error surface as the diagnosis ladder.
It is not for users debugging the Socket Relay binary itself,
not a substitute for the live public DOCA Socket Relay guide,
and not the right place for users learning the comch
programming API or for users doing line-rate raw-packet I/O. Those
audiences belong in doca-comch
and doca-eth respectively.
The Socket Relay is shipped as a documented DOCA artifact on
installs that include it; depending on the operator's deployment
shape, it can be invoked as a CLI on the host or BlueField Arm, or
deployed as a service container on the BlueField via the
documented kubelet-standalone runtime in
doca-container-deployment.
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 — drive
the DOCA Socket Relay on a real host or BlueField Arm with DOCA
installed (or inside the public NGC DOCA container with the right
device passthrough). Concretely:
- Migrating a socket-based application off a same-host peer onto
a BlueField-side terminator without rewriting the application.
- Picking the relay's deployment shape (in-process beside the app,
sidecar process / container, or a service container on the
BlueField) for a specific environment.
- Configuring the host-side socket the relay binds and the DPU-side
forwarding endpoint the relay points at, before any application
client tries to connect.
- Walking the bind → connect → round-trip → admit-fleet loop on a
brand-new relay deployment.
- Diagnosing a "host app cannot connect", "connection accepted
but no bytes flow", or "first round-trip works, the rest hang"
symptom against the relay's layered error surface.
- Cross-checking the relay's view against the host application
side and the DPU-side terminator when the three appear to
disagree.
Do not load this skill for general DOCA orientation, the comch
programming API, RDMA programming, line-rate raw packet I/O, or
DOCA install. For those, route to
doca-public-knowledge-map,
doca-comch,
doca-eth, or
doca-setup.
What this skill provides
This is a thin loader. Substantive material lives in two
companion files:
CAPABILITIES.md — what the Socket Relay carries and changes:
the three-axis configuration model (deployment shape × socket
type / protocol × forwarding endpoint), the read-only vs
state-changing operation split, the version-availability overlay
that redirects to doca-version,
the layered error taxonomy (tool-not-installed / relay-not-bound
/ host-app-not-connecting / DPU-side-terminator-not-reachable /
permission / version / cross-cutting), the relay's role as the
data-plane counterpart to
doca-comch, and the
high-stakes safety policy that makes a misconfigured forwarding
endpoint a silent data-path break.
TASKS.md — step-by-step workflows for the in-scope task verbs:
configure (the three-axis decision + the precondition probe),
build (route to install — the relay is shipped pre-built),
modify (refuse — modify the invocation / deployment, not the
binary), run (the bind → connect → round-trip flow), test
(the smoke-before-bulk eval loop), debug (the layered
diagnosis ladder), plus a Deferred task verbs block and a
Command appendix that honors the bundle's
doca-structured-tools-contract
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 Socket Relay guide requires for the chosen
deployment shape.
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 binary names, flag inventories, subcommand names,
socket-path defaults, port numbers, or output column names.
The public DOCA Socket Relay 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 relay evolves. The skill routes the agent
at those sources instead.
- Pre-baked example output. Output is install-, version-, and
deployment-specific. A captured example will mislead an operator
on a different platform / state.
- Wrappers, parsers, or scripts in any language that consume
the relay'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 DOCA artifact; substantive material lives on
the public page and in --help.
Loading order
- Read this
SKILL.md first to confirm the user's question is in
scope (the user wants to bridge a socket-based application onto
the DPU without rewriting it onto the DOCA programming surface,
not learn the comch / eth / RDMA APIs).
- For what the relay carries, the three-axis configuration
model, the read-only vs state-changing split, version
availability, the layered error surface, observability, and
safety posture, see CAPABILITIES.md.
- For the documented invocations and the smoke-before-bulk
workflow —
configure, build, modify, run, test,
debug, plus the Command appendix — see
TASKS.md.
Related skills
doca-comch — the host ↔ DPU
control-plane primitive (PCIe-based message channel between a
host and a DPU process). The Socket Relay is the data-plane
counterpart for socket-oriented applications: comch is what an
application uses to coordinate across the host ↔ DPU boundary
programmatically; the relay is what an application uses to
carry socket-shaped bytes across that boundary without being
rewritten. Pair the two when an application owner is migrating
in stages — control plane first via comch, data plane via the
relay until a per-library rewrite is justified.
doca-eth — the line-rate raw
packet I/O surface that sits below the socket level. The relay
presents a socket-shaped interface to the application and rides
the underlying DOCA fabric; doca-eth is the right answer when
the application can be rewritten to operate on packets directly
rather than sockets, and when the throughput / latency profile
the relay achieves is no longer sufficient.
doca-container-deployment
— the BlueField service-runtime contract (kubelet standalone +
static-pod manifests + per-service config-file mount). Load this
alongside the present skill when the operator's chosen
deployment shape is a relay container running on the BlueField
rather than a host-side process; the runtime contract there owns
the pod-spec / image-pull / static-pod / liveness pieces, this
skill owns the relay-specific config.
doca-comm-channel-admin
— the operator-side admin CLI for comch channels. The
list → inspect → decide pattern there is the same shape the
Socket Relay uses for its own state: read-only inspection first,
state-changing operations gated on a clean smoke. Both tools are
members of the same family and the same patterns apply.
doca-public-knowledge-map
— routing to the public DOCA Socket Relay guide and the rest of
the public DOCA documentation set. The canonical URL is reached
via doca-public-knowledge-map ## DOCA tools.
doca-version — canonical DOCA
version-handling rules. The ## Version compatibility section
in CAPABILITIES.md is a concise overlay
that redirects here for the body.
doca-structured-tools-contract
— the bundle's detect → prefer → fall back → report contract for
structured helper tools. The Command appendix in
TASKS.md honors this contract.
doca-setup — 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 — the cross-cutting
debug ladder. The Socket Relay slots in at the runtime layer
as a data-path bridge whose layered error surface escalates to
the cross-cutting ladder when the cause is below DOCA.
1---2name: doca-socket-relay3description: Use this skill when the operator is driving the DOCA Socket Relay to bridge a socket-oriented host application onto a BlueField DPU peer without rewriting it — picking the deployment shape (in-process, sidecar, or BlueField service container), configuring the host-side socket and the DPU-side forwarding endpoint, walking the bind → connect → round-trip → admit-fleet smoke, or diagnosing a stuck/silent relay. Trigger even when the user does not explicitly mention "DOCA Socket Relay" — typical implicit phrasings include "move my socket app onto the BlueField without rewriting it", "host app gets ECONNREFUSED on the relay", "relay accepts the connection but bytes never arrive on the DPU side", "first round-trip works, the rest hang", "bridge an AF_UNIX (UDS) socket to a DPU peer over Comch", or "I want a sidecar that forwards my socket to the BlueField". Refuse and route elsewhere for the comch programming API, line-rate raw packet I/O via doca-eth, and DOCA install/bring-up — those belong to other skills.4license: Apache-2.05---67# DOCA Socket Relay89**Where to start:** This is a tool skill for invoking the DOCA Socket10Relay — the host ↔ BlueField bridge that lets a socket-oriented host11application terminate its sockets locally while the relay forwards12the traffic to a DPU-side terminator across the DOCA fabric. Open13[`TASKS.md`](TASKS.md) and start at [`## configure`](TASKS.md#configure)14for the deployment-shape × socket-type × forwarding-endpoint15decision, then [`## run`](TASKS.md#run) for the bind → connect →16round-trip flow. Open [`CAPABILITIES.md`](CAPABILITIES.md) when the17question is *what state can the relay carry, what does it report,18and what does its data-path posture imply*. If the user has not19installed DOCA yet, route to20[`doca-setup`](../../doca-setup/SKILL.md) first. If the user is21asking about the host ↔ DPU **control plane** rather than the22**data plane** the relay carries, route to23[`doca-comch`](../../libs/doca-comch/SKILL.md) — the relay is the24data-plane counterpart to comch.2526## Example questions this skill answers well2728The CLASSES of socket-relay questions this skill is built to answer,29each with one worked example. The class is the load-bearing piece;30the worked example is one instance.3132- **"Can I move my existing socket-based application onto a DOCA33 fabric without rewriting it?"** — worked example: *"a host service34 speaks a socket protocol to a peer; I want the peer to live on35 the BlueField DPU instead, but I do not want to port the36 application to the comch programming surface"*. Answered by the37 use-case framing in38 [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)39 + the deployment-shape decision in40 [`TASKS.md ## configure`](TASKS.md#configure).41- **"Where does the relay sit, and what runs on the host vs the42 DPU?"** — worked example: *"do I run one relay process on the43 host, a sidecar next to my app, or a relay container on the44 BlueField — and what is on the DPU side that actually terminates45 the connection?"*. Answered by the three-axis configuration model46 (deployment shape × socket type × forwarding endpoint) in47 [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)48 + [`TASKS.md ## configure`](TASKS.md#configure) step 2.49- **"My relay is up but the host application cannot connect."** —50 worked example: *"the relay process is running but the host app51 reports `ECONNREFUSED` / connect timeout when it tries the52 socket / port the relay should be listening on"*. Answered by the53 layered error taxonomy in54 [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy)55 layers 1-3 + the bind / accept ladder in56 [`TASKS.md ## debug`](TASKS.md#debug).57- **"Bytes leave the host but never arrive on the DPU side."** —58 worked example: *"the host app's socket connect succeeded, the59 relay reports the connection accepted, but the DPU-side60 terminator never sees the data"*. Answered by the61 forwarding-endpoint layer in62 [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy)63 layer 4 + the silent-data-path failure mode named in64 [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy).65- **"How do I prove the relay is the right answer before I admit66 the whole fleet onto it?"** — worked example: *"I have N host67 clients; I want to confirm one of them works end-to-end before68 pointing the rest at the relay"*. Answered by the69 smoke-before-bulk loop in70 [`TASKS.md ## test`](TASKS.md#test) (bind → confirm one host app71 connects → confirm one round-trip end-to-end → only then admit72 the fleet).73- **"Is this Socket Relay shipped on my installed DOCA, and does74 its version match the comch / eth pieces it sits on?"** — worked75 example: *"is the relay binary present on this host, and does76 it agree with `pkg-config --modversion doca-common`"*. Answered77 by the version overlay in78 [`CAPABILITIES.md ## Version compatibility`](CAPABILITIES.md#version-compatibility),79 which redirects to the canonical80 [`doca-version`](../../doca-version/SKILL.md) rules and adds the81 Socket Relay specifics (presence check, host vs BlueField82 packaging, agreement with companion libraries).8384## Audience8586This skill serves **external operators, application owners, and AI87agents who need to bridge a socket-oriented application onto a88BlueField DPU without rewriting the application against the DOCA89programming surface**. Concretely:9091- A platform owner with an existing host service that speaks a92 socket protocol to a peer and wants the peer to live on the93 BlueField instead — without porting the host service onto94 [`doca-comch`](../../libs/doca-comch/SKILL.md).95- A migration engineer evaluating the relay as the *first* step of96 a phased move onto DOCA, with the comch / RDMA / Ethernet97 rewrite reserved for a later phase.98- An SRE / platform operator deploying the relay as a service99 container on the BlueField via the runtime contract documented100 in [`doca-container-deployment`](../../doca-container-deployment/SKILL.md).101- An AI agent answering *"my host app cannot reach the DPU on the102 socket I configured — what do I check"* with the relay's layered103 error surface as the diagnosis ladder.104105It is **not** for users debugging the Socket Relay binary itself,106**not** a substitute for the live public DOCA Socket Relay guide,107and **not** the right place for users learning the comch108programming API or for users doing line-rate raw-packet I/O. Those109audiences belong in [`doca-comch`](../../libs/doca-comch/SKILL.md)110and [`doca-eth`](../../libs/doca-eth/SKILL.md) respectively.111112The Socket Relay is shipped as a documented DOCA artifact on113installs that include it; depending on the operator's deployment114shape, it can be invoked as a CLI on the host or BlueField Arm, or115deployed as a service container on the BlueField via the116documented kubelet-standalone runtime in117[`doca-container-deployment`](../../doca-container-deployment/SKILL.md).118The skill uses the same `kind: tool` three-file shape as the119rest of the bundle so the agent's task-verb contract120(`configure / build / modify / run / test / debug`) is uniform121across libraries, services, and tools.122123## When to load this skill124125Load this skill when the user is — or the agent needs to — drive126the DOCA Socket Relay on a real host or BlueField Arm with DOCA127installed (or inside the public NGC DOCA container with the right128device passthrough). Concretely:129130- Migrating a socket-based application off a same-host peer onto131 a BlueField-side terminator without rewriting the application.132- Picking the relay's deployment shape (in-process beside the app,133 sidecar process / container, or a service container on the134 BlueField) for a specific environment.135- Configuring the host-side socket the relay binds and the DPU-side136 forwarding endpoint the relay points at, before any application137 client tries to connect.138- Walking the bind → connect → round-trip → admit-fleet loop on a139 brand-new relay deployment.140- Diagnosing a *"host app cannot connect"*, *"connection accepted141 but no bytes flow"*, or *"first round-trip works, the rest hang"*142 symptom against the relay's layered error surface.143- Cross-checking the relay's view against the host application144 side and the DPU-side terminator when the three appear to145 disagree.146147Do **not** load this skill for general DOCA orientation, the comch148programming API, RDMA programming, line-rate raw packet I/O, or149DOCA install. For those, route to150[`doca-public-knowledge-map`](../../doca-public-knowledge-map/SKILL.md),151[`doca-comch`](../../libs/doca-comch/SKILL.md),152[`doca-eth`](../../libs/doca-eth/SKILL.md), or153[`doca-setup`](../../doca-setup/SKILL.md).154155## What this skill provides156157This is a **thin loader**. Substantive material lives in two158companion files:159160- `CAPABILITIES.md` — what the Socket Relay carries and changes:161 the three-axis configuration model (deployment shape × socket162 type / protocol × forwarding endpoint), the read-only vs163 state-changing operation split, the version-availability overlay164 that redirects to [`doca-version`](../../doca-version/SKILL.md),165 the layered error taxonomy (tool-not-installed / relay-not-bound166 / host-app-not-connecting / DPU-side-terminator-not-reachable /167 permission / version / cross-cutting), the relay's role as the168 data-plane counterpart to169 [`doca-comch`](../../libs/doca-comch/SKILL.md), and the170 high-stakes safety policy that makes a misconfigured forwarding171 endpoint a silent data-path break.172- `TASKS.md` — step-by-step workflows for the in-scope task verbs:173 `configure` (the three-axis decision + the precondition probe),174 `build` (route to install — the relay is shipped pre-built),175 `modify` (refuse — modify the *invocation / deployment*, not the176 binary), `run` (the bind → connect → round-trip flow), `test`177 (the smoke-before-bulk eval loop), `debug` (the layered178 diagnosis ladder), plus a `Deferred task verbs` block and a179 `Command appendix` that honors the bundle's180 [`doca-structured-tools-contract`](../../doca-structured-tools-contract/SKILL.md)181 preamble.182183The skill assumes a host or BlueField where DOCA is already184installed (or the public NGC DOCA container is running with the185right device passthrough) and the operator has whatever privileges186the public DOCA Socket Relay guide requires for the chosen187deployment shape.188189## What this skill deliberately does not ship190191This skill is **agent guidance**, not a samples or scripts bundle.192To keep the boundary clean, it deliberately does not contain — and193pull requests should not add:194195- **Verbatim binary names, flag inventories, subcommand names,196 socket-path defaults, port numbers, or output column names.**197 The public DOCA Socket Relay guide on `docs.nvidia.com` and the198 installed `--help` on the user's version are the joint source199 of truth; copying them here pins the skill to one release and200 silently rots when the relay evolves. The skill routes the agent201 at those sources instead.202- **Pre-baked example output.** Output is install-, version-, and203 deployment-specific. A captured example will mislead an operator204 on a different platform / state.205- **Wrappers, parsers, or scripts** in any language that consume206 the relay's output. The output format is documented; users who207 want to script against it should read the live guide and write208 the parser against their installed version.209- **A `samples/` or `reference/` subtree.** This is a thin loader210 for a documented DOCA artifact; substantive material lives on211 the public page and in `--help`.212213## Loading order2142151. Read this `SKILL.md` first to confirm the user's question is in216 scope (the user wants to bridge a socket-based application onto217 the DPU without rewriting it onto the DOCA programming surface,218 not learn the comch / eth / RDMA APIs).2192. **For what the relay carries, the three-axis configuration220 model, the read-only vs state-changing split, version221 availability, the layered error surface, observability, and222 safety posture, see [CAPABILITIES.md](CAPABILITIES.md).**2233. **For the documented invocations and the smoke-before-bulk224 workflow — `configure`, `build`, `modify`, `run`, `test`,225 `debug`, plus the `Command appendix` — see226 [TASKS.md](TASKS.md).**227228## Related skills229230- [`doca-comch`](../../libs/doca-comch/SKILL.md) — the host ↔ DPU231 **control-plane** primitive (PCIe-based message channel between a232 host and a DPU process). The Socket Relay is the **data-plane**233 counterpart for socket-oriented applications: comch is what an234 application uses to *coordinate* across the host ↔ DPU boundary235 programmatically; the relay is what an application uses to236 *carry* socket-shaped bytes across that boundary without being237 rewritten. Pair the two when an application owner is migrating238 in stages — control plane first via comch, data plane via the239 relay until a per-library rewrite is justified.240- [`doca-eth`](../../libs/doca-eth/SKILL.md) — the line-rate raw241 packet I/O surface that sits *below* the socket level. The relay242 presents a socket-shaped interface to the application and rides243 the underlying DOCA fabric; doca-eth is the right answer when244 the application can be rewritten to operate on packets directly245 rather than sockets, and when the throughput / latency profile246 the relay achieves is no longer sufficient.247- [`doca-container-deployment`](../../doca-container-deployment/SKILL.md)248 — the BlueField service-runtime contract (kubelet standalone +249 static-pod manifests + per-service config-file mount). Load this250 alongside the present skill when the operator's chosen251 deployment shape is a relay container running on the BlueField252 rather than a host-side process; the runtime contract there owns253 the pod-spec / image-pull / static-pod / liveness pieces, this254 skill owns the relay-specific config.255- [`doca-comm-channel-admin`](../doca-comm-channel-admin/SKILL.md)256 — the operator-side admin CLI for comch channels. The257 list → inspect → decide pattern there is the same shape the258 Socket Relay uses for its own state: read-only inspection first,259 state-changing operations gated on a clean smoke. Both tools are260 members of the same family and the same patterns apply.261- [`doca-public-knowledge-map`](../../doca-public-knowledge-map/SKILL.md)262 — routing to the public DOCA Socket Relay guide and the rest of263 the public DOCA documentation set. The canonical URL is reached264 via [`doca-public-knowledge-map ## DOCA tools`](../../doca-public-knowledge-map/SKILL.md#doca-tools).265- [`doca-version`](../../doca-version/SKILL.md) — canonical DOCA266 version-handling rules. The `## Version compatibility` section267 in [`CAPABILITIES.md`](CAPABILITIES.md) is a concise overlay268 that redirects here for the body.269- [`doca-structured-tools-contract`](../../doca-structured-tools-contract/SKILL.md)270 — the bundle's detect → prefer → fall back → report contract for271 structured helper tools. The Command appendix in272 [`TASKS.md`](TASKS.md) honors this contract.273- [`doca-setup`](../../doca-setup/SKILL.md) — env preparation,274 install verification, representor visibility checks, and the *I275 have no install yet* path with the public NGC DOCA container.276 This skill assumes its preconditions are satisfied.277- [`doca-debug`](../../doca-debug/SKILL.md) — the cross-cutting278 debug ladder. The Socket Relay slots in at the *runtime* layer279 as a data-path bridge whose layered error surface escalates to280 the cross-cutting ladder when the cause is below DOCA.