Files
firezone/scripts/tests/perf/udp-client2server.sh
Thomas Eizinger d1d46fdfb4 ci: create a more realistic network setup (#10301)
Currently, the setup we have in docker-compose does not reflect
real-world scenarios very well because most components share the same
subnet. In reality, Clients, Gateways, relays and the backend are all in
separate subnets, connected via multiple routers on the Internet.

The current setup makes it hard to properly test relayed connections. To
fix this, we move all components into their own subnet with a dedicated
router container that performs source and destination NAT as well as
acts as a firewall for the client and gateway containers to not allow
inbound traffic.

This setup will allow us to more easily test #10286 which requires port
randomization for outgoing traffic on the Client and Gateway side.
2025-09-10 23:37:16 +00:00

16 lines
345 B
Bash
Executable File

#!/usr/bin/env bash
set -euox pipefail
source "./scripts/tests/lib.sh"
docker compose exec --env RUST_LOG=info -it client /bin/sh -c "iperf3 \
--time 30 \
--udp \
--bandwidth ${UDP_BITRATE:-450M} \
--client 172.20.0.110 \
--json" >>"${TEST_NAME}.json"
assert_process_state "gateway" "S"
assert_process_state "client" "S"