• Kevin Yang's avatar
    txhash: fix sk->sk_txrehash default · c11204c7
    Kevin Yang authored
    This code fix a bug that sk->sk_txrehash gets its default enable
    value from sysctl_txrehash only when the socket is a TCP listener.
    
    We should have sysctl_txrehash to set the default sk->sk_txrehash,
    no matter TCP, nor listerner/connector.
    
    Tested by following packetdrill:
      0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
      +0 socket(..., SOCK_DGRAM, IPPROTO_UDP) = 4
      // SO_TXREHASH == 74, default to sysctl_txrehash == 1
      +0 getsockopt(3, SOL_SOCKET, 74, [1], [4]) = 0
      +0 getsockopt(4, SOL_SOCKET, 74, [1], [4]) = 0
    
    Fixes: 26859240 ("txhash: Add socket option to control TX hash rethink behavior")
    Signed-off-by: default avatarKevin Yang <yyd@google.com>
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c11204c7
inet_connection_sock.c 40.6 KB