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
master
or3.1-STABLE
) to which this pull request applies:master
Issues fixed (if any): Support for responsiveness measurements #1725
Brief description of code changes (suitable for use as a commit message):
Suggested solution for adding Bounceback test to iperf3, using a new
--bounceback
option. The implementation options are based on subset of the iperf2 options, but there are some differences in the approach to simplify iperf3 code changes (assuming I understood iperf2 implementation well enough ...). Following are the main approach considerations:--bounceback-period
option, the bounceback test period is the Report Interval (-i
). That allows using the interval reporting mechanism, instead of adding a separate one. During the interval period, several bursts of bounceback messages may be sent, but the statistics are reported once per interval.-u
). This is to allow creating the bounceback stream as part of the test streams creation. Practically, it may be that only TCP (and SCTP) are reliable.--working-load
, the normal iperf3 throughput tests are used as the workload. That makes all the iperf3 tests options available to the bounceback workload (-P
,-R
,--bidir
,-b
, etc.). For running only bounceback test,-P 0
should be used.TCP_NODELAY
(not an option) and there is no option to setTCP_QUICKACK
.The
--bounceback
option receives the following 4 parameters (all are optional):Some open questions:
Should it be more like iperf2 logs, e.g. something like:
-P 0
be the default when--bounceback
is specified? I.e. should the default be no workload, and if needed workload should be added using the-P
option?TCP_NODELAY
or to supportTCP_QUICKACK
?--bounceback-hold
and--bounceback-txdelay
? Is it important that any of them will be added to iperf3?