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

Reply via email to