diff options
-rwxr-xr-x | package/base-files/files/etc/init.d/boot | 7 | ||||
-rwxr-xr-x | package/base-files/files/etc/init.d/sysctl | 2 | ||||
-rw-r--r-- | package/base-files/files/etc/sysctl.conf | 3 |
3 files changed, 10 insertions, 2 deletions
diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot index 43837a80f2..1895f93adf 100755 --- a/package/base-files/files/etc/init.d/boot +++ b/package/base-files/files/etc/init.d/boot @@ -95,6 +95,13 @@ start() { rootdev=$(awk 'BEGIN { RS=" "; FS="="; } $1 == "root" { print $2 }' < /proc/cmdline) [ -n "$rootdev" ] && ln -s "$rootdev" /dev/root } + + # early sysctl to avoid networking races + if [ -d /proc/sys/net/ipv6/conf ]; then + for i in /proc/sys/net/ipv6/conf/*/accept_ra; do + echo 0 > $i + done + fi } stop() { diff --git a/package/base-files/files/etc/init.d/sysctl b/package/base-files/files/etc/init.d/sysctl index 2397790555..3480d66410 100755 --- a/package/base-files/files/etc/init.d/sysctl +++ b/package/base-files/files/etc/init.d/sysctl @@ -1,7 +1,7 @@ #!/bin/sh /etc/rc.common # Copyright (C) 2006 OpenWrt.org -START=99 +START=11 start() { [ -f /etc/sysctl.conf ] && sysctl -p -e >&- } diff --git a/package/base-files/files/etc/sysctl.conf b/package/base-files/files/etc/sysctl.conf index 4ea01bb4c9..890e77af8e 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.all.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 |