|
@@ -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,
|