diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/vyatta-interfaces.pl | 5 | ||||
-rwxr-xr-x | scripts/vyatta-watchlink-exclude.pl | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/scripts/vyatta-interfaces.pl b/scripts/vyatta-interfaces.pl index 28b1c14..abbf6a8 100755 --- a/scripts/vyatta-interfaces.pl +++ b/scripts/vyatta-interfaces.pl @@ -319,7 +319,10 @@ sub update_eth_addrs { } if ($version == 4) { - return system("ip addr add $addr broadcast + dev $intf"); + # revert this gruesome hack when quagga static route initialization + # is fixed. + #return system("ip addr add $addr broadcast + dev $intf"); + return system("ip link set $intf down; ip link set $intf up; ip addr add $addr broadcast + dev $intf"); } if ($version == 6) { return system("ip -6 addr add $addr dev $intf"); diff --git a/scripts/vyatta-watchlink-exclude.pl b/scripts/vyatta-watchlink-exclude.pl index eb9d280..b7a8916 100755 --- a/scripts/vyatta-watchlink-exclude.pl +++ b/scripts/vyatta-watchlink-exclude.pl @@ -89,7 +89,7 @@ sub remove_exclude_id { } } if ($match < 1) { - die "Error: no match found for $id"; + print "$0: no match found for $id"; } return @new_lines; } @@ -107,7 +107,7 @@ sub remove_exclude_line { } } if ($match < 1) { - die "Error: no match found for $remove_line"; + print "$0: no match found for $remove_line"; } return @new_lines; } @@ -172,7 +172,11 @@ write_exclude_file(@lines); if (defined $opt_signal) { if (! -e $watchlink_pid) { - die "Error: missing pid file [$watchlink_pid]\n"; + # + # watchlink may have been disabled, so don't treat + # this as an error + # + exit 0; } my $pid = `cat $watchlink_pid`; chomp $pid; |