From: Hangbin Liu <liuhang...@gmail.com> Date: Mon, 6 Nov 2017 09:01:57 +0800
> After commit 07f4c90062f8 ("tcp/dccp: try to not exhaust ip_local_port_range > in connect()"), we will try to use even ports for connect(). Then if an > application (seen clearly with iperf) opens multiple streams to the same > destination IP and port, each stream will be given an even source port. > > So the bonding driver's simple xmit_hash_policy based on layer3+4 addressing > will always hash all these streams to the same interface. And the total > throughput will limited to a single slave. > > Change the tcp code will impact the whole tcp behavior, only for bonding > usage. Paolo Abeni suggested fix this by changing the bonding code only, > which should be more reasonable, and less impact. > > Fix this by discarding the lowest hash bit because it contains little entropy. > After the fix we can re-balance between slaves. > > Signed-off-by: Paolo Abeni <pab...@redhat.com> > Signed-off-by: Hangbin Liu <liuhang...@gmail.com> Applied and queued up for -stable, thank you.