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