Skip to Content.
Sympa Menu

perfsonar-user - Re: [perfsonar-user] Different results from iperf3 vs. bwctl -T iperf3

Subject: perfSONAR User Q&A and Other Discussion

List archive

Re: [perfsonar-user] Different results from iperf3 vs. bwctl -T iperf3


Chronological Thread 
  • From: Brian Candler <>
  • To: Aaron Brown <>
  • Cc: "" <>
  • Subject: Re: [perfsonar-user] Different results from iperf3 vs. bwctl -T iperf3
  • Date: Wed, 10 Dec 2014 21:32:50 +0000
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=pobox.com; h=message-id:date :from:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; q=dns; s=sasl; b=pZaOnZ TsMMlx7Gn4GlU8EFhAu9Ppsr3rUCfTrLqu3JlclA1LaAS81Zs3aghhyAsl2KVfqF qGa97ayYvava/hIx4hFEL8Z/CoRWPyaUQmf2WTcuz3mjzcEU7sr8/2HMTSNMf+mL NvyMhKvDVejTXD0r97OWtZbTtc8ZFZcRIua3c=

On 10/12/2014 14:23, Aaron Brown wrote:
Could you try applying this
patch:http://ndb1.internet2.edu/~aaron/bwctl_change_iperf3_exec.patch (or
just downloadhttp://ndb1.internet2.edu/~aaron/iperf3.c and replace the
iperf3.c in ‘bwlib’). This changes it so that bwctl just execs iperf3 instead
of linking to the library.
This one also doesn't give any output (see end of mail).

I know it's the patched daemon I'm running because it includes
bwctld[13564]: FILE=iperf3.c, LINE=65, Iperf3Available(): iperf3_cmd unset, using "iperf3"
in its startup message.

If I "strace -f" the parent bwctld process at the other side (cov-perf-1) I see:

# grep exec /var/tmp/bwctl.trace
[pid 55003] write(1, "bwctl: exec_line: iperf3 -c 212."..., 238) = 238
[pid 55003] execve("/sbin/iperf3", ["iperf3", "-c", "192.0.2.251", "-B", "192.0.2.254", "-f", "m", "-p", "5792", "-V", "-t", "10"], [/* 5 vars */]) = -1 ENOENT (No such file or directory)
[pid 55003] execve("/usr/sbin/iperf3", ["iperf3", "-c", "192.0.2.251", "-B", "192.0.2.254", "-f", "m", "-p", "5792", "-V", "-t", "10"], [/* 5 vars */]) = -1 ENOENT (No such file or directory)
[pid 55003] execve("/bin/iperf3", ["iperf3", "-c", "192.0.2.251", "-B", "192.0.2.254", "-f", "m", "-p", "5792", "-V", "-t", "10"], [/* 5 vars */]) = -1 ENOENT (No such file or directory)
[pid 55003] execve("/usr/bin/iperf3", ["iperf3", "-c", "192.0.2.251", "-B", "192.0.2.254", "-f", "m", "-p", "5792", "-V", "-t", "10"], [/* 5 vars */]) = 0
[pid 55006] execve("/bin/sh", ["sh", "-c", "uname -a"], [/* 5 vars */]) = 0
[pid 55006] execve("/bin/uname", ["uname", "-a"], [/* 5 vars */]) = 0
[pid 55002] write(13, ".254\nbwctl: exec", 16) = 16
[pid 55002] read(13, ".254\nbwctl: exec", 16) = 16
[pid 55001] write(10, ".254\nbwctl: exec", 16) = 16
[pid 55011] write(1, "bwctl: nothing to exec for trace"..., 199) = 199
[pid 55010] write(14, "ing to exec for ", 16) = 16

Grepping for process 55003 I see:

...
[pid 55003] socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 8
[pid 55003] bind(8, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.0.2.254")}, 16) = 0
[pid 55003] connect(8, {sa_family=AF_INET, sin_port=htons(5792), sin_addr=inet_addr("192.0.2.251")}, 16) = -1 ECONNREFUSED (Connection refused)
[pid 55003] close(8) = 0
[pid 55003] write(2, "iperf3: error - unable to connec"..., 64) = 64
[pid 55003] exit_group(1) = ?

So it looks like the iperf3 -s simply isn't ready in time. Simple race condition? How much slack does bwctld allow between starting the server and starting the client?

Regards,

Brian.

[root@bou-perf-1
~]# time bwctl -v -x -a 2 -s cov-perf-1 -T iperf3
Messages being sent to syslog(user,err)
bwctl: Using cov-perf-1 as the address for remote sender
bwctl: Using 192.0.2.251 as the address for local receiver
bwctl: Available in-common: iperf nuttcp iperf3
bwctl: Using tool: iperf3
bwctl: Server 'localhost' accepted test request at time 1418246840.702620
bwctl: Client 'cov-perf-1' accepted test request at time 1418246840.702620
bwctl: 43 seconds until test results available

RECEIVER START
bwctl: start_endpoint: 3627235608.629568
bwctl: run_endpoint: receiver: 192.0.2.251
bwctl: run_endpoint: sender: 192.0.2.254
bwctl: exec_line: iperf3 -s -B 192.0.2.251 -f m -p 5792 -V
bwctl: run_tool: tester: iperf3
bwctl: run_tool: receiver: 192.0.2.251
bwctl: run_tool: sender: 192.0.2.254
bwctl: start_tool: 3627235625.162757
iperf 3.0.9
Linux bou-perf-1.network.example.com 2.6.32-504.1.3.el6.aufs.web100.x86_64 #1 SMP Wed Nov 12 16:01:48 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
iperf3: interrupt - the server has terminated
-----------------------------------------------------------
Server listening on 5792
-----------------------------------------------------------
bwctl: stop_tool: 3627235656.684916
bwctl: stop_endpoint: 3627235656.685499

RECEIVER END

SENDER START
bwctl: start_endpoint: 3627235608.676979
bwctl: run_endpoint: receiver: 192.0.2.251
bwctl: run_endpoint: sender: 192.0.2.254
bwctl: exec_line: iperf3 -c 192.0.2.251 -B 192.0.2.254 -f m -p 5792 -V -t 10
bwctl: run_tool: tester: iperf3
bwctl: run_tool: receiver: 192.0.2.251
bwctl: run_tool: sender: 192.0.2.254
bwctl: start_tool: 3627235640.703108
iperf 3.0.9
Linux cov-perf-1.network.example.com 2.6.32-504.1.3.el6.aufs.web100.x86_64 #1 SMP Wed Nov 12 16:01:48 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
iperf3: error - unable to connect to server: Connection refused
bwctl: stop_tool: 3627235640.728257
bwctl: stop_endpoint: 3627235656.735306

SENDER END

real 0m48.170s
user 0m0.002s
sys 0m0.004s
[root@bou-perf-1
~]#



Archive powered by MHonArc 2.6.16.

Top of Page