--- Node.pm.orig 2011-07-24 10:21:21.000000000 +0900 +++ Node.pm 2011-07-24 10:23:54.000000000 +0900 @@ -8,6 +8,10 @@ use warnings; use strict; +use Socket; +use Socket6; +use IO::Socket; +use IO::Socket::INET6; use Carp; use Munin::Master::Config; use Munin::Common::Timeout; @@ -58,12 +62,13 @@ LOGCROAK("[FATAL] No address! Did you forget to set 'update no' or to set 'address ' ?") if !defined($self->{address}); - if (! ( $self->{socket} = IO::Socket::INET->new( + if (! ( $self->{socket} = IO::Socket::INET6->new( PeerAddr => $self->{address}, PeerPort => $self->{port}, LocalAddr => $config->{local_address}, Proto => 'tcp', - Timeout => $config->{timeout}) ) ) { + Timeout => $config->{timeout}, + MultiHomed => '1') ) ) { ERROR "Failed to connect to node $self->{address}:$self->{port}/tcp : $!"; return 0; }