summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Gilligan <gilligan@vyatta.com>2009-09-22 15:56:01 -0700
committerBob Gilligan <gilligan@vyatta.com>2009-09-22 15:56:01 -0700
commit17f02b9665ce0ffd6147605ecaa000e42a189ffd (patch)
treead8faaa72524302a5a1383a1c0605f53d83267ee
parent88747654fc7d92a85548461b08649b2752657ad6 (diff)
downloadvyatta-cfg-quagga-17f02b9665ce0ffd6147605ecaa000e42a189ffd.tar.gz
vyatta-cfg-quagga-17f02b9665ce0ffd6147605ecaa000e42a189ffd.zip
Bugfix 4951: Don't fail if IPv6 kernel module is not loaded.
Handle cases where IPv6 kernel module is not loaded more gracefully.
-rwxr-xr-xscripts/rl-system.init43
-rw-r--r--sysconf/vyatta-sysctl.conf8
2 files changed, 30 insertions, 21 deletions
diff --git a/scripts/rl-system.init b/scripts/rl-system.init
index e05e0564..3ca02ed2 100755
--- a/scripts/rl-system.init
+++ b/scripts/rl-system.init
@@ -135,23 +135,30 @@ create_ssh_host_keys () {
set_ipv6_params ()
{
- # default values for ipv6 parameters do not take effect for interfaces at boot
- # time, so copy over default values to their interface specific parameter
- ipv6_params=(accept_source_route accept_redirects)
- num_ipv6_params=${#ipv6_params[*]}
- i=0
- while [ $i -lt $num_ipv6_params ]; do
- default_val=`cat /proc/sys/net/ipv6/conf/default/${ipv6_params[$i]}`
- array=(`ls /proc/sys/net/ipv6/conf/`)
- array_len=${#array[*]}
- j=0
- while [ $j -lt $array_len ]; do
- sudo sh -c "echo $default_val > \
- /proc/sys/net/ipv6/conf/${array[$j]}/${ipv6_params[$i]}"
- let j++
- done
- let i++
- done
+ # default values for ipv6 parameters do not take effect for interfaces at
+ # boot time, so copy over default values to their interface specific
+ # parameter
+
+ if [ ! -d /proc/sys/net/ipv6 ]; then
+ # Skip it if IPv6 is not loaded
+ return
+ fi
+
+ ipv6_params=(accept_source_route accept_redirects)
+ num_ipv6_params=${#ipv6_params[*]}
+ i=0
+ while [ $i -lt $num_ipv6_params ]; do
+ default_val=`cat /proc/sys/net/ipv6/conf/default/${ipv6_params[$i]}`
+ array=(`ls /proc/sys/net/ipv6/conf/`)
+ array_len=${#array[*]}
+ j=0
+ while [ $j -lt $array_len ]; do
+ sudo sh -c "echo $default_val > \
+ /proc/sys/net/ipv6/conf/${array[$j]}/${ipv6_params[$i]}"
+ let j++
+ done
+ let i++
+ done
}
setup_ntp_config_file () {
@@ -172,7 +179,7 @@ start () {
setup_ntp_config_file
add_new_serial_if || \
log_failure_msg "can\'t add serial interfaces"
- sysctl -q -p /opt/vyatta/etc/vyatta-sysctl.conf ||
+ sysctl -q -e -p /opt/vyatta/etc/vyatta-sysctl.conf ||
log_failure_msg "can\'t configure kernel settings"
set_ipv6_params
update_version_info
diff --git a/sysconf/vyatta-sysctl.conf b/sysconf/vyatta-sysctl.conf
index 5b888a8c..1f270d92 100644
--- a/sysconf/vyatta-sysctl.conf
+++ b/sysconf/vyatta-sysctl.conf
@@ -31,9 +31,6 @@ net.ipv4.icmp_ignore_bogus_error_responses=1
# Send ICMP responses with primary address of exiting interface
net.ipv4.icmp_errors_use_inbound_ifaddr=1
-# Enable packet forwarding for IPv6
-net.ipv6.conf.all.forwarding=1
-
# Log packets with impossible addresses to kernel log
net.ipv4.conf.all.log_martians=1
@@ -58,6 +55,11 @@ net.ipv4.conf.all.accept_source_route=0
# Enable send_redirects by default
net.ipv4.conf.all.send_redirects=1
+# IPv6 parameters:
+
+# Enable packet forwarding for IPv6
+net.ipv6.conf.all.forwarding=1
+
# Disable ipv6 accept_source_route by default
net.ipv6.conf.default.accept_source_route=-1