]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: Change txhash on every SYN and RTO retransmit
authorLawrence Brakmo <brakmo@fb.com>
Wed, 28 Sep 2016 02:03:37 +0000 (19:03 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Sep 2016 11:52:34 +0000 (07:52 -0400)
commit766a7a2eb9ca9cde80f49c3d79bd89920774f729
treecdc67656dc5d6ea9bc76ed3e2cd80b3614065d8d
parent5ae329cf64f068fcd895dbe2b96c162280f9204c
tcp: Change txhash on every SYN and RTO retransmit

The current code changes txhash (flowlables) on every retransmitted
SYN/ACK, but only after the 2nd retransmitted SYN and only after
tcp_retries1 RTO retransmits.

With this patch:
1) txhash is changed with every SYN retransmits
2) txhash is changed with every RTO.

The result is that we can start re-routing around failed (or very
congested paths) as soon as possible. Otherwise application health
checks may fail and the connection may be terminated before we start
to change txhash.

v4: Removed sysctl, txhash is changed for all RTOs
v3: Removed text saying default value of sysctl is 0 (it is 100)
v2: Added sysctl documentation and cleaned code

Tested with packetdrill tests

Signed-off-by: Lawrence Brakmo <brakmo@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_timer.c