Bug 42855

Summary: /proc/sys/net/ipv6/conf/all/use_tempaddr and /proc/sys/net/ipv6/conf/default/use_tempaddr are not applied
Product: Networking Reporter: micah
Component: IPV6Assignee: Hideaki YOSHIFUJI (yoshfuji)
Status: RESOLVED INVALID    
Severity: normal CC: alan
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.2.0-1 Subsystem:
Regression: No Bisected commit-id:

Description micah 2012-03-04 05:56:51 UTC
I've set the RFC4941 ipv6 privacy extensions, as follows:

net.ipv6.conf.all.use_tempaddr = 1
net.ipv6.conf.default.use_tempaddr = 1

here we can see that they are properly set:
$ cat /proc/sys/net/ipv6/conf/all/use_tempaddr 
1
$ cat /proc/sys/net/ipv6/conf/default/use_tempaddr 
1
$

However, when I bring up eth0, it neither gets the ipv6 privacy extensions applied, now is its proc entry set:

$ cat /proc/sys/net/ipv6/conf/eth0/use_tempaddr
0
$

In order for eth0 to have this set, I need to also set:
net.ipv6.conf.eth0.use_tempaddr = 1

What is the point of /proc/sys/net/ipv6/conf/all/use_tempaddr or /proc/sys/net/ipv6/conf/default/use_tempaddr at if it isn't applied to all interfaces?

Unsurprisingly, it also does not work with my wlan interface. Just like eth0, if the module is not loaded, because the rfkill switch is toggled on, and then I  turn it off and bring the interface up, it doesn't have the ipv6 privacy extensions.

Additionally, even when net.ipv6.conf.eth0.use_tempaddr is set, it is only
recognized if interface state changes from down to up, which means you
can't enable RFC4941 on an already running interface.

This behavior is unexpected and confusing, and potentially problematic for people who are expecting something reasonable, only to be surprised later.
Comment 1 Alan 2012-08-31 16:14:58 UTC
This sot of thing needs discussing on netdev@vger.kernel.org, it won't get handled as a bug