From: Stefan Baranoff <sbaran...@gmail.com> Date: Tue, 10 Jul 2018 17:25:20 -0400
> This patch fixes a bug where the sequence numbers of a socket created using > TCP repair functionality are lower than set after connect is called. > This occurs when the repair socket overlaps with a TIME-WAIT socket and > triggers the re-use code. The amount lower is equal to the number of times > that a particular IP/port set is re-used and then put back into TIME-WAIT. > Re-using the first time the sequence number is 1 lower, closing that socket > and then re-opening (with repair) a new socket with the same addresses/ports > puts the sequence number 2 lower than set via setsockopt. The third time is > 3 lower, etc. I have not tested what the limit of this acrewal is, if any. > > The fix is, if a socket is in repair mode, to respect the already set > sequence number and timestamp when it would have already re-used the > TIME-WAIT socket. > > Signed-off-by: Stefan Baranoff <sbaran...@gmail.com> Applied.