linux-stable/include/net/netns
Eric Dumazet f52af853be ipv4/tcp: do not use per netns ctl sockets
[ Upstream commit 37ba017dcc ]

TCP ipv4 uses per-cpu/per-netns ctl sockets in order to send
RST and some ACK packets (on behalf of TIMEWAIT sockets).

This adds memory and cpu costs, which do not seem needed.
Now typical servers have 256 or more cores, this adds considerable
tax to netns users.

tcp sockets are used from BH context, are not receiving packets,
and do not store any persistent state but the 'struct net' pointer
in order to be able to use IPv4 output functions.

Note that I attempted a related change in the past, that had
to be hot-fixed in commit bdbbb8527b ("ipv4: tcp: get rid of ugly unicast_sock")

This patch could very well surface old bugs, on layers not
taking care of sk->sk_kern_sock properly.

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>
2022-07-29 17:25:11 +02:00
..
bpf.h bpf, netns: Keep a list of attached bpf_link's 2020-06-30 10:45:08 -07:00
can.h can: remove obsolete version strings 2020-10-12 10:06:39 +02:00
conntrack.h netfilter: ecache: remove nf_exp_event_notifier structure 2021-08-25 12:50:38 +02:00
core.h
generic.h
hash.h netns: provide pure entropy for net_hash_mix() 2019-03-28 17:00:45 -07:00
ieee802154_6lowpan.h net: dynamically allocate fqdir structures 2019-05-26 14:08:05 -07:00
ipv4.h ipv4/tcp: do not use per netns ctl sockets 2022-07-29 17:25:11 +02:00
ipv6.h ipv6: make ip6_rt_gc_expire an atomic_t 2022-04-27 14:38:54 +02:00
mctp.h mctp: Allow per-netns default networks 2021-07-29 15:06:50 +01:00
mib.h net: reorganize fields in netns_mib 2021-04-02 14:31:44 -07:00
mpls.h
netfilter.h netfilter: conntrack: fix boot failure with nf_conntrack.enable_hooks=1 2021-09-28 13:04:55 +02:00
nexthop.h nexthop: Convert to blocking notification chain 2020-09-15 16:31:17 -07:00
nftables.h net: remove obsolete members from struct net 2021-04-06 00:34:53 +02:00
packet.h
sctp.h sctp: add probe_interval in sysctl and sock/asoc/transport 2021-06-22 11:28:51 -07:00
smc.h net/smc: Make SMC statistics network namespace aware 2021-06-16 12:54:02 -07:00
unix.h
xdp.h net: xsk: track AF_XDP sockets on a per-netns list 2019-01-25 01:50:03 +01:00
xfrm.h xfrm: rework default policy structure 2022-05-25 09:57:30 +02:00