From 51e80981cc948ddc4bea3bf91ec4c9874f8745fd Mon Sep 17 00:00:00 2001 From: Damien Deville Date: Wed, 6 Sep 2023 10:03:22 +0200 Subject: [PATCH] Add option to keep GSO enabled --- perf/docker/run-client.sh | 21 +++++++++++++-------- perf/docker/run-server.sh | 22 +++++++++++++--------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/perf/docker/run-client.sh b/perf/docker/run-client.sh index 6d525fea68..530a7f0912 100755 --- a/perf/docker/run-client.sh +++ b/perf/docker/run-client.sh @@ -4,23 +4,26 @@ SERVICE=client PERF_CLIENT_ARGS="--keylog --duration 5 172.42.0.2:4433" LATENCY=0 +GSO=0 CAPTURE=0 OPEN=0 function usage() { - echo "usage: $0 [-hco] [-l number]" - echo " -h display help" + echo "usage: $0 [-cgho] [-l number]" echo " -c enable packet capture" - echo " -o open packet capture" + echo " -g enable GSO (default: disabled)" + echo " -h display help" echo " -l number specify simulated latency in ms (default: ${LATENCY}ms)" + echo " -o open packet capture" exit 1 } -while getopts "hcl:" opt; do +while getopts "cghl:o" opt; do case $opt in c) CAPTURE=1;; - o) OPEN=1;; + g) GSO=1;; l) LATENCY=$OPTARG;; + o) OPEN=1;; h) usage;; *) usage;; esac @@ -35,9 +38,11 @@ if [ ${LATENCY} -ne 0 ]; then docker compose exec -it ${SERVICE} tc qdisc add dev eth0 root netem delay ${LATENCY}ms fi -# FIXME disable GSO due to this issue -# https://gitlab.com/wireshark/wireshark/-/issues/19109 -docker compose exec -it ${SERVICE} ethtool -K eth0 tx-udp-segmentation off +if [ ${GSO} -eq 0 ]; then + # FIXME disable GSO due to this issue + # https://gitlab.com/wireshark/wireshark/-/issues/19109 + docker compose exec -it ${SERVICE} ethtool -K eth0 tx-udp-segmentation off +fi if [ ${CAPTURE} -eq 1 ]; then echo "Starting capture within docker" diff --git a/perf/docker/run-server.sh b/perf/docker/run-server.sh index 3028a5e9ff..e4330df5e2 100755 --- a/perf/docker/run-server.sh +++ b/perf/docker/run-server.sh @@ -4,23 +4,26 @@ SERVICE=server PERF_SERVER_ARGS="--keylog --listen 172.42.0.2:4433" LATENCY=0 +GSO=0 CAPTURE=0 OPEN=0 function usage() { - echo "usage: $0 [-hco] [-l number]" - echo " -h display help" + echo "usage: $0 [-cgho] [-l number]" echo " -c enable packet capture" - echo " -o open packet capture" + echo " -g enable GSO (default: disabled)" + echo " -h display help" echo " -l number specify simulated latency in ms (default: ${LATENCY}ms)" + echo " -o open packet capture" exit 1 } -while getopts "hcl:o" opt; do +while getopts "cghl:o" opt; do case $opt in c) CAPTURE=1;; - o) OPEN=1;; + g) GSO=1;; l) LATENCY=$OPTARG;; + o) OPEN=1;; h) usage;; *) usage;; esac @@ -35,10 +38,11 @@ if [ ${LATENCY} -ne 0 ]; then docker compose exec -it ${SERVICE} tc qdisc add dev eth0 root netem delay ${LATENCY}ms fi - -# FIXME disable GSO due to this issue -# https://gitlab.com/wireshark/wireshark/-/issues/19109 -docker compose exec -it ${SERVICE} ethtool -K eth0 tx-udp-segmentation off +if [ ${GSO} -eq 0 ]; then + # FIXME disable GSO due to this issue + # https://gitlab.com/wireshark/wireshark/-/issues/19109 + docker compose exec -it ${SERVICE} ethtool -K eth0 tx-udp-segmentation off +fi if [ ${CAPTURE} -eq 1 ]; then echo "Starting capture within docker"