network_scenarios: # --------------------------------------------------------------------------- # 00. Baseline # --------------------------------------------------------------------------- baseline: description: "Normalzustand" # --------------------------------------------------------------------------- # 01. Slow Connection # --------------------------------------------------------------------------- slow-connection: description: "Langsam & Latenz (Satellit)" interfaces: ens4: - { root: true, type: "tbf", args: "rate 256kbit burst 1540 latency 50ms", } ens5: - { root: true, type: "tbf", args: "rate 256kbit burst 1540 latency 50ms", } ens6: - { root: true, handle: "1:", type: "netem", args: "delay 300ms" } - { parent: "1:1", handle: "10:", type: "tbf", args: "rate 512kbit burst 1540 latency 50ms", } # --------------------------------------------------------------------------- # 02. High Latency # --------------------------------------------------------------------------- high-latency: description: "Hohe Latenz" interfaces: ens4: - { root: true, type: "netem", args: "delay 200ms 20ms distribution normal", } ens5: - { root: true, type: "netem", args: "delay 200ms 20ms distribution normal", } ens6: - { root: true, type: "netem", args: "delay 350ms 30ms distribution normal", } # --------------------------------------------------------------------------- # 03. Packet Loss # --------------------------------------------------------------------------- packet-loss: description: "Paketverlust" interfaces: ens4: [{ root: true, type: "netem", args: "loss 15% 10%" }] ens5: [{ root: true, type: "netem", args: "loss 15% 10%" }] ens6: [{ root: true, type: "netem", args: "loss 5% 2%" }] # --------------------------------------------------------------------------- # 06. Congestion # --------------------------------------------------------------------------- congestion: description: "Überlastung (Delay + Loss + Rate Limit)" interfaces: ens4: - { root: true, handle: "1:", type: "netem", args: "delay 50ms 20ms loss 3% 5%", } - { parent: "1:1", handle: "10:", type: "tbf", args: "rate 2mbit burst 32kbit latency 800ms", } ens5: - { root: true, handle: "1:", type: "netem", args: "delay 50ms 20ms loss 3% 5%", } - { parent: "1:1", handle: "10:", type: "tbf", args: "rate 2mbit burst 32kbit latency 800ms", } # --------------------------------------------------------------------------- # 07. Partial Outage (IPTables Block) # --------------------------------------------------------------------------- partial-outage: description: "Verbindung W0 <-> W1 tot" blocks: - { src: "ens4", dst: "ens5" } - { src: "ens5", dst: "ens4" } interfaces: ens6: [{ root: true, type: "netem", args: "delay 10ms" }] # --------------------------------------------------------------------------- # 08. Flapping # --------------------------------------------------------------------------- flapping: description: "Wackelkontakt (30s an/aus)" flapping_enabled: true