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.
43 lines
2.1 KiB
YAML
43 lines
2.1 KiB
YAML
# Compose override that bumps RUST_LOG to trace level on the modules
|
|
# relevant to NAT-traversal handshake-completion flake evidence
|
|
# collection (ISSUE-2026-0027):
|
|
#
|
|
# - fips::nostr — overlay advert publish/consume
|
|
# (where the cross-init race begins)
|
|
# - fips::transport::udp — UDP socket bind/send/recv
|
|
# (where the punch packets flow)
|
|
# - fips::node::lifecycle — daemon bootstrap, peer state
|
|
# machine, adoption transitions
|
|
# - fips::node::handlers::handshake — Noise handshake msg1/2/3,
|
|
# cross-init tie-breaker
|
|
# ("Ignoring established NAT
|
|
# traversal..." emits here)
|
|
# - fips::node::dataplane::forwarding — transit/local datagram routing
|
|
# (catches drops post-adoption)
|
|
#
|
|
# Other modules stay at info to keep log volume manageable. The base
|
|
# docker-compose.yml's `*fips-common` env block sets RUST_LOG as a
|
|
# list-form env var (`- RUST_LOG=...`); the override below replaces
|
|
# it entirely via the YAML map form, which is the docker-compose
|
|
# override semantics for the environment field.
|
|
#
|
|
# Service-name layout: only the two `lan-*` services are FIPS daemons;
|
|
# the relay and stun services are not (and don't honor RUST_LOG).
|
|
#
|
|
# Include this override via the FIPS_NAT_EXTRA_COMPOSE env var that
|
|
# testing/nat/scripts/nat-test.sh consults:
|
|
# FIPS_NAT_EXTRA_COMPOSE=testing/mesh-lab/compose-trace-nat.yml \
|
|
# bash testing/nat/scripts/nat-test.sh lan
|
|
#
|
|
# The mesh-lab harness sets it automatically when FIPS_MESH_LAB_TRACE
|
|
# is set and the suite is nat-lan.
|
|
|
|
x-trace-rust-log: &trace-rust-log
|
|
RUST_LOG: "info,fips::nostr=trace,fips::transport::udp=trace,fips::node::lifecycle=trace,fips::node::handlers::handshake=trace,fips::node::dataplane::forwarding=trace"
|
|
|
|
services:
|
|
lan-a:
|
|
environment: *trace-rust-log
|
|
lan-b:
|
|
environment: *trace-rust-log
|