Skip to content

ipv4: do not use per netns icmp sockets

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2089118 Upstream Status: net.git commit a15c89c703d4

commit a15c89c703d43490ea68ea4516553d4ea4f6b1e1 Author: Eric Dumazet edumazet@google.com Date: Mon Jan 24 12:24:55 2022 -0800

ipv4: do not use per netns icmp sockets

Back in linux-2.6.25 (commit 4a6ad7a141cb "[NETNS]: Make icmp_sk per namespace."),
we added private per-cpu/per-netns ipv4 icmp 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.

icmp sockets are used from BH context, are not receiving packets,
and do not store any persistent state but the 'struct net' pointer.

icmp_xmit_lock() already makes sure to lock the chosen per-cpu
socket.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Signed-off-by: Hangbin Liu haliu@redhat.com

Edited by Hangbin Liu

Merge request reports