Skip to content

Combined set of sysctl reworks, cleanups and fixes

Pavel Emelyanov netdev 1 version Applied

Status from this message: Applied.

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest11 patches 19 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/11Remove unneeded ifdefs from sysctl_net_core.cnet/core/sysctl_net_core.c+0 -41 reply
1/11Remove unneeded ifdefs from sysctl_net_core.cnet/core/sysctl_net_core.c+0 -40 replies
2/11Isolate the net/core/ sysctl tableinclude/net/sock.h net/core/sysctl_net_core.c net/sysctl_net.c+18 -111 reply
3/11Cleanup the sysctl_net_ipv4.c filenet/ipv4/Makefile net/ipv4/af_inet.c net/ipv4/sysctl_net_ipv4.c+6 -141 reply
4/11Use ctl paths to register net/ipv4/ tableinclude/net/ip.h net/ipv4/sysctl_net_ipv4.c net/sysctl_net.c+18 -111 reply
5/11Use ctl paths to register net/token-ring/ tableinclude/linux/if_tr.h net/802/Makefile net/802/sysctl_net_802.c +2 more+25 -471 reply
6/11Remove the empty net_tableinclude/linux/net.h kernel/sysctl.c net/sysctl_net.c+0 -131 reply
7/11Make the ipv6/sysctl_net_ipv6.c compilation cleanernet/ipv6/Makefile net/ipv6/sysctl_net_ipv6.c+2 -91 reply
8/11Use sysctl paths to register ipv6 sysctl tablesnet/ipv6/sysctl_net_ipv6.c+6 -201 reply
9/11Merge sys.net.ipv4.ip_forward and sys.net.ipv4.conf.all.forwardinginclude/linux/inetdevice.h net/ipv4/devinet.c net/ipv4/sysctl_net_ipv4.c+44 -881 reply
10/11Eliminate difference in actions of sysctl and proc handler for conf.all.forwardingnet/ipv4/devinet.c+47 -169 replies
11/11Eliminate difference in actions of sysctl and proc handler for conf.all.forwardingnet/ipv6/addrconf.c+20 -361 reply

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH net-2.6.25 0/11] Combined set of sysctl reworks, cleanups and fixes

Hi, David.

Herbert has accepted a set of patches with sysctl paths from Eric. The idea of the path is to eliminate the ctl_table-s that are used merely to denote the path to those tables, that really contain pointer on variables and proc handlers to change them. Thus, we can significantly reduce the vmlinux size and make the code much cleaner.

Another good point of "paths" is that they help to create per-netns sysctls. I have posted some patches, cleaning devinet and addrconf sysctls and they were accepted - this is the next step.

These patches depend on each other, but do some different things:

First 6 patches isolate net/core/, net/ipv4/ and net/token-ring tables in their own .c files thus removing a some tables from the global scope. Next two patches make the similar thing for the ipv6 sysctls.

9th patch merges handlers for two entries - sys.net.ipv4.ip_forward and sys.net.conf.all.forwarding as they really do the same thing.

The last two patches fix discrepancy, that I found in how proc handler and sysctl handler work for net.<proto>.conf.<any>.forwarding entry for both ipv4 and ipv6.