lkml.org 
[lkml]   [2019]   [Jan]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.20 020/111] tcp: change txhash on SYN-data timeout
    Date
    4.20-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Yuchung Cheng <ycheng@google.com>

    [ Upstream commit c5715b8fabfca0ef85903f8bad2189940ed41cc8 ]

    Previously upon SYN timeouts the sender recomputes the txhash to
    try a different path. However this does not apply on the initial
    timeout of SYN-data (active Fast Open). Therefore an active IPv6
    Fast Open connection may incur one second RTO penalty to take on
    a new path after the second SYN retransmission uses a new flow label.

    This patch removes this undesirable behavior so Fast Open changes
    the flow label just like the regular connections. This also helps
    avoid falsely disabling Fast Open on the sender which triggers
    after two consecutive SYN timeouts on Fast Open.

    Signed-off-by: Yuchung Cheng <ycheng@google.com>
    Reviewed-by: Neal Cardwell <ncardwell@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/ipv4/tcp_timer.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/net/ipv4/tcp_timer.c
    +++ b/net/ipv4/tcp_timer.c
    @@ -226,7 +226,7 @@ static int tcp_write_timeout(struct sock
    if ((1 << sk->sk_state) & (TCPF_SYN_SENT | TCPF_SYN_RECV)) {
    if (icsk->icsk_retransmits) {
    dst_negative_advice(sk);
    - } else if (!tp->syn_data && !tp->syn_fastopen) {
    + } else {
    sk_rethink_txhash(sk);
    }
    retry_until = icsk->icsk_syn_retries ? : net->ipv4.sysctl_tcp_syn_retries;

    \
     
     \ /
      Last update: 2019-01-21 15:22    [W:3.803 / U:0.008 seconds]
    ©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site