diff options
author | Stig Thormodsrud <stig@io.vyatta.com> | 2009-03-06 20:16:59 -0800 |
---|---|---|
committer | Stig Thormodsrud <stig@io.vyatta.com> | 2009-03-06 20:16:59 -0800 |
commit | 084e7f10bdcd701c4d2643e5ed286c3d824ba975 (patch) | |
tree | 88bac426f7dc35914b37036edd88240ad38ae4dd /scripts | |
parent | a9f1badfd6caf89f2c615eb3e8cebb1bddf76445 (diff) | |
download | vyatta-cfg-system-084e7f10bdcd701c4d2643e5ed286c3d824ba975.tar.gz vyatta-cfg-system-084e7f10bdcd701c4d2643e5ed286c3d824ba975.zip |
Remove prefix mask on vip if present since it can't be using in arping.
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/keepalived/vyatta-show-vrrp.pl | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/scripts/keepalived/vyatta-show-vrrp.pl b/scripts/keepalived/vyatta-show-vrrp.pl index 25e71bb4..3015bc92 100755 --- a/scripts/keepalived/vyatta-show-vrrp.pl +++ b/scripts/keepalived/vyatta-show-vrrp.pl @@ -110,6 +110,11 @@ sub parse_arping { sub get_master_info { my ($intf, $group, $vip) = @_; + # remove mask if vip has one + if ($vip =~ /([\d.]+)\/\d+/) { + $vip = $1; + } + # Calling snoop_for_master() is an expensive operation, so we # normally only do it on vrrp state transitions by calling the # vyatta-vrrp-state.pl script. However if there are more than @@ -123,7 +128,10 @@ sub get_master_info { my $arp_file = "$master_file.arp"; my $source_ip = (vrrp_get_config($intf, $group))[0]; - # arping doesn't seem to work for vlans, maybe we should skip it if vlan? + # arping doesn't seem to work for vlans + if ($intf =~ /(eth\d+).\d+/) { + $intf = $1; + } system("/usr/bin/arping -c1 -f -I $intf -s $source_ip $vip > $arp_file"); my $arp_mac = parse_arping($arp_file); |