diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2016-08-30 10:09:22 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-09-01 15:18:08 -0700 |
commit | 29c994e361009142ec0bca6493cc8f7b0d3c561a (patch) | |
tree | fd916638a672efdb06e56264d85da1276e221f14 /net/ipv6/addrconf.c | |
parent | d26c638c16cb54f6fb1507e27df93ede692db572 (diff) | |
download | lwn-29c994e361009142ec0bca6493cc8f7b0d3c561a.tar.gz lwn-29c994e361009142ec0bca6493cc8f7b0d3c561a.zip |
netconf: add a notif when settings are created
All changes are notified, but the initial state was missing.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r-- | net/ipv6/addrconf.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 2a688171a188..bdf368eff5ab 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -6032,7 +6032,7 @@ static const struct ctl_table addrconf_sysctl[] = { static int __addrconf_sysctl_register(struct net *net, char *dev_name, struct inet6_dev *idev, struct ipv6_devconf *p) { - int i; + int i, ifindex; struct ctl_table *table; char path[sizeof("net/ipv6/conf/") + IFNAMSIZ]; @@ -6052,6 +6052,13 @@ static int __addrconf_sysctl_register(struct net *net, char *dev_name, if (!p->sysctl_header) goto free; + if (!strcmp(dev_name, "all")) + ifindex = NETCONFA_IFINDEX_ALL; + else if (!strcmp(dev_name, "default")) + ifindex = NETCONFA_IFINDEX_DEFAULT; + else + ifindex = idev->dev->ifindex; + inet6_netconf_notify_devconf(net, NETCONFA_ALL, ifindex, p); return 0; free: |