Mailing List Archive

bonding round-robin for scaling bandwidth for a single flow
I've been trying to replicate the results from;
https://louwrentius.com/linux-network-interface-bonding-trunking-or-how-to-get-beyond-1-gbs.html

To get over 1 Gig throughput for a single flow out of a 2x1GB bonded
connection. Presumably its only client?server file transfers that are over
1GB, as in this configuration the server is using LACP.

The setup is per the above, so; Switch: Netgear GS716Tv3 Client: bond uses
'Bonding Mode: load balancing (round-robin)'. The switch is configured as a
static trunk for those two ports Server: bond uses 'IEEE 802.3ad Dynamic
link aggregation' with Transmit Hash Policy: layer3+4 (shouldnt matter),
and the switch is configured as an LACP trunk for those two ports.Testing
using iperf3.

I can see the Client sending roughly equal numbers of packets down both
interfaces, so it looks like round-robin is working fine. The responses
from the server come back on a single interface, but i'm assuming that's ok
as they're just acks. Wireshark says the packet capture of the bond
interface of the server is full of 'dup ack', 'previous segment not
captured', 'tcp out of order' which I assume means that there's packet
forwarding jitter on the low end switch. Perhaps it could work with a
better switch?

Thanks for any ideas on this.