I'm running iperf in Ubuntu. The package seems to be this version:
iperf version 2.0.5 (08 Jul 2010) pthreads
And I'm having problems with testing multiple interfaces.
I have two NICs on my server:
eth0 Link encap:Ethernet HWaddr 00:30:48:65:5e:0c
inet addr:10.0.0.123 Bcast:10.0.0.0 Mask:255.255.255.0
eth1 Link encap:Ethernet HWaddr 00:30:48:65:5e:0d
inet addr:10.0.0.128 Bcast:10.0.0.0 Mask:255.255.255.0
AND I do not have a default route set (I deleted the default route
just in case it was the thing giving me grief):
ubuntu@supermicro:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
And I'm running iperf as a server on a target machine who's IP is 10.0.0.1.
Now, when I try to run iperf using -B to bind to a particular interface:
ubuntu@supermicro:~$ for x in 123 128; do iperf -B 10.0.0.$x -c 10.0.0.1; done
------------------------------------------------------------
Client connecting to 10.0.0.1, TCP port 5001
Binding to local address 10.0.0.123
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 10.0.0.123 port 5001 connected with 10.0.0.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.10 GBytes 943 Mbits/sec
------------------------------------------------------------
Client connecting to 10.0.0.1, TCP port 5001
Binding to local address 10.0.0.128
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 10.0.0.128 port 5001 connected with 10.0.0.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.10 GBytes 943 Mbits/sec
iperf is clearly telling me it's binding to each address and
connecting with each address and running the test.
On the server side, I see this:
ubuntu@critical-maas:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 10.0.0.1 port 5001 connected with 10.0.0.123 port 5001
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec
[ 5] local 10.0.0.1 port 5001 connected with 10.0.0.128 port 5001
[ 5] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec
So even the server side seems to think it's getting packets from both NICs.
HOWEVER, when I look at netstat back on my test machine, there's a
completely different story:
ubuntu@supermicro:~$ netstat -ni
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 252 0 0 0 61 0
0 0 BMRU
eth1 1500 0 543626 0 0 0 9773123 0
0 0 BMRU
lo 65536 0 151 0 0 0 151 0
0 0 LRU
--
"Entropy isn't what it used to be."
Jeff Lane - Server Certification Team Lead, Tools Developer, Warrior
Poet, Lover of Pie
Ubuntu Ham: W4KDH
Freenode IRC: bladernr or bladernr_
gpg: 1024D/3A14B2DD 8C88 B076 0DD7 B404 1417 C466 4ABD 3635 3A14 B2DD
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Iperf-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iperf-users