Bob McMahon | 22 Feb 22:41 2016

Read delay

Hi All,

We're noticing some TCP rtt/congestion window/aggregation issues when using wi-fi on fedora 22 or greater.   Something being used to help debug is a read delay on the server, i.e. have a n millisecond delay between an accept() and a server thread's initial read().  Also, a display of this latency.   For now, I've used a -q <int value milliseconds> to prototype this.

 iperf -s -e -q 200 -B 192.168.1.70 -l 16384 -i 0.5 -fb -p 61001
 Server thread scheduling latency is 0.200279 seconds

 iperf -s -e -q 0 -B 192.168.1.70 -l 16384 -i 0.5 -fb -p 61001
 Server thread scheduling latency is 0.000272 seconds


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users
Gabriel L. Somlo | 17 Feb 15:29 2016
Picon

iperf 2.0.8 build error with gcc 6

Hi,

I'm packaging iperf-2.* in Fedora, and since rawhide switched to gcc
6.0 I'm getting an error during build:

...
gcc -DHAVE_CONFIG_H -I. -I..  -I../include -I../include  -Wall -O2 -g
-pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector-strong --param=ssp-buffer-size=4
-grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-m64 -mtune=generic -c string.c
In file included from /usr/include/c++/6.0.0/cmath:42:0,
                 from /usr/include/c++/6.0.0/math.h:36,
                 from ../include/headers.h:85,
                 from ../include/Timestamp.hpp:63,
                 from delay.cpp:55:
/usr/include/c++/6.0.0/bits/cpp_type_traits.h:205:12: error:
redefinition of 'struct std::__is_integer<int>'
     struct __is_integer<int>
            ^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6.0.0/cmath:42:0,
                 from /usr/include/c++/6.0.0/math.h:36,
                 from ../include/headers.h:85,
                 from ../include/Timestamp.hpp:63,
                 from delay.cpp:55:
/usr/include/c++/6.0.0/bits/cpp_type_traits.h:138:12: error: previous
definition of 'struct std::__is_integer<int>'
     struct __is_integer<bool>

Makefile:386: recipe for target 'delay.o' failed
make[2]: *** [delay.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/builddir/build/BUILD/iperf-2.0.8/compat'
Makefile:377: recipe for target 'all-recursive' failed
make[1]: Leaving directory '/builddir/build/BUILD/iperf-2.0.8'
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Makefile:317: recipe for target 'all' failed

Any clue about how this might be worked around would be much
appreciated !

Thanks much,
--Gabriel

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users

Prithvi Raj | 15 Feb 09:08 2016
Picon

iperf results varies between back to back connected systems

Hi,

I am trying to use iperf 2.0.5 to measure TCP throughput between two Linux systems connected back to back.

The topology I am using is below:

Linux A eth1(192.138.14.1)----eth4(192.138.14.4) Linux B eth2(192.138.4.3)------eth3(192.138.4.2) Linux C

All links between Linuxes are 1gig links. All Linux interfaces are configured to 1000Mbps speed.

Throughout measured from B to C gives

Linux C# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.138.4.2 port 5001 connected with 192.138.4.3 port 60918
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.1 sec  1.11 GBytes   941 Mbits/sec


LinuxB# iperf -c 192.138.4.2
------------------------------------------------------------
Client connecting to 192.138.4.2, TCP port 5001
TCP window size: 23.2 KByte (default)
------------------------------------------------------------
[  3] local 192.138.4.3 port 60918 connected with 192.138.4.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.11 GBytes   952 Mbits/sec

When I send from C to B,

Linux B# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.138.4.3 port 5001 connected with 192.138.4.2 port 38576
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec   970 MBytes   813 Mbits/sec

Linux C# iperf -c 192.138.4.3
------------------------------------------------------------
Client connecting to 192.138.4.3, TCP port 5001
TCP window size: 23.2 KByte (default)
------------------------------------------------------------
[  3] local 192.138.4.2 port 38576 connected with 192.138.4.3 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   970 MBytes   814 Mbits/sec

Why am I seeing a marked difference in throughput measured in different directions between two back to back connected systems?

All my sysctl parameters in both Linux are same:

Linux B# sudo vim /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 1

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

#Enables/Disables TCP SACK (default 1)
net.ipv4.tcp_sack = 1

# Window Scaling
net.ipv4.tcp_window_scaling = 1

#Maximum Receive window size
#net.core.rmem_max = 16777216

# Receive Window Size Min Avg Max
#net.ipv4.tcp_rmem = 4096 87380 16777216

# Send Window Size Min Avg Max
#net.ipv4.tcp_wmem = 4096 16384 16777216



# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

# Controls the default maxmimum size of a mesage queue
kernel.msgmnb = 65536

# Controls the maximum size of a message, in bytes
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296

All Linux systems are running Linux Centos 6.4 and same kernel 2.6.32-358.el6.x86_64. This means they all should have the same defualt buffer sizes and same tunable TCP parameters.

On checking the network stats using netstat -s, I found the number of TCP segments sent out to be lesser. Linux B - 21047 segments sent (B to C) and Linux C - 16132 segments sent (C to B). Why is this ? Is there something apart from link speed, linux interface configs, tunable TCP parameters that is affecting the throughput values ?
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users
Bruce Mah | 2 Feb 01:28 2016
Picon
Gravatar

iperf-3.1.2 is available


ESnet (Energy Sciences Network) announces iperf-3.1.2, the latest
point/bugfix release from the iperf 3.1 codeline.

iperf-3.1.2 fixes a few bugs present in iperf-3.1.1 (and possibly
earlier releases), but generally retaining the same functionality.
More information on specific changes can be found in the RELEASE_NOTES
file in the source distribution.

iperf3 is a tool for measuring the maximum TCP and UDP performance
along a path, allowing for the tuning of various parameters and
reporting measurements such as throughput, jitter, and datagram packet
loss.  It is fully supported on Linux, FreeBSD, and MacOS X.  It may
run on other platforms as well, although it has not received the same
attention and testing.  Note that iperf3 is not compatible with, and
will not interoperate with, version 2 or earlier of iperf.

The source code for iperf 3.1.2 is available at:

http://downloads.es.net/pub/iperf/iperf-3.1.2.tar.gz

SHA256 hash:

f9dbdb99f869c077d14bc1de78675f5e4b8d1bf78dc92381e96c3eb5b1fd7d86  iperf-3.1.2.tar.gz

iperf3 is freely-redistributable under a 3-clause BSD license.  More
information can be found in the LICENSE file inside the source
distribution.

Additional documentation for iperf3 can be found at:

http://software.es.net/iperf

More information about iperf3 (including the issue tracker, source
code repository access, and mailing list) can be found on the iperf3
page on GitHub at:

https://github.com/esnet/iperf

The mailing list for iperf3 development is:

iperf-dev@...

To see the list archives or join the mailing list, visit:

http://groups.google.com/group/iperf-dev

Bob (Robert) McMahon | 24 Dec 20:54 2015

iperf 2.0.8 32 bit seq no.

Hi All,

 

I noticed that the iperf2 seq number  is 32 bits which limits a test to ~2B packets.   With modern computer and i/o systems, 2B isn’t quite as large as it used to be.  I’m likely going to add support for 64 bit counter soon.

 

Bob

 

------------------------------------------------------------------------------
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users
MD I. Islam | 9 Dec 23:17 2015
Picon

variable bit-rate traffic and variable source IP address

Hi

Is it possible to shape the traffic in iperf? I need the traffic to be variable bit rate instead of constant bit rate (following some probability distribution). Could you please advice?

I also need to simulate that the traffic is coming from different IP address and port. So, through the traffic is being generated from a node, I need the source IP address of the packets to be different. Is it possible to achieve in iperf?

Looking forward to your suggestions.

Thanks
Tamim


------------------------------------------------------------------------------
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users
Bruce A. Mah | 19 Nov 19:22 2015
Picon
Gravatar

iperf-3.1.1 is available (resend, GPG-signed)


ESnet (Energy Sciences Network) announces iperf-3.1.1, the first
point/bugfix release from the iperf 3.1 codeline.

iperf-3.1.1 fixes a few bugs in iperf-3.1 (some of which were also
present in earlier releases), retaining the same functionality.  More
information on specific changes can be found in the RELEASE_NOTES file
in the source distribution.

iperf3 is a tool for measuring the maximum TCP and UDP performance
along a path, allowing for the tuning of various parameters and
reporting measurements such as throughput, jitter, and datagram packet
loss.  It is fully supported on Linux, FreeBSD, and MacOS X.  It may
run on other platforms as well, although it has not received the same
attention and testing.  Note that iperf3 is not compatible with, and
will not interoperate with, version 2 or earlier of iperf.

The source code for iperf 3.1.1 is available at:

http://downloads.es.net/pub/iperf/iperf-3.1.1.tar.gz

SHA256 hash:

62f7c64eafe19046ba974b3ef2d962a5597194d6fbbddde328a15a5e74110564  iperf-3.1.1.tar.gz

iperf3 is freely-redistributable under a 3-clause BSD license.  More
information can be found in the LICENSE file inside the source
distribution.

Additional documentation for iperf3 can be found at:

http://software.es.net/iperf

More information about iperf3 (including the issue tracker, source
code repository access, and mailing list) can be found on the iperf3
page on GitHub at:

https://github.com/esnet/iperf

The mailing list for iperf3 development is:

iperf-dev@...

To see the list archives or join the mailing list, visit:

http://groups.google.com/group/iperf-dev

Bruce A. Mah | 19 Nov 19:17 2015
Picon
Gravatar

iperf-3.1.1 is available

ESnet (Energy Sciences Network) announces iperf-3.1.1, the first
point/bugfix release from the iperf 3.1 codeline.

iperf-3.1.1 fixes a few bugs in iperf-3.1 (some of which were also
present in earlier releases), retaining the same functionality.  More
information on specific changes can be found in the RELEASE_NOTES file
in the source distribution.

iperf3 is a tool for measuring the maximum TCP and UDP performance
along a path, allowing for the tuning of various parameters and
reporting measurements such as throughput, jitter, and datagram packet
loss.  It is fully supported on Linux, FreeBSD, and MacOS X.  It may
run on other platforms as well, although it has not received the same
attention and testing.  Note that iperf3 is not compatible with, and
will not interoperate with, version 2 or earlier of iperf.

The source code for iperf 3.1.1 is available at:

http://downloads.es.net/pub/iperf/iperf-3.1.1.tar.gz

SHA256 hash:

62f7c64eafe19046ba974b3ef2d962a5597194d6fbbddde328a15a5e74110564  iperf-3.1.1.tar.gz

iperf3 is freely-redistributable under a 3-clause BSD license.  More
information can be found in the LICENSE file inside the source
distribution.

Additional documentation for iperf3 can be found at:

http://software.es.net/iperf

More information about iperf3 (including the issue tracker, source
code repository access, and mailing list) can be found on the iperf3
page on GitHub at:

https://github.com/esnet/iperf

The mailing list for iperf3 development is:

iperf-dev@...

To see the list archives or join the mailing list, visit:

http://groups.google.com/group/iperf-dev

------------------------------------------------------------------------------
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users

Bruce A. Mah | 17 Oct 01:02 2015
Picon
Gravatar

iperf3 development status

Beginning with the release of iperf 3.1, ESnet plans to support iperf3
in "maintenance mode".  At this point, we have no definite plans for
further iperf3 releases, and ESnet will be providing a very limited
amount of resources for support and development, going forward.
However, ESnet could issue new iperf3 releases to deal with security
issues or high-impact bug fixes.

Requests for support, enhancements, and questions should best be
directed to the iperf-dev mailing list.  ESnet would be open to adding
project members/committers from the community, in case there are
developers who are interested in doing more active work with iperf3
and/or supporting the user base.

The posting address for the iperf-dev mailing list is:

iperf-dev@...

To see the list archives or to join the mailing list, visit:

http://groups.google.com/group/iperf-dev

We thank you for your interest in iperf3, suggestions, and
contributions.

------------------------------------------------------------------------------
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users
Bruce A. Mah | 16 Oct 21:54 2015
Picon
Gravatar

iperf-3.1 is available


ESnet (Energy Sciences Network) is proud to announce iperf-3.1, the
first general-availability release from the iperf 3.1 codeline.

iperf-3.1 adds support for tests using SCTP on FreeBSD, Linux, and
Solaris.  In addition, it improves support for some optional features
on FreeBSD, and in general increases compatibility with a number of
other operating systems.  Finally, a number of minor bug fixes and
enhancements have been added.  More information on specific changes
can be found in the RELEASE_NOTES file in the source distribution.

iperf3 is a tool for measuring the maximum TCP and UDP performance
along a path, allowing for the tuning of various parameters and
reporting measurements such as throughput, jitter, and datagram packet
loss.  It is fully supported on Linux, FreeBSD, and MacOS X.  It may
run on other platforms as well, although it has not received the same
attention and testing.  Note that iperf3 is not compatible with, and
will not interoperate with, version 2 or earlier of iperf.

The source code for iperf 3.1 is available at:

http://downloads.es.net/pub/iperf/iperf-3.1.tar.gz

SHA256 hash:

4385a32ece25cb09d4606b4c99316356b3d2cb03b318aa056b99cdb91c5ce656  iperf-3.1.tar.gz

iperf3 is freely-redistributable under a 3-clause BSD license.  More
information can be found in the LICENSE file inside the source
distribution.

Additional documentation for iperf3 can be found at:

http://software.es.net/iperf

More information about iperf3 (including the issue tracker, source
code repository access, and mailing list) can be found on the iperf3
page on GitHub at:

https://github.com/esnet/iperf

The mailing list for iperf3 development is:

iperf-dev@...

To see the list archives or join the mailing list, visit:

http://groups.google.com/group/iperf-dev

Bob (Robert) McMahon | 25 Jul 21:02 2015

Help request: Iperf 2.0.8 compile/port for iOS

Hi All,

 

I’m looking to find someone who has the skills to compile/port iperf 2.0.8 to the iOS platform.   I need this as a proof of concept.   Any hw/sw combination is fine though the more current, the better.

 

Thanks in advance,

Bob McMahon

------------------------------------------------------------------------------
_______________________________________________
Iperf-users mailing list
Iperf-users@...
https://lists.sourceforge.net/lists/listinfo/iperf-users

Gmane