• Lawrence Brakmo's avatar
    tcp: Change txhash on every SYN and RTO retransmit · 3acf3ec3
    Lawrence Brakmo authored
    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: default avatarLawrence Brakmo <brakmo@fb.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    3acf3ec3
tcp_timer.c 20.3 KB