Fix backward compatibility issue of client incorrectly print 0 UDP packets loss #1988
+9
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Version of iperf3 (or development branch, such as
masteror3.1-STABLE) to which this pull request applies:master
Issues fixed (if any): iperf3 client summary reports 0% UDP loss despite non-zero loss in server output #1984
Brief description of code changes (suitable for use as a commit message):
Fix backward compatibility issue of client showing UDP 0 packets loss, although packets were lost. The issue is with older iperf3 servers that did not send committed packets into.
The main issue was that for some reason, the committed error count variable was not auto initialized to zero. However, when I added a
printf()of its value, it was initialized to 0. Maybe a compiler issue, as the later initialization of the variable is done underifstatement with noelse.For robustness, also ignored the omitted values if committing time is not specified. That allows showing the real packets loss when server does not support sending the omitting info.