summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/keepalived/vyatta-show-vrrp.pl22
1 files changed, 14 insertions, 8 deletions
diff --git a/scripts/keepalived/vyatta-show-vrrp.pl b/scripts/keepalived/vyatta-show-vrrp.pl
index 68a98390..818d5e40 100755
--- a/scripts/keepalived/vyatta-show-vrrp.pl
+++ b/scripts/keepalived/vyatta-show-vrrp.pl
@@ -182,7 +182,7 @@ sub get_master_info {
sub vrrp_showsummary {
my ($file) = @_;
-
+ my $owner = "no";
my ($start_time, $intf, $group, $state, $ltime) =
Vyatta::Keepalived::vrrp_state_parse($file);
my ($interface_state, $link) = get_state_link($intf);
@@ -190,9 +190,13 @@ sub vrrp_showsummary {
my ($primary_addr, $priority, $preempt, $advert_int, $auth_type,
$vmac_interface,
@vips) = Vyatta::Keepalived::vrrp_get_config($intf, $group);
- my $format = "\n%-16s%-8s%-8s%-16s%-16s%-16s";
+ my $format = "\n%-16s%-8s%-8s%-16s%-10s%-9s%-13s";
my $vip = shift @vips;
- printf($format, $intf, $group, 'vip', $vip, $link, $state);
+ if ($vmac_interface) {
+ $intf = "$intf" . "v" . "$group";
+ $owner = "yes" if ($priority == 255);
+ }
+ printf($format, $intf, $group, 'vip', $vip, $link, $owner, $state);
foreach my $vip (@vips){
printf("\n%-24s%-8s%-16s", ' ', 'vip', $vip);
}
@@ -203,7 +207,7 @@ sub vrrp_showsummary {
sub vrrp_show {
my ($file) = @_;
-
+ my $owner = "no";
my $now_time = time;
my ($start_time, $intf, $group, $state, $ltime) =
Vyatta::Keepalived::vrrp_state_parse($file);
@@ -217,7 +221,9 @@ sub vrrp_show {
print "Physical interface: $intf, Source Address $primary_addr\n";
if ($vmac_interface) {
my $vma = "$intf" . "v" . "$group";
+ $owner = "yes" if ($priority == 255);
print " Virtual MAC interface: $vma\n";
+ print " Address Owner: $owner\n";
}
print " Interface state: $link, Group $group, State: $state\n";
print " Priority: $priority, Advertisement interval: $advert_int, ";
@@ -285,11 +291,11 @@ if (!Vyatta::Keepalived::is_running()) {
my $display_func;
if ($showsummary == 1) {
$display_func = \&vrrp_showsummary;
- my $format = '%-16s%-8s%-8s%-16s%-16s%-16s%s';
- printf($format, '', 'VRRP', 'Addr', '', 'Interface', 'VRRP', "\n");
- printf($format, 'Interface', 'Group', 'Type', 'Address', 'State', 'State',
+ my $format = '%-16s%-8s%-8s%-16s%-10s%-9s%-13s%s';
+ printf($format, '', 'VRRP', 'Addr', '', 'Interface','Address', 'VRRP', "\n");
+ printf($format, 'Interface', 'Group', 'Type', 'Address', 'State','Owner', 'State',
"\n");
- printf($format, '-' x 9, '-' x 5, '-' x 4 , '-' x 7, '-' x 5, '-' x 5, '');
+ printf($format, '-' x 9, '-' x 5, '-' x 4 , '-' x 7, '-' x 5, '-' x 5, '-' x 5, '', );
} else {
$display_func = \&vrrp_show;
}