Closed ghost closed 3 years ago
I really appreciate you trying it out and I'm glad you were able to fully go through all the MTUs even though it was with some difficulties.
As for the KeyError: 'streams'
error, it occurs when peer upload or peer download fails and the output json from the iperf3 -c
command doesn't contain the streams
key. I faced this issue very often but only when the server MTU was changed. That's why when the server MTU changes, I added the additional ping
and flask-server
checks.
However I never faced an issue like you did, where the peer upload and peer download failed during the loop. It could have failed due to several reasons. Some I can think of are:
wg-quick up
to run iperf3 -c
I will attempt to make one or more of the following fixes for this problem:
--skip-errors
flag that will let the peer script continue with testing other MTUs if one of the test fails.--peer-pre-ping
flag that will let the peer script ping
the server before attempting to run iperf3 -c
commands. The ping command always helped me re-establish the server peer connection and the handshake time was refreshed.peer upload
and peer download
tests in case there was a failure. This should have already been there.I pushed some changes
--peer-skip-errors True
option that is True by default and can be set to False by --peer-skip-errors False
SERVER: nr-wg-mtu-finder --mode server --mtu-min 1280 --mtu-max 1420 --mtu-step 2 --server-ip 10.10.10.1
CLIENT: nr-wg-mtu-finder --mode peer --mtu-min 1280 --mtu-max 1420 --mtu-step 2 --server-ip 10.10.10.1
After running the test for a while, I receive the following error:
If I restart the client from a mtu-min of 1346 then it continues as normal and passes where the error occurred previously.
Using:
SERVER: nr-wg-mtu-finder --mode server --mtu-min 1280 --mtu-max 1340 --mtu-step 2 --server-ip 10.10.10.1
CLIENT: nr-wg-mtu-finder --mode peer --mtu-min 1280 --mtu-max 1340 --mtu-step 2 --server-ip 10.10.10.1
I can run the test successfully without any errors.