mirror of
https://github.com/jmcorgan/fips.git
synced 2026-07-22 07:48:26 +00:00
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.
74 lines
2.9 KiB
YAML
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
|