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 /scripts | |
parent | 88747654fc7d92a85548461b08649b2752657ad6 (diff) | |
download | vyatta-cfg-system-17f02b9665ce0ffd6147605ecaa000e42a189ffd.tar.gz vyatta-cfg-system-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.
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/rl-system.init | 43 |
1 files changed, 25 insertions, 18 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 |