From 72598d06c1dfaefadfadef2b1d2a7d7cba6f2233 Mon Sep 17 00:00:00 2001 From: John Southworth Date: Fri, 2 Dec 2011 14:30:56 -0800 Subject: Set accept_local on vrrp interfaces so that transition from 'current master that is not address owner' to 'address owner that is requesting master' can occur --- scripts/keepalived/vyatta-vrrp-state.pl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/keepalived/vyatta-vrrp-state.pl b/scripts/keepalived/vyatta-vrrp-state.pl index eab717bf..53c7c6c9 100755 --- a/scripts/keepalived/vyatta-vrrp-state.pl +++ b/scripts/keepalived/vyatta-vrrp-state.pl @@ -71,6 +71,7 @@ if ($vrrp_state eq 'backup') { # Vyatta::Keepalived::snoop_for_master($vrrp_intf, $vrrp_group, # $vrrp_vips[0], 60); system("sysctl -w net.ipv4.conf.".$vrrp_intf."v".$vrrp_group.".arp_filter=1"); + system("sysctl -w net.ipv4.conf.".$vrrp_intf."v".$vrrp_group.".accept_local=1"); } elsif ($vrrp_state eq 'master') { # # keepalived will send gratuitous arp requests on master transition @@ -79,6 +80,7 @@ if ($vrrp_state eq 'backup') { # so here we will send 5 gratuitous arp replies also. # system("sysctl -w net.ipv4.conf.".$vrrp_intf."v".$vrrp_group.".arp_filter=0"); + system("sysctl -w net.ipv4.conf.".$vrrp_intf."v".$vrrp_group.".accept_local=1"); foreach my $vip (@vrrp_vips) { system("/usr/bin/arping -A -c5 -I $vrrp_intf $vip"); } -- cgit v1.2.3