netdev
[Top] [All Lists]

Re: problem setting net.ipvX.conf.all.forwarding via sysctl() system cal

To: jan.oravec@xxxxxxx
Subject: Re: problem setting net.ipvX.conf.all.forwarding via sysctl() system call
From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@xxxxxxxxxxxxxx>
Date: Fri, 08 Aug 2003 17:45:04 +0900 (JST)
Cc: netdev@xxxxxxxxxxx, yoshfuji@xxxxxxxxxxxxxx
In-reply-to: <20030803154427.GA12926@xxxxxxxxxx>
Organization: USAGI Project
References: <20030803154427.GA12926@xxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
In article <20030803154427.GA12926@xxxxxxxxxx> (at Sun, 3 Aug 2003 17:44:27 
+0200), Jan Oravec <jan.oravec@xxxxxxx> says:

> For IPv4, it is because ipv4_sysctl_forward_strategy only copy new value to
> check whether it has changed and does not update ipv4_devconf.forwarding
> before calling inet_forward_change(). (it is copied internally by sysctl
> after ipv4_sysctl_forward_strategy because we return positive number)
> 
> I am not good in kernel parallel computing strategy, whether it requires
> some locking or it is safe to do:
> 
> --- sysctl_net_ipv4.c.old       2003-08-03 17:37:44.000000000 +0200
> +++ sysctl_net_ipv4.c   2003-08-03 17:38:18.000000000 +0200
> @@ -109,8 +109,9 @@ static int ipv4_sysctl_forward_strategy(
>                  }
>          }
>   
> +        ipv4_devconf.forwarding=new;
                                   = new;
>          inet_forward_change();
> -        return 1;
> +        return 0;
>  }
>   
>  ctl_table ipv4_table[] = {

It seems correct, however, this patch cannot apply against 
current tree.  Pleaes resend the patch.
And please make sure to diff like this:
diff -u linux-2.6/net/ipv4/sysctl_net_ipv4.c.old 
linux-2.6/net/ipv4/sysctl_net_ipv4.c

Thank you.

-- 
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@xxxxxxxxxxxxxx>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA

<Prev in Thread] Current Thread [Next in Thread>