mirror of
https://github.com/jmcorgan/fips.git
synced 2026-07-30 19:46:15 +00:00
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
79 lines
1.6 KiB
YAML
79 lines
1.6 KiB
YAML
# Cost-Based Parent Selection: Mixed Technology 7-Node Test
|
|
#
|
|
# Topology (explicit, multiple link types):
|
|
#
|
|
# n01 (root)
|
|
# / | \
|
|
# fiber | fiber BT
|
|
# / | \
|
|
# n02 n03 n04
|
|
# | | \ |
|
|
# fiber fiber \ fiber
|
|
# | | wifi |
|
|
# n05 n06 n07
|
|
#
|
|
# Cross-links: n03-n05 (fiber), n04-n06 (wifi)
|
|
#
|
|
# Test subjects:
|
|
# - n06 has edges to n03 (fiber) and n04 (wifi) — should prefer n03
|
|
# - n04's link to root is Bluetooth (L2CAP), so n04 has higher-cost parent link
|
|
# - n07 connects only to n04 (no choice, stuck with Bluetooth upstream)
|
|
#
|
|
# Validation: tree snapshot shows n06's parent is n03 (not n04).
|
|
|
|
scenario:
|
|
name: "cost-mixed-7node"
|
|
seed: 42
|
|
duration_secs: 180
|
|
|
|
topology:
|
|
algorithm: explicit
|
|
num_nodes: 7
|
|
params:
|
|
adjacency:
|
|
- [n01, n02]
|
|
- [n01, n03]
|
|
- [n01, n04]
|
|
- [n02, n05]
|
|
- [n03, n06]
|
|
- [n04, n07]
|
|
- [n03, n05]
|
|
- [n04, n06]
|
|
subnet: "172.20.0.0/24"
|
|
ip_start: 10
|
|
|
|
netem:
|
|
enabled: true
|
|
default_policy:
|
|
# Fiber-like
|
|
delay_ms: [1, 5]
|
|
jitter_ms: [0, 1]
|
|
loss_pct: [0, 0.5]
|
|
link_policies:
|
|
# Bluetooth (L2CAP) link from n01 to n04
|
|
- edges: ["n01-n04"]
|
|
policy:
|
|
delay_ms: [15, 40]
|
|
jitter_ms: [5, 15]
|
|
loss_pct: [2, 8]
|
|
# WiFi link from n04 to n06
|
|
- edges: ["n04-n06"]
|
|
policy:
|
|
delay_ms: [5, 20]
|
|
jitter_ms: [2, 5]
|
|
loss_pct: [1, 3]
|
|
|
|
link_flaps:
|
|
enabled: false
|
|
|
|
traffic:
|
|
enabled: true
|
|
max_concurrent: 3
|
|
interval_secs: {min: 10, max: 25}
|
|
duration_secs: {min: 5, max: 15}
|
|
parallel_streams: 4
|
|
|
|
logging:
|
|
rust_log: "info"
|
|
output_dir: "./sim-results"
|