From e01a51a38df7112562a228c3e9acd6dceb2a2fb2 Mon Sep 17 00:00:00 2001 From: Stig Thormodsrud Date: Mon, 23 May 2011 14:38:36 -0700 Subject: Don't run 'arping' on IPv6 addresses. --- scripts/keepalived/vyatta-show-vrrp.pl | 11 ++++++++--- scripts/keepalived/vyatta-vrrp-state.pl | 4 +++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/scripts/keepalived/vyatta-show-vrrp.pl b/scripts/keepalived/vyatta-show-vrrp.pl index 28a9970c..1c15482d 100755 --- a/scripts/keepalived/vyatta-show-vrrp.pl +++ b/scripts/keepalived/vyatta-show-vrrp.pl @@ -133,9 +133,14 @@ sub get_master_info { if ($interface->vif()) { $arp_intf = $interface->physicalDevice(); } - my $cmd = "/usr/bin/arping -c1 -f -I $arp_intf -s $source_ip $vip"; - system("$cmd > $arp_file"); - my $arp_mac = parse_arping($arp_file); + my $arp_mac = undef; + if ($vip !~ /\:/) { + # TODO add ndisc6 package for ipv6 + my $cmd = "/usr/bin/arping -c1 -f -I $arp_intf -s $source_ip $vip"; + system("$cmd > $arp_file"); + $arp_mac = parse_arping($arp_file); + + } if ( ! -f $master_file) { Vyatta::Keepalived::snoop_for_master($intf, $group, $vip, 2); diff --git a/scripts/keepalived/vyatta-vrrp-state.pl b/scripts/keepalived/vyatta-vrrp-state.pl index e4da85eb..23f93c75 100755 --- a/scripts/keepalived/vyatta-vrrp-state.pl +++ b/scripts/keepalived/vyatta-vrrp-state.pl @@ -78,7 +78,9 @@ if ($vrrp_state eq 'backup') { # so here we will send 5 gratuitous arp replies also. # foreach my $vip (@vrrp_vips) { - system("/usr/bin/arping -A -c5 -I $vrrp_intf $vip"); + if ($vip != /\:/) { + system("/usr/bin/arping -A -c5 -I $vrrp_intf $vip"); + } } # -- cgit v1.2.3