From: Yuchung Cheng <ych...@google.com> Date: Wed, 29 Aug 2018 14:53:56 -0700
> Currently a Linux IPv6 TCP sender will change the flow label upon > timeouts to potentially steer away from a data path that has gone > bad. However this does not help if the problem is on the ACK path > and the data path is healthy. In this case the receiver is likely > to receive repeated spurious retransmission because the sender > couldn't get the ACKs in time and has recurring timeouts. > > This patch adds another feature to mitigate this problem. It > leverages the DSACK states in the receiver to change the flow > label of the ACKs to speculatively re-route the ACK packets. > In order to allow triggering on the second consecutive spurious > RTO, the receiver changes the flow label upon sending a second > consecutive DSACK for a sequence number below RCV.NXT. > > Signed-off-by: Yuchung Cheng <ych...@google.com> > Signed-off-by: Neal Cardwell <ncardw...@google.com> > Signed-off-by: Eric Dumazet <eduma...@google.com> Applied.