Files
fips/testing/mesh-lab/compose-trace.yml
Johnathan Corgan 434b9726aa node: establish dataplane/ and session/ concept homes (behavior-neutral)
Reorganize the node module tree by concept rather than by
message-handling verb, as the first step of the node runtime
decomposition. Pure relocation: no wire, config, metric, or log
semantics change; the lib test count is unchanged (1577 passed).

Moves (git mv, 100% rename similarity):
- handlers/{forwarding,rx_loop,connected_udp,dispatch,encrypted}.rs
  -> node/dataplane/ — the whole RX hot path (the select! run loop,
  transit/local forwarding, the link-message router, the RX decrypt
  path with responder K-bit cutover + roam writes, and connected-UDP
  fast-path activation) now lives in one home.
- node/session.rs -> node/session/mod.rs — establishes the session
  concept home for the data/state types. The message-behavior file
  handlers/session.rs stays put for now (folds in with the later FSP
  session step).

The IK/XX-divergent establishment files (handlers/{handshake,rekey,
timeout}.rs) and the deferred-home files (handlers/{mmp,lookup}.rs)
deliberately stay in handlers/, to move once rather than twice.

Every module is reached through impl Node methods, so no call site or
re-export shim was needed. Updated in lockstep with the moves: the
module_path!-derived tracing targets in the two mesh-lab compose-trace
overlays, a structural test's include_str! source path, doc-comments
in proto/routing and the mesh-lab docs, and the stale source-location
citations (node/handlers/{forwarding,rx_loop,encrypted}.rs and
node/session.rs) in doc-comments and the discovery design doc.
2026-07-12 19:22:08 +00:00

74 lines
2.9 KiB
YAML

# Compose override that bumps RUST_LOG to trace level on the modules
# relevant to rekey-class flake evidence collection:
#
# - fips::node::handlers::rekey — FMP/FSP rekey state machine
# - fips::node::handlers::handshake — Noise handshake (cross-init,
# dual-init, msg1/2/3 dispatch)
# - fips::node::dataplane::forwarding — transit datagram forwarding,
# route lookup, drops
# - fips::node::handlers::session — FSP K-bit cutover, drain
# - fips::node::dataplane::encrypted — FMP K-bit flip detection
# - fips::node::handlers::mmp — link liveness, SRTT, ETX
#
# Other modules stay at info to keep log volume manageable. The base
# docker-compose.yml's per-service RUST_LOG values (currently
# `info,fips::node::handlers::rekey=debug` for the rekey profile, plus
# handshake=debug on the variant profiles) are fully replaced by the
# values below via the YAML map form: docker compose's override
# semantics replace the map entry rather than merging individual
# environment keys.
#
# Service-name layout follows the base compose: per-profile services
# named `<profile>-<node-letter>` (rekey-a..e for the rekey profile,
# rekey-accept-off-a..e for the accept-off variant,
# rekey-outbound-only-a..e for the outbound-only variant). All 15
# rekey-family services get the same trace-RUST_LOG value.
#
# Include this override alongside the base compose via:
# docker compose -f testing/static/docker-compose.yml \
# -f testing/mesh-lab/compose-resource-limits.yml \
# -f testing/mesh-lab/compose-trace.yml up -d
#
# The run-loop.sh harness includes it automatically when the mesh-lab
# environment variable FIPS_MESH_LAB_TRACE=1 is set.
x-trace-rust-log: &trace-rust-log
RUST_LOG: "info,fips::node::handlers::rekey=trace,fips::node::handlers::handshake=trace,fips::node::dataplane::forwarding=trace,fips::node::handlers::session=trace,fips::node::dataplane::encrypted=trace,fips::node::handlers::mmp=trace"
services:
# rekey profile
rekey-a:
environment: *trace-rust-log
rekey-b:
environment: *trace-rust-log
rekey-c:
environment: *trace-rust-log
rekey-d:
environment: *trace-rust-log
rekey-e:
environment: *trace-rust-log
# rekey-accept-off profile
rekey-accept-off-a:
environment: *trace-rust-log
rekey-accept-off-b:
environment: *trace-rust-log
rekey-accept-off-c:
environment: *trace-rust-log
rekey-accept-off-d:
environment: *trace-rust-log
rekey-accept-off-e:
environment: *trace-rust-log
# rekey-outbound-only profile
rekey-outbound-only-a:
environment: *trace-rust-log
rekey-outbound-only-b:
environment: *trace-rust-log
rekey-outbound-only-c:
environment: *trace-rust-log
rekey-outbound-only-d:
environment: *trace-rust-log
rekey-outbound-only-e:
environment: *trace-rust-log