diff options
Diffstat (limited to 'dgd/dgd')
-rwxr-xr-x | dgd/dgd | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -437,15 +437,17 @@ sub check_links { $link->{alive} = 0; } debug(1, "checking links ".($#links+1).", probes $config{core}{probes}"); - my $p = Net::Ping->new("icmp", $config{core}{timeout}); for (my $i = 0; $i < $config{core}{probes}; $i++) { foreach $link (@links) { - debug(3, "ping $link->{name}"); next if link_is_alive($link); + debug(3, "ping $link->{name}"); + my $p = Net::Ping->new("icmp", $config{core}{timeout}, undef, + $link->{if}); ++$link->{alive} if $p->ping($link->{gw}); + $p->close(); + debug(3, "$link->{name} " . ($link->{alive} ? "alive" : "dead")); } } - $p->close(); if (!defined($active_link)) { return 1; } elsif (!link_is_alive($active_link)) { |