Subject: Re: [PATCH] IPV6: strategy hander for net.ipv6.conf.*.forwarding (is Re: problem setting net.ipvX.conf.all.forwarding via sysctl() system call)

From: "David S. Miller" <[email-masked]>
Date: Sat, 9 Aug 2003 01:08:45 -0700

On Fri, 08 Aug 2003 18:51:35 +0900 (JST)
YOSHIFUJI Hideaki / _$B5HF#1QL@ <[email-masked]> wrote:

> In article <[email-masked]> (at Fri, 8 Aug 2003 11:37:04 +0200), Jan Oravec <[email-masked]> says:
> 
> > On Fri, Aug 08, 2003 at 05:50:30PM +0900, YOSHIFUJI Hideaki / ?$B5HF#1QL@ wrote:
> > 
> > > +	*valp = new;
> > > +	if (valp != &ipv6_devconf.forwarding &&
> > > +	    valp != &ipv6_devconf_dflt.forwarding) {
> > > +		struct inet6_dev *idev = (struct inet6_dev *)table->extra1;
> > > +		if (!idev)
> > > +			return -ENODEV;
> > > +		addrconf_forward_change(idev);
> > > +	}
> > > +	return 0;
> > > +}
> > 
> > Shouldn't we set ipv6_devconf_dflt.forwarding and call
> > addr_forward_change(NULL) in case that valp==&ipv6_devconf.forwarding?
> 
> Oh, You're right. Here's the revised one:

As I mentioned for the ipv4 forwarding sysctl bug fix,
if you will set table->data yourself you should return
> 0 (for example "1") from your strategy handler.

The patch looks fine otherwise.

Please fix this, thank you.