Why doesn't forcing IGMP version work?

I'm testing some multicasting stuff, and I want to force usage of IGMPv2. In the Openwrt docs, it is said to add the following line to /etc/sysctl.conf:


The problem is it doesn't do anything. It is however possible to set this value for the individual interfaces, so not really a big deal, I'm just wondering why the 'all'-version doesn't work, as it should have written the value to all interfaces at once, AFAIK.

sysctl -w net.ipv4.conf.all.force_igmp_version=2 im on kernel 4.4 is working

If you want this on startup Querier for all interfaces for V2 use
sysctl -w net.ipv4.conf.default.force_igmp_version=2

When you change variables in the /proc/sys/net/ipv4/conf/all directory, the variable for all interfaces and default will be changed as well. When you change variables in /proc/sys/net/ipv4/conf/default, all future interfaces will have the value you specify. This should only affect machines that can add interfaces at run time .
The problem on the boot Startup sysctl get started @ 11 network is on @ 20 and new interface a generate they only now use the default entry for a function.

I'm on a snapshot build with kernel 4.9.40, and on that it doesn't work. The command itself is fine, and the 'all'-key is written, but it doesn't affect any of the interfaces:

root@R7800:~# sysctl net.ipv4.conf.eth1.force_igmp_version
net.ipv4.conf.eth1.force_igmp_version = 0
root@R7800:~# sysctl net.ipv4.conf.all.force_igmp_version
net.ipv4.conf.all.force_igmp_version = 0
root@R7800:~# sysctl -w net.ipv4.conf.all.force_igmp_version=2
net.ipv4.conf.all.force_igmp_version = 2
root@R7800:~# sysctl net.ipv4.conf.eth1.force_igmp_version
net.ipv4.conf.eth1.force_igmp_version = 0

I can set this key individually for each of the interfaces, though.

Not sure I understood your last sentence. Are you saying that there is a problem if the default key is set, since the sysctl at boot is being executed before the network?