mirror of
https://github.com/jmcorgan/fips.git
synced 2026-07-22 07:48:26 +00:00
Update test harness docs and add transport_mix support
Chaos harness enhancements: - transport_mix config: weighted random transport assignment for random topologies (erdos_renyi, random_geometric) with UDP/Ethernet/TCP - Replace LoRa with Bluetooth L2CAP in cost-based/mixed-tech scenarios using realistic netem values (15-40ms delay, 5-15ms jitter, 2-8% loss) - New churn-20-mixed scenario: 20-node Erdos-Renyi with 60% UDP, 20% Ethernet, 20% TCP, full netem/link-flap/churn/bandwidth config - Expanded chaos README with full scenario catalog in four categories Static harness: - Updated README with topology table and scenario count
This commit is contained in:
@@ -7,16 +7,26 @@ containers running the full protocol stack.
|
||||
|
||||
### [static/](static/) -- Static Docker Network
|
||||
|
||||
Fixed topologies (mesh, chain) with 5 nodes. Manual scripts for
|
||||
building, config generation, connectivity tests (ping, iperf), and
|
||||
network impairment (netem). Useful for deterministic debugging and
|
||||
validating specific topology configurations.
|
||||
Fixed topologies with manual scripts for building, config generation,
|
||||
connectivity tests (ping, iperf), and network impairment (netem).
|
||||
Useful for deterministic debugging and validating specific topology
|
||||
configurations.
|
||||
|
||||
| Topology | Nodes | Transport | Description |
|
||||
| ----------- | ----- | --------- | -------------------------------- |
|
||||
| mesh | 5 | UDP | Sparse mesh, 6 links, multi-hop |
|
||||
| chain | 5 | UDP | Linear chain, max 4-hop paths |
|
||||
| mesh-public | 5+1 | UDP | Mesh with external public node |
|
||||
| tcp-chain | 3 | TCP | Linear chain over TCP (port 443) |
|
||||
|
||||
### [chaos/](chaos/) -- Stochastic Simulation
|
||||
|
||||
Automated randomized testing with configurable node counts, topology
|
||||
algorithms (random geometric, Erdos-Renyi, chain), and fault
|
||||
Automated network testing with configurable node counts, topology
|
||||
algorithms (random geometric, Erdos-Renyi, chain, explicit), and fault
|
||||
injection (netem mutation, link flaps, traffic generation, node
|
||||
churn). Scenarios are defined in YAML and executed via a Python
|
||||
harness that manages the full lifecycle: topology generation, Docker
|
||||
orchestration, fault scheduling, log collection, and analysis.
|
||||
churn). 16 scenarios covering general stress testing, cost-based parent
|
||||
selection, mixed link technologies (fiber/Bluetooth/WiFi), and
|
||||
transport-specific validation (UDP, TCP, Ethernet). Scenarios are
|
||||
defined in YAML and executed via a Python harness that manages the full
|
||||
lifecycle: topology generation, Docker orchestration, fault scheduling,
|
||||
log collection, and analysis.
|
||||
|
||||
Reference in New Issue
Block a user