github.com/rootless-containers/rootlesskit/v2@v2.3.4/hack/benchmark-iperf3-port-udp.sh (about) 1 #!/bin/bash 2 # TODO: merge this script into benchmark-iperf3-port.sh 3 source $(realpath $(dirname $0))/common.inc.sh 4 function benchmark::iperf3::port::udp() { 5 statedir=$(mktemp -d) 6 INFO "[benchmark:iperf3::port::udp] $@" 7 portdriver="$1" 8 shift 9 flags="$@" 10 IPERF3="iperf3" 11 if echo "$@" | grep -q -- --detach-netns; then 12 IPERF3="nsenter -n${statedir}/netns $IPERF3" 13 fi 14 $ROOTLESSKIT $flags --port-driver=$portdriver --state-dir=$statedir $IPERF3 -s >/dev/null & 15 rkpid=$! 16 # wait for socket to be available 17 sleep 3 18 rootlessctl="rootlessctl --socket=$statedir/api.sock" 19 if [ $portdriver != "implicit" ]; then 20 portids=$($rootlessctl add-ports 127.0.0.1:5201:5201/tcp 127.0.0.1:5201:5201/udp) 21 $rootlessctl list-ports 22 fi 23 sleep 3 24 $IPERF3C 127.0.0.1 -u -b 100G 25 if [ $portdriver != "implicit" ]; then 26 $rootlessctl remove-ports $portids 27 fi 28 kill $rkpid 29 } 30 31 if [ $# -lt 1 ]; then 32 ERROR "Usage: $0 PORTDRIVER [FLAGS...]" 33 exit 1 34 fi 35 portdriver=$1 36 shift 1 37 flags=$@ 38 if ! echo $flags | grep -q -- "--net"; then 39 flags="$flags --net=slirp4netns" 40 fi 41 flags="$flags --mtu=65520" 42 43 set -x 44 benchmark::iperf3::port::udp ${portdriver} $flags