linux/net/ipv6
Kevin Yang 0ae9d81109 txhash: fix sk->sk_txrehash default
[ Upstream commit c11204c78d ]

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: 26859240e4 ("txhash: Add socket option to control TX hash rethink behavior")
Signed-off-by: Kevin Yang <yyd@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-02-14 19:11:48 +01:00
..
ila
netfilter netfilter: rpfilter/fib: Set ->flowic_uid correctly for user namespaces. 2022-10-19 08:46:48 +02:00
addrconf_core.c
addrconf.c ip/ip6_gre: Fix non-point-to-point tunnel not generating IPv6 link local address 2023-02-09 11:28:09 +01:00
addrlabel.c ipv6: addrlabel: fix infoleak when sending struct ifaddrlblmsg to network 2022-11-07 12:26:15 +00:00
af_inet6.c txhash: fix sk->sk_txrehash default 2023-02-14 19:11:48 +01:00
ah6.c
anycast.c
calipso.c
datagram.c net: setsockopt: fix IPV6_UNICAST_IF option for connected sockets 2022-12-31 13:32:27 +01:00
esp6_offload.c xfrm: replay: Fix ESN wrap around for GSO 2022-10-19 09:00:53 +02:00
esp6.c
exthdrs_core.c
exthdrs_offload.c
exthdrs.c
fib6_notifier.c
fib6_rules.c
fou6.c
icmp.c
inet6_connection_sock.c
inet6_hashtables.c
ioam6_iptunnel.c
ioam6.c
ip6_checksum.c
ip6_fib.c
ip6_flowlabel.c treewide: use get_random_u32() when possible 2022-10-11 17:42:58 -06:00
ip6_gre.c ipv6: ensure sane device mtu in tunnels 2022-10-25 16:04:22 -07:00
ip6_icmp.c
ip6_input.c
ip6_offload.c
ip6_offload.h
ip6_output.c ipv6: fix reachability confirmation with proxy_ndp 2023-02-01 08:34:39 +01:00
ip6_tunnel.c ipv6: ensure sane device mtu in tunnels 2022-10-25 16:04:22 -07:00
ip6_udp_tunnel.c
ip6_vti.c
ip6mr.c
ipcomp6.c
ipv6_sockglue.c tcp: Fix data races around icsk->icsk_af_ops. 2022-10-12 17:50:37 -07:00
Kconfig
Makefile
mcast_snoop.c
mcast.c treewide: use prandom_u32_max() when possible, part 1 2022-10-11 17:42:55 -06:00
mip6.c
ndisc.c
netfilter.c
output_core.c treewide: use get_random_u32() when possible 2022-10-11 17:42:58 -06:00
ping.c inet: ping: fix recent breakage 2022-10-12 09:10:02 +01:00
proc.c
protocol.c
raw.c ipv6: raw: Deduct extension header length in rawv6_push_pending_frames 2023-01-18 11:58:19 +01:00
reassembly.c
route.c ipv6: fix WARNING in ip6_route_net_exit_late() 2022-11-02 20:47:14 -07:00
rpl_iptunnel.c
rpl.c
seg6_hmac.c
seg6_iptunnel.c
seg6_local.c
seg6.c
sit.c ipv6/sit: use DEV_STATS_INC() to avoid data-races 2022-12-31 13:33:02 +01:00
syncookies.c
sysctl_net_ipv6.c
tcp_ipv6.c dccp/tcp: Fixup bhash2 bucket when connect() fails. 2022-11-22 20:15:37 -08:00
tcpv6_offload.c
tunnel6.c
udp_impl.h tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct(). 2022-10-12 17:50:37 -07:00
udp_offload.c
udp.c udp: Clean up some functions. 2022-12-31 13:32:13 +01:00
udplite.c tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct(). 2022-10-12 17:50:37 -07:00
xfrm6_input.c
xfrm6_output.c
xfrm6_policy.c xfrm: Fix ignored return value in xfrm6_init() 2022-11-22 07:16:34 +01:00
xfrm6_protocol.c
xfrm6_state.c
xfrm6_tunnel.c