Le 18/01/2019 à 08:27, Cong Wang a écrit :
> There have been many people complaining about the inconsistent
> behaviors of IPv4 and IPv6 devconf when creating new network
> namespaces.  Currently, for IPv4, we inherit all current settings
> from init_net, but for IPv6 we reset all setting to default.
> 
> This patch introduces a new /proc file
> /proc/sys/net/core/devconf_inherit_init_net to control the
> behavior of whether to inhert sysctl current settings from init_net.
> This file itself is only available in init_net.
> 
> As demonstrated below:
> 
> Initial setup in init_net:
>  # cat /proc/sys/net/ipv4/conf/all/rp_filter
>  2
>  # cat /proc/sys/net/ipv6/conf/all/accept_dad
>  1
> 
> Default value 0 (current behavior):
>  # ip netns del test
>  # ip netns add test
>  # ip netns exec test cat /proc/sys/net/ipv4/conf/all/rp_filter
>  2
>  # ip netns exec test cat /proc/sys/net/ipv6/conf/all/accept_dad
>  0
> 
> Set to 1 (inherit from init_net):
>  # echo 1 > /proc/sys/net/core/devconf_inherit_init_net
>  # ip netns del test
>  # ip netns add test
>  # ip netns exec test cat /proc/sys/net/ipv4/conf/all/rp_filter
>  2
>  # ip netns exec test cat /proc/sys/net/ipv6/conf/all/accept_dad
>  1
> 
> Set to 2 (reset to default):
>  # echo 2 > /proc/sys/net/core/devconf_inherit_init_net
>  # ip netns del test
>  # ip netns add test
>  # ip netns exec test cat /proc/sys/net/ipv4/conf/all/rp_filter
>  0
>  # ip netns exec test cat /proc/sys/net/ipv6/conf/all/accept_dad
>  0
> 
> Set to a value out of range (invalid):
>  # echo 3 > /proc/sys/net/core/devconf_inherit_init_net
>  -bash: echo: write error: Invalid argument
>  # echo -1 > /proc/sys/net/core/devconf_inherit_init_net
>  -bash: echo: write error: Invalid argument
> 
> Reported-by: Zhu Yanjun <yanjun....@windriver.com>
> Reported-by: Tonghao Zhang <xiangxia.m....@gmail.com>
> Cc: Nicolas Dichtel <nicolas.dich...@6wind.com>
> Signed-off-by: Cong Wang <xiyou.wangc...@gmail.com>
Nice!

Acked-by: Nicolas Dichtel <nicolas.dich...@6wind.com>

Reply via email to