[iccrg] iperf2 Android update: Bounceback fixes and IPv6 sup port

[email protected] Wed, 22 Jul 2026 11:57:03 -0700
Newsgroups gmane.ietf.irtf.iccrg,gmane.ietf.tsvwg,gmane.ietf.ippm
Message-ID <[email protected]>
--===============7685908718396234491==
Content-Type: multipart/alternative;
 boundary="=_a0e719618c144a15eeac764a6497b2ff"

--=_a0e719618c144a15eeac764a6497b2ff
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII;
 format=flowed

Hi all,

An updated iperf2 Android build is available with two Bounceback fixes.

First, a bug that caused responsiveness and RPS tests under working load 
to fail after a few seconds has been fixed. The update has been verified 
with a 50-second Bounceback run under load.

Second, the selected congestion-control algorithm now applies at both 
ends of the Bounceback connection. Anyone comparing congestion-control 
algorithms should repeat those tests with this build.

The public responde.* servers support Reno, Cubic, and BBR, with Cubic 
as the default. They do not currently support Prague. Prague testing 
requires both a server and a device with Prague available.

The public servers have already been updated. If you use your own iperf2 
server, please update it from the 2-2-2 branch.

The public servers limit tests to 60 seconds, so please select a shorter 
duration.

Android client presentation:

https://www.umbernetworks.com/IPPM_iperf2_Android_Pres.html

INSTALL THE UPDATED APK

Download this exact file from the SourceForge file listing:

iperf2.2.2_21.bb_cca_fix.July2026_android.apk

https://sourceforge.net/projects/iperf2/files/

Please select the filename directly rather than using the green Download 
button, which may retrieve a different file. The APK can be installed 
over an existing version.

FEATURES WORTH TESTING

Bounceback now displays the minimum RTT reported by the kernel's TCP 
statistics, together with a theoretical RPS ceiling:

Theoretical RPS ceiling = 1,000 ms / minimum TCP RTT

For example, a minimum TCP RTT of 20 ms gives a theoretical ceiling of 
50 request-and-reply cycles per second.

Minimum RTT is a TCP statistic, while observed RPS is measured from the 
application-level Bounceback exchanges. Because each request waits for 
its reply before the next request is sent, actual RPS will normally be 
lower because of application processing, scheduling, working load, and 
other path effects.

The public responde.* servers in Fremont, Vienna, and Newark also 
support IPv6. The app can select IPv6 normally through the Host field, 
or you can enable Force IPv6 (-V) to test the IPv6 path explicitly. Your 
local network must also support IPv6.

Thanks again to everyone testing the app and providing feedback. It is 
very helpful.

Bob
--=_a0e719618c144a15eeac764a6497b2ff
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=UTF-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; charset=
=3DUTF-8" /></head><body style=3D'font-size: 10pt; font-family: Verdana,Gen=
eva,sans-serif'>
<p>Hi all,</p>
<p>An updated iperf2 Android build is available with two Bounceback fixes.<=
/p>
<p>First, a bug that caused responsiveness and RPS tests under working load=
 to fail after a few seconds has been fixed. The update has been verified w=
ith a 50-second Bounceback run under load.</p>
<p>Second, the selected congestion-control algorithm now applies at both en=
ds of the Bounceback connection. Anyone comparing congestion-control algori=
thms should repeat those tests with this build.</p>
<p>The public responde.* servers support Reno, Cubic, and BBR, with Cubic a=
s the default. They do not currently support Prague. Prague testing require=
s both a server and a device with Prague available.</p>
<p>The public servers have already been updated. If you use your own iperf2=
 server, please update it from the 2-2-2 branch.</p>
<p>The public servers limit tests to 60 seconds, so please select a shorter=
 duration.</p>
<p>Android client presentation:</p>
<p><a href=3D"https://www.umbernetworks.com/IPPM_iperf2_Android_Pres.html">=
https://www.umbernetworks.com/IPPM_iperf2_Android_Pres.html</a></p>
<h2>Install the updated APK</h2>
<p>Download this exact file from the SourceForge file listing:</p>
<p>iperf2.2.2_21.bb_cca_fix.July2026_android.apk</p>
<p><a href=3D"https://sourceforge.net/projects/iperf2/files/">https://sourc=
eforge.net/projects/iperf2/files/</a></p>
<p>Please select the filename directly rather than using the green Download=
 button, which may retrieve a different file. The APK can be installed over=
 an existing version.</p>
<h2>Features worth testing</h2>
<p>Bounceback now displays the minimum RTT reported by the kernel's TCP sta=
tistics, together with a theoretical RPS ceiling:</p>
<p>Theoretical RPS ceiling =3D 1,000 ms / minimum TCP RTT</p>
<p>For example, a minimum TCP RTT of 20 ms gives a theoretical ceiling of 5=
0 request-and-reply cycles per second.</p>
<p>Minimum RTT is a TCP statistic, while observed RPS is measured from the =
application-level Bounceback exchanges. Because each request waits for its =
reply before the next request is sent, actual RPS will normally be lower be=
cause of application processing, scheduling, working load, and other path e=
ffects.</p>
<p>The public responde.* servers in Fremont, Vienna, and Newark also suppor=
t IPv6. The app can select IPv6 normally through the Host field, or you can=
 enable Force IPv6 (-V) to test the IPv6 path explicitly. Your local networ=
k must also support IPv6.</p>
<p>Thanks again to everyone testing the app and providing feedback. It is v=
ery helpful.</p>
<p>Bob</p>

</body></html>

--=_a0e719618c144a15eeac764a6497b2ff--


--===============7685908718396234491==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWNjcmcgbWFp
bGluZyBsaXN0IC0tIGljY3JnQGlydGYub3JnClRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwg
dG8gaWNjcmctbGVhdmVAaXJ0Zi5vcmcK

--===============7685908718396234491==--