summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Southworth <john.southworth@vyatta.com>2011-12-02 14:30:56 -0800
committerJohn Southworth <john.southworth@vyatta.com>2011-12-02 14:47:34 -0800
commit72598d06c1dfaefadfadef2b1d2a7d7cba6f2233 (patch)
tree690080702a063456c365309820dc33f2335af57a
parent45628b369caa67c089f0984d31567df07d966b3e (diff)
downloadvyatta-cfg-system-72598d06c1dfaefadfadef2b1d2a7d7cba6f2233.tar.gz
vyatta-cfg-system-72598d06c1dfaefadfadef2b1d2a7d7cba6f2233.zip
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
-rwxr-xr-xscripts/keepalived/vyatta-vrrp-state.pl2
1 files changed, 2 insertions, 0 deletions
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");
}