From ea7c9c85a8bc5b6b91594572b60ef20d5763c932 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Tue, 29 Jan 2013 10:13:33 +0000 Subject: [PATCH] base-files: Fix race-conditions with IPv6 sysctls SVN-Revision: 35368 --- package/base-files/Makefile | 2 +- package/base-files/files/etc/init.d/boot | 3 +++ package/base-files/files/etc/sysctl.conf | 3 ++- package/base-files/files/etc/sysctl_early.conf | 3 +++ 4 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 package/base-files/files/etc/sysctl_early.conf diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 353b9ae3929..8943c469d83 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/version.mk PKG_NAME:=base-files -PKG_RELEASE:=129 +PKG_RELEASE:=130 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ PKG_BUILD_DEPENDS:=opkg/host diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot index ef97383d8d9..18003423676 100755 --- a/package/base-files/files/etc/init.d/boot +++ b/package/base-files/files/etc/init.d/boot @@ -95,6 +95,9 @@ start() { rootdev=$(awk 'BEGIN { RS=" "; FS="="; } $1 == "root" { print $2 }' < /proc/cmdline) [ -n "$rootdev" ] && ln -s "$rootdev" /dev/root } + + # run early sysctl + [ -f /etc/sysctl_early.conf ] && sysctl -p /etc/sysctl_early.conf -e >&- } stop() { diff --git a/package/base-files/files/etc/sysctl.conf b/package/base-files/files/etc/sysctl.conf index 1841dd4ca59..890e77af8ef 100644 --- a/package/base-files/files/etc/sysctl.conf +++ b/package/base-files/files/etc/sysctl.conf @@ -12,7 +12,8 @@ net.ipv4.tcp_timestamps=1 net.ipv4.tcp_sack=1 net.ipv4.tcp_dsack=1 -net.ipv6.conf.default.forwarding=1 +net.ipv6.conf.default.forwarding=2 +net.ipv6.conf.all.forwarding=2 net.netfilter.nf_conntrack_acct=1 net.netfilter.nf_conntrack_checksum=0 diff --git a/package/base-files/files/etc/sysctl_early.conf b/package/base-files/files/etc/sysctl_early.conf new file mode 100644 index 00000000000..6f2eeea0403 --- /dev/null +++ b/package/base-files/files/etc/sysctl_early.conf @@ -0,0 +1,3 @@ +# Avoid race-conditions with SLAAC +net.ipv6.conf.default.accept_ra=0 +net.ipv6.conf.all.accept_ra=0