diff options
author | Bob Gilligan <gilligan@vyatta.com> | 2009-09-22 15:56:01 -0700 |
---|---|---|
committer | Bob Gilligan <gilligan@vyatta.com> | 2009-09-22 15:56:01 -0700 |
commit | 17f02b9665ce0ffd6147605ecaa000e42a189ffd (patch) | |
tree | ad8faaa72524302a5a1383a1c0605f53d83267ee | |
parent | 88747654fc7d92a85548461b08649b2752657ad6 (diff) | |
download | vyatta-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-x | scripts/rl-system.init | 43 | ||||
-rw-r--r-- | sysconf/vyatta-sysctl.conf | 8 |
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 |