ndisc: Add missing strategies for per-device retrans timer/reachable time settings.

Noticed from Al Viro <viro@ftp.linux.org.uk> via David Miller
<davem@davemloft.net>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
YOSHIFUJI Hideaki 2008-05-19 16:25:42 -07:00 committed by David S. Miller
parent e6da97e7df
commit 0686caa35e
3 changed files with 9 additions and 5 deletions

View File

@ -129,6 +129,10 @@ extern int ndisc_ifinfo_sysctl_change(struct ctl_table *ctl,
void __user *buffer, void __user *buffer,
size_t *lenp, size_t *lenp,
loff_t *ppos); loff_t *ppos);
int ndisc_ifinfo_sysctl_strategy(ctl_table *ctl, int __user *name,
int nlen, void __user *oldval,
size_t __user *oldlenp,
void __user *newval, size_t newlen);
#endif #endif
extern void inet6_ifinfo_notify(int event, extern void inet6_ifinfo_notify(int event,

View File

@ -4242,7 +4242,7 @@ static void addrconf_sysctl_register(struct inet6_dev *idev)
neigh_sysctl_register(idev->dev, idev->nd_parms, NET_IPV6, neigh_sysctl_register(idev->dev, idev->nd_parms, NET_IPV6,
NET_IPV6_NEIGH, "ipv6", NET_IPV6_NEIGH, "ipv6",
&ndisc_ifinfo_sysctl_change, &ndisc_ifinfo_sysctl_change,
NULL); ndisc_ifinfo_sysctl_strategy);
__addrconf_sysctl_register(dev_net(idev->dev), idev->dev->name, __addrconf_sysctl_register(dev_net(idev->dev), idev->dev->name,
idev->dev->ifindex, idev, &idev->cnf); idev->dev->ifindex, idev, &idev->cnf);
} }

View File

@ -1727,10 +1727,10 @@ int ndisc_ifinfo_sysctl_change(struct ctl_table *ctl, int write, struct file * f
return ret; return ret;
} }
static int ndisc_ifinfo_sysctl_strategy(ctl_table *ctl, int __user *name, int ndisc_ifinfo_sysctl_strategy(ctl_table *ctl, int __user *name,
int nlen, void __user *oldval, int nlen, void __user *oldval,
size_t __user *oldlenp, size_t __user *oldlenp,
void __user *newval, size_t newlen) void __user *newval, size_t newlen)
{ {
struct net_device *dev = ctl->extra1; struct net_device *dev = ctl->extra1;
struct inet6_dev *idev; struct inet6_dev *idev;