From e67e29be711a9d3aec9b5aae5b1816b485b559d5 Mon Sep 17 00:00:00 2001 From: Stig Thormodsrud Date: Fri, 10 Dec 2010 14:44:35 -0800 Subject: Return configured address in vrrp_get_config(). --- lib/Vyatta/Keepalived.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/Vyatta/Keepalived.pm b/lib/Vyatta/Keepalived.pm index fb575a1..15f2db2 100755 --- a/lib/Vyatta/Keepalived.pm +++ b/lib/Vyatta/Keepalived.pm @@ -186,6 +186,9 @@ sub get_state_files { return @state_files; } +# +# this is meant to be called from op mode, so Orig functions are used. +# sub vrrp_get_config { my ($intf, $group) = @_; @@ -197,9 +200,11 @@ sub vrrp_get_config { $path = $interface->path(); $config->setLevel($path); - my @addr = getIP($intf, 4); + # don't use getIP() to get IP addresses because we only + # want configured addresses, not vrrp VIP addresses. + my @addr = $config->returnOrigValues('address'); my $primary_addr = shift @addr; - if (!defined $primary_addr) { + if (!defined $primary_addr or $primary_addr eq 'dhcp') { $primary_addr = "0.0.0.0"; } if ($primary_addr =~ m/(\d+\.\d+\.\d+\.\d+)\/\d+/) { -- cgit v1.2.3