diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2016-08-30 10:09:21 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-09-01 15:18:08 -0700 |
commit | d26c638c16cb54f6fb1507e27df93ede692db572 (patch) | |
tree | 2d61660af29f958ef79d297ad280d03fd2fc593c /net/ipv6 | |
parent | d3ebc88efe464d93585e66ffa0cd402cd55a033d (diff) | |
download | linux-d26c638c16cb54f6fb1507e27df93ede692db572.tar.gz linux-d26c638c16cb54f6fb1507e27df93ede692db572.tar.bz2 linux-d26c638c16cb54f6fb1507e27df93ede692db572.zip |
ipv6: add missing netconf notif when 'all' is updated
The 'default' value was not advertised.
Fixes: f3a1bfb11ccb ("rtnl/ipv6: use netconf msg to advertise forwarding status")
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/addrconf.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index f418d2eaeddd..2a688171a188 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -778,7 +778,14 @@ static int addrconf_fixup_forwarding(struct ctl_table *table, int *p, int newf) } if (p == &net->ipv6.devconf_all->forwarding) { + int old_dflt = net->ipv6.devconf_dflt->forwarding; + net->ipv6.devconf_dflt->forwarding = newf; + if ((!newf) ^ (!old_dflt)) + inet6_netconf_notify_devconf(net, NETCONFA_FORWARDING, + NETCONFA_IFINDEX_DEFAULT, + net->ipv6.devconf_dflt); + addrconf_forward_change(net, newf); if ((!newf) ^ (!old)) inet6_netconf_notify_devconf(net, NETCONFA_FORWARDING, |