• Cosmin Ratiu's avatar
    ipv6: Fix tcp_v6_send_response(): it didn't set skb transport header · a8fdf2b3
    Cosmin Ratiu authored
    Here is a patch which fixes an issue observed when using TCP over IPv6
    and AH from IPsec.
    
    When a connection gets closed the 4-way method and the last ACK from
    the server gets dropped, the subsequent FINs from the client do not
    get ACKed because tcp_v6_send_response does not set the transport
    header pointer. This causes ah6_output to try to allocate a lot of
    memory, which typically fails, so the ACKs never make it out of the
    stack.
    
    I have reproduced the problem on kernel 2.6.7, but after looking at
    the latest kernel it seems the problem is still there.
    Signed-off-by: default avatarCosmin Ratiu <cratiu@ixiacom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a8fdf2b3
tcp_ipv6.c 53.5 KB