[Devel] Re: [PATCH net-2.6.25 10/11][INET] Eliminate difference in actions of sysctl and proc handler for conf.all.forwarding

David Miller davem at davemloft.net
Wed Dec 5 01:48:35 PST 2007


From: Pavel Emelyanov <xemul at openvz.org>
Date: Tue, 04 Dec 2007 13:16:45 +0300

> AFAIS the net.ipv4.conf. <dev>, all and default sysctls should 
> work like this when changed (besides changing the value itself):
> 
> <dev>   : optionally do smth else
> all     : walk devices
> default : walk devices
> 
> The proc handler for net.ipv4.conf.all works like this:
> 
> <dev>   : flush rt cache
> all     : walk devices and flush rt cache
> default : nothing
> 
> while the sysctl handler works like this:
> 
> <dev>   : nothing
> all     : nothing
> default : walk devices but don't flush the cache
> 
> All this looks strange. Am I right that regardless of whatever
> handler (proc or syscall) is called the behavior should be:
> 
> <dev>   : flush rt cache
> all     : walk the devices and flush the cache
> default : walk the devices and flush the cache
> 
> ?
> 
> Signed-off-by: Pavel Emelyanov <xemul at openvz.org>

Because, basically, nobody (and I really do mean nobody)
uses the sysctl() method to change these things, what
people expect is basically going to be the procfs
access behavior.

And I agree with it.

The 'default' influences future settings, it should not modify
existing devices.  That's the job of 'all'.

Otherwise why have 'all' and 'default' as two different knobs
if they do exactly the same thing?  That's pointless.

I've therefore dropped this patch.




More information about the Devel mailing list