diff options
-rwxr-xr-x | scripts/keepalived/VyattaKeepalived.pm | 9 | ||||
-rwxr-xr-x | scripts/keepalived/vyatta-show-vrrp.pl | 10 |
2 files changed, 14 insertions, 5 deletions
diff --git a/scripts/keepalived/VyattaKeepalived.pm b/scripts/keepalived/VyattaKeepalived.pm index e0e84af3..13512b42 100755 --- a/scripts/keepalived/VyattaKeepalived.pm +++ b/scripts/keepalived/VyattaKeepalived.pm @@ -115,11 +115,16 @@ sub get_master_file { } sub get_state_files { - my $intf = shift; + my ($intf, $group) = @_; # todo: fix sorting for ethX > 9 my @state_files; - open(my $LS, "ls $state_dir |grep '^vrrpd_$intf.*\.state\$' | sort |"); + my $LS; + if ($group eq "all") { + open($LS,"ls $state_dir |grep '^vrrpd_$intf.*\.state\$' | sort |"); + } else { + open($LS,"ls $state_dir |grep '^vrrpd_$intf.\_$group\.state\$' | sort |"); + } @state_files = <$LS>; close($LS); foreach my $i (0 .. $#state_files) { diff --git a/scripts/keepalived/vyatta-show-vrrp.pl b/scripts/keepalived/vyatta-show-vrrp.pl index 934808f6..9228eeeb 100755 --- a/scripts/keepalived/vyatta-show-vrrp.pl +++ b/scripts/keepalived/vyatta-show-vrrp.pl @@ -147,17 +147,21 @@ sub vrrp_show { # # main # -my $intf = "eth"; -if ($#ARGV > -1) { +my $intf = "eth"; +my $group = "all"; +if ($#ARGV == 0) { $intf = $ARGV[0]; } +if ($#ARGV == 1) { + $group = $ARGV[1]; +} if (!VyattaKeepalived::is_running()) { print "VRRP isn't running\n"; exit 1; } -my @state_files = VyattaKeepalived::get_state_files($intf); +my @state_files = VyattaKeepalived::get_state_files($intf, $group); foreach my $state_file (@state_files) { vrrp_show($state_file); } |