Hi there, I try to set up a box without procfs, thus I've to set some kernel parameters using _sysctl(). I wrote a little quick-n-dirty program to set at least integer and struct ( or better array ) parameters. I can set all struct, integer and boolean values with this program except ip_forward. Due to the docs ip_forward is a BOOLEAN parameter, so the length of the value array for _sysctl should be 1. ... but ... in ${KERNELSRC}/net/ipv4/sysctl_net_ipv4.c I find: snip --> <-- snap static int ipv4_sysctl_forward_strategy(ctl_table *table ... snip --> <-- snap if (newlen != sizeof(int)) return -EINVAL; snip --> If the config file for my program looks like this: # CTL_NET IPV4 FORWARD : YES 3 5 8 : 1 I get ``Invalid argument'' from my program. If the config file for my program looks like this: 3 5 8 : 1 1 1 1 it works and I have a ``1'' in /proc/sys/net/ipv4/ip_forward. ... sure sizeof(int) is 4 on my machine. My question: Is there something wrong with the documentation, and NET_IPV4_FORWARD awaits 4 integers to set/unset IP forwarding, or is something wrong in sysctl_net_ipv4.c, or did I understand something wrong, and my program has to be written in some other kind? My program itself is in the attachment. Thanks for every help Frank PS: If the configuration file looks like this: 3 5 16 1 : 1 (the ``3 5 8'' is due to sysctl.h only for compatibility with 2.0 kernels, and I run an 2.4.16) i get ENODIR.