Files
fips/docs/design
Johnathan Corgan 58be9e2e59 Separate protocol layers: link vs session message types
Refactor protocol.rs to cleanly separate two protocol layers:

Link layer (hop-by-hop, peer-to-peer):
- LinkMessageType: TreeAnnounce, FilterAnnounce, LookupRequest,
  LookupResponse, SessionDatagram
- New SessionDatagram struct for encapsulating session payloads

Session layer (end-to-end):
- SessionMessageType: SessionSetup, SessionAck, DataPacket,
  CoordsRequired, PathBroken

Also:
- Remove obsolete Hello/Challenge/Auth/AuthAck types (replaced by Noise IK)
- Update all design docs for consistency with two-layer architecture
- Add "Link vs Session Encryption" documentation

All 219 tests pass.
2026-02-01 03:19:54 +00:00
..

FIPS Design Documents

Protocol design specifications and analysis for the Federated Interoperable Peering System.

Protocol Design

Document Description
fips-design.md Core protocol specification: goals, architecture, identity, addressing, spanning tree
fips-routing.md Routing architecture: Bloom filters, discovery protocol, session establishment
fips-transports.md Transport protocol characteristics: UDP, Ethernet, Tor, radio, and other link types
spanning-tree-dynamics.md Detailed study of spanning tree gossip protocol behavior and convergence

Implementation

Document Description
fips-architecture.md Software architecture: entities, state machines, transport abstractions, configuration
fips-architecture-review.md Architecture review issues and resolution status
fips-tun-driver.md TUN interface driver: reader/writer threads, ICMPv6, packet flow
fips-state-machines.md Phase-based state machine pattern: peer lifecycle, transitions, timeout handling
fips-protocol-flow.md Protocol message flow: packet channel, event loop, dispatching