Behaviour of sysctl net.ipv6.conf.all.* parameters

From: Tero Marttila <hidden>
Date: 2015-06-24 14:23:36

Hi,

I was exploring the behavior of various net.ipv6.conf.all parameters
such as use_tempaddr on Linux 3.16, but the behavior doesn't seem to
make sense.

The following settings do *not* result in privacy addresses on eth0:

	net.ipv6.conf.all.use_tempaddr=2
	net.ipv6.conf.eth0.use_tempaddr=0

But the following settings do:

	net.ipv6.conf.all.use_tempaddr=0
	net.ipv6.conf.eth0.use_tempaddr=2

This doesn't make sense per any of the AND/OR/MAX semantics as used for
e.g. net.ipv4.conf.all.

Looking at the net/ipv6/addrconf.c implementation, I can figure out
where net.ipv6.conf.default is implemented, and some handling for
specific devconf_all parameters (forwarding, disable_ipv6, proxy_ndp),
but I am unable to find any link between struct
netns_ipv6.devconf_all.use_tempaddr and struct inet6_dev.cnf.use_tempaddr.

Does anyone have any pointers for where this linking logic would be
implemented, or are the majority of net.ipv6.conf.all.* sysctl
parameters actually complete no-ops?

 -- Tero Marttila
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help