mirror of
https://github.com/jmcorgan/fips.git
synced 2026-08-09 08:14:42 +00:00
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.
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 |