Skip to content

Add the sush proxy to the switch zone - #11253

Draft
plotnick wants to merge 1 commit into
sush-sled-agentfrom
sush-switch-proxy
Draft

Add the sush proxy to the switch zone#11253
plotnick wants to merge 1 commit into
sush-sled-agentfrom
sush-switch-proxy

Conversation

@plotnick

@plotnick plotnick commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Continues the integration of the Support Shell (RFD 620), building on the sled-agent embedding: a new switch zone service, sush-proxy, terminates technician-port connections and routes each request to a sled's sush server. The proxy finds sush servers by probing the bootstrap and underlay prefixes given by DDM, and polls MGS for the cubby map so a request may name its target sled by cubby.

For security review:

On real hardware the proxy serves TLS backed by the sled's platform identity. At zone startup, sled-agent generates an ephemeral key and has the RoT sign its certificate with the TQ key (Ed25519 over the SHA3-256 digest of the TBS certificate), and the sush client verifies that the chain ends at a platform identity root. Simulated and emulated environments have no RoT, so their proxies serve plaintext.

This continues the integration of the
[Support Shell](https://github.com/oxidecomputer/sush)
([RFD 620](https://rfd.shared.oxide.computer/rfd/0620)), building on
the sled-agent embedding: a new switch zone service, `sush-proxy`,
terminates technician-port connections and routes each request to a
sled's sush server. The proxy finds sush servers by probing the bootstrap
and underlay prefixes given by DDM, and polls MGS for the cubby map
so a request may name its target sled by cubby.

**For security review:**

On real hardware the proxy serves TLS backed by the sled's platform
identity. At zone startup, sled-agent generates an ephemeral key and
has the RoT sign its certificate with the TQ key (Ed25519 over the
SHA3-256 digest of the TBS certificate), and the sush client verifies
that the chain ends at a platform identity root. Simulated and emulated
environments have no RoT, so their proxies serve plaintext.

Co-Authored-By: Claude Mythos 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant