linux/Documentation
Eric Dumazet 79134e6ce2 net: do not create fallback tunnels for non-default namespaces
fallback tunnels (like tunl0, gre0, gretap0, erspan0, sit0,
ip6tnl0, ip6gre0) are automatically created when the corresponding
module is loaded.

These tunnels are also automatically created when a new network
namespace is created, at a great cost.

In many cases, netns are used for isolation purposes, and these
extra network devices are a waste of resources. We are using
thousands of netns per host, and hit the netns creation/delete
bottleneck a lot. (Many thanks to Kirill for recent work on this)

Add a new sysctl so that we can opt-out from this automatic creation.

Note that these tunnels are still created for the initial namespace,
to be the least intrusive for typical setups.

Tested:
lpk43:~# cat add_del_unshare.sh
for i in `seq 1 40`
do
 (for j in `seq 1 100` ; do  unshare -n /bin/true >/dev/null ; done) &
done
wait

lpk43:~# echo 0 >/proc/sys/net/core/fb_tunnels_only_for_init_net
lpk43:~# time ./add_del_unshare.sh

real	0m37.521s
user	0m0.886s
sys	7m7.084s
lpk43:~# echo 1 >/proc/sys/net/core/fb_tunnels_only_for_init_net
lpk43:~# time ./add_del_unshare.sh

real	0m4.761s
user	0m0.851s
sys	1m8.343s
lpk43:~#

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-03-09 11:23:11 -05:00
..
2018-02-15 14:50:32 -08:00
2018-01-27 20:02:24 +11:00
2017-09-22 21:57:09 +02:00
2018-01-30 13:57:43 -08:00
2017-09-07 21:11:05 -07:00
2018-02-06 16:41:29 -05:00
2017-11-17 17:51:33 -08:00
2018-02-02 10:47:15 +01:00
2018-01-27 20:02:24 +11:00
2017-05-02 17:34:32 -07:00
2018-02-22 15:00:43 -06:00
2018-01-29 11:32:44 -08:00
2017-07-07 13:55:45 -07:00
2017-05-16 08:44:18 -03:00
2017-11-14 18:01:46 -08:00
2018-01-22 08:17:16 -08:00
2017-09-26 14:58:23 -06:00
2017-12-16 22:37:12 -08:00
2017-07-14 13:51:29 -06:00
2017-08-19 11:02:53 -07:00
2017-07-14 13:51:34 -06:00
2017-07-14 13:51:42 -06:00
2017-07-14 13:51:43 -06:00
2017-07-14 13:51:43 -06:00
2017-07-14 13:51:45 -06:00
2017-07-14 13:51:45 -06:00
2017-07-14 13:51:46 -06:00
2017-07-14 13:57:58 -06:00
2017-07-14 13:57:59 -06:00
2017-07-06 08:23:30 +02:00
2017-07-14 13:58:04 -06:00
2017-07-14 13:58:14 -06:00
2017-07-14 13:58:10 -06:00
2017-07-14 13:58:11 -06:00