I have 2 PCs connected to each other using two 1 Gbps ethernet link, to have an aggregate data bandwidth of 2 Gbps. In IxChariot, I can create multiple TCP pairs and split them into:

PC1_LAN1 <-> PC2_LAN1 (5 TCP pairs)
PC1_LAN2 <-> PC2_LAN2 (5 TCP pairs)

IxChariot aggregates these as 10 TCP pairs and runs a 2 Gbps throughput test.

I am trying to do something similar using iPerf.

In iPerf, I could run 2 parallel iPerf instances on a single client, 1st instance holding IP of PC2_LAN1 & 2nd instance holding IP of PC2_LAN2. This tries to utilize the 2 ethernet links on the server side. But how can I make,

1st iperf instance send packets on PC1_LAN1 <-> PC2_LAN1 (5 TCP pairs)

> iperf -c PC2_LAN1 -P 5

, and make

2nd iperf instance send packets on PC1_LAN2 <-> PC2_LAN2 (5 TCP pairs).

> iperf -c PC2_LAN2 -P 5

Well that was easy, all we need to do is 'bind' the IP address and/or port to the client. For example,

iperf -c PC2_LAN1 -P 5 -B PC1_LAN1


iperf -c PC2_LAN2 -P 5 -B PC1_LAN2

splits the data on two different LAN connections on the Client PC as well as the Server PC. This is quite useful for WiFi testing of data rate > 1 Gbps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.