diff options
author | John Crispin <blogic@openwrt.org> | 2015-07-07 13:47:23 +0000 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2015-07-07 13:47:23 +0000 |
commit | 465a0d3899414cb9f9572b2573635d48baf18d7a (patch) | |
tree | e0206b9780a7b6a3eeff17bf2d8e068c7c673c36 /package | |
parent | da93e16c643d08f70acee32d2b86054d343951cb (diff) | |
download | master-187ad058-465a0d3899414cb9f9572b2573635d48baf18d7a.tar.gz master-187ad058-465a0d3899414cb9f9572b2573635d48baf18d7a.tar.bz2 master-187ad058-465a0d3899414cb9f9572b2573635d48baf18d7a.zip |
sysctl: read settings from /etc/sysctl.d/*.conf
This changes makes it possible to store custom settings
in individual files inside the directory /etc/sysctl.d/.
Signed-off-by: Stefan Tomanek <stefan.tomanek+openwrt@wertarbyte.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46239 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r-- | package/base-files/Makefile | 2 | ||||
-rw-r--r-- | package/base-files/files/etc/hotplug.d/net/00-sysctl | 9 | ||||
-rwxr-xr-x | package/base-files/files/etc/init.d/sysctl | 4 | ||||
-rw-r--r-- | package/base-files/files/etc/sysctl.d/local.conf | 1 |
4 files changed, 12 insertions, 4 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 0bba313702..a5f15fa4e5 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -55,6 +55,8 @@ define Package/base-files/conffiles /etc/config/ /etc/dropbear/ /etc/crontabs/ +/etc/sysctl.d/local.conf +/etc/sysctl.d/ $(call $(TARGET)/conffiles) endef diff --git a/package/base-files/files/etc/hotplug.d/net/00-sysctl b/package/base-files/files/etc/hotplug.d/net/00-sysctl index 5d9da8ac06..7a71652c44 100644 --- a/package/base-files/files/etc/hotplug.d/net/00-sysctl +++ b/package/base-files/files/etc/hotplug.d/net/00-sysctl @@ -1,6 +1,9 @@ #!/bin/sh -if [ -f /etc/sysctl.conf ] && [ "$ACTION" = add ]; then - sed -ne "/^[[:space:]]*net\..*\.$DEVICENAME\./p" /etc/sysctl.conf | \ - sysctl -e -p - | logger -t sysctl +if [ "$ACTION" = add ]; then + for CONF in /etc/sysctl.conf /etc/sysctl.d/*.conf; do + [ ! -f "$CONF" ] && continue; + sed -ne "/^[[:space:]]*net\..*\.$DEVICENAME\./p" "$CONF" | \ + sysctl -e -p - | logger -t sysctl + done fi diff --git a/package/base-files/files/etc/init.d/sysctl b/package/base-files/files/etc/init.d/sysctl index 36e29eabcb..2dfbaf7a6e 100755 --- a/package/base-files/files/etc/init.d/sysctl +++ b/package/base-files/files/etc/init.d/sysctl @@ -3,5 +3,7 @@ START=11 start() { - [ -f /etc/sysctl.conf ] && sysctl -p -e >&- + for CONF in /etc/sysctl.conf /etc/sysctl.d/*.conf; do + [ -f "$CONF" ] && sysctl -p "$CONF" -e >&- + done } diff --git a/package/base-files/files/etc/sysctl.d/local.conf b/package/base-files/files/etc/sysctl.d/local.conf new file mode 100644 index 0000000000..891da73df8 --- /dev/null +++ b/package/base-files/files/etc/sysctl.d/local.conf @@ -0,0 +1 @@ +# local sysctl settings can be stored in this directory |