diff options
Diffstat (limited to 'net/ipv4/devinet.c')
| -rw-r--r-- | net/ipv4/devinet.c | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index 415e117967c7..062a67ca9a21 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c @@ -2232,7 +2232,7 @@ static struct devinet_sysctl_table {  };  static int __devinet_sysctl_register(struct net *net, char *dev_name, -					struct ipv4_devconf *p) +				     int ifindex, struct ipv4_devconf *p)  {  	int i;  	struct devinet_sysctl_table *t; @@ -2255,6 +2255,8 @@ static int __devinet_sysctl_register(struct net *net, char *dev_name,  		goto free;  	p->sysctl = t; + +	inet_netconf_notify_devconf(net, NETCONFA_ALL, ifindex, p);  	return 0;  free: @@ -2286,7 +2288,7 @@ static int devinet_sysctl_register(struct in_device *idev)  	if (err)  		return err;  	err = __devinet_sysctl_register(dev_net(idev->dev), idev->dev->name, -					&idev->cnf); +					idev->dev->ifindex, &idev->cnf);  	if (err)  		neigh_sysctl_unregister(idev->arp_parms);  	return err; @@ -2347,11 +2349,12 @@ static __net_init int devinet_init_net(struct net *net)  	}  #ifdef CONFIG_SYSCTL -	err = __devinet_sysctl_register(net, "all", all); +	err = __devinet_sysctl_register(net, "all", NETCONFA_IFINDEX_ALL, all);  	if (err < 0)  		goto err_reg_all; -	err = __devinet_sysctl_register(net, "default", dflt); +	err = __devinet_sysctl_register(net, "default", +					NETCONFA_IFINDEX_DEFAULT, dflt);  	if (err < 0)  		goto err_reg_dflt; | 
