Skip to content

Production-parity re-audit (P10 / F34) ​

Operators and maintainers: snapshot of the peer-gap audit after the leftovers branch landed. Pair with Capability coverage.

Branch tip audited: feat/production-parity (after F25–F29).
Leftovers BASELINE_SHA: 46163c95ce7df6e6d3271fc1d2cf26c655fca0aa (see tools/RpsLoadProbe/PERF-GATES.md).

Section 2B checklist vs capability matrix ​

Peer gapMatrix statusNotes
WebSocket over HTTP/3 (RFC 9220) to H1/H2/H3 originssupportedserver.enableRfc8441
Gateway TLSRoute / TCPRoute / UDPRoute / BackendTLSPolicy / GRPCRoutesupportedOptional CRD informers; BackendTLSPolicy RBAC gated
GeoIP route policysupportedOperator-supplied MMDB; CLI satellite
Response compression on all bridges + optional zstdpartial / supportedFast-path passthrough stays identity
gRPC active healthsupportedgrpc.health.v1
DNS SRV discoverysupportedPlus; off by default
TCP TLS terminate / originatesupportedPassthrough listeners
Zone-aware balancingsupportedOff unless configured
Dashboard / overlay editingsupportedJSON editor forms (Validate, Save, Delete), overlay, clear, audit; validated snapshot PUT
xDS ADS client with dynamic listenerssupportedLazy Titanium.Xds; no xDS server
Listener changes without restartsupportedserver.reloadListeners; xDS forces on
Linux hot restart / SO_REUSEPORTpartialTCP handover through a pid file and SIGUSR2 with titanium restart; HTTP/3 and UDP bind after the old process exits (a short gap). The two-process test is written but has only run where Linux is available (CI)
Overload protectionsupportedOff by default

Still not offered (by design or runtime) ​

TopicReason
Explicit-proxy h2c UpgradeRemoved from RFC 9113
Decrypting QUIC inside CONNECT-UDPEnd-to-end encrypted
0-RTT / QUIC connection migrationNot exposed by System.Net.Quic on .NET 10
WebTransportNeeds RFC 9221 QUIC datagrams; streams-only today
Cipher-suite policy on WindowsNo public API
Cross-replica TLS session-ticket key sharingNot exposed by SslStream
OpenResty / Kong / APISIX Lua APIsVendor APIs; use Lua 5.4 + proxy-wasm instead
xDS serverData-plane product; out of scope (C3)
win-arm64 scripting nativesUpstream native builds

Newly noted gaps (follow-ups, not blockers for this PR) ​

  1. Dashboard editing — forms are a JSON editor per route or cluster; there is no field-by-field form, and listeners, certificates and server.* stay file-only.
  2. Hot restart — the successor takes over TCP with no listener gap. HTTP/3 and UDP cannot be shared between processes, so they are unavailable until the old process exits. The two-process test (CliHotRestartE2ETests) is Linux only and was not run by the author on Windows; read the CI result before relying on it.
  3. xDS proto fidelity — trimmed xDS API subsets; replace with pinned full upstream files when expanding the field list.
  4. Delta xDS — state-of-the-world only in v1.
  5. Checkpoint A/B — C0–C6 RPS compare-spot against BASELINE_SHA must be linked in the Draft PR before merge (not run in this local pass).

Runtime re-check (.NET 10) ​

Re-checked against current .NET 10 System.Net.Quic / SslStream surface: no public datagrams, 0-RTT accept, connection migration, or shared session-ticket keys. Nothing in the blocked list was promoted.

Whole-plan proof status ​

GateStatus
Capability matrix matches code for leftovers featuresUpdated in this branch
Nothing-loaded-when-off for GeoIP / xDS satellitesTests present
Final compare-spot / compare-editions / publish gatesPending CI on Draft PR (checkpoint C6)

Core, CLI, and website: MIT