From c25da18107c787f76d5929000137d652077a97cf Mon Sep 17 00:00:00 2001 From: yinle Date: Thu, 17 May 2012 01:46:08 +0000 Subject: [PATCH] Fix bug 3527201: lsslp -s FRAME -i return no response on Linux ; Add multicast route on AIX git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@12753 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- perl-xCAT/xCAT/SLP.pm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/perl-xCAT/xCAT/SLP.pm b/perl-xCAT/xCAT/SLP.pm index bd86fd0b6..12aea2662 100644 --- a/perl-xCAT/xCAT/SLP.pm +++ b/perl-xCAT/xCAT/SLP.pm @@ -67,10 +67,9 @@ sub dodiscover { } my $interfaces = get_interfaces(%args); if ($args{Ip}) { - my @ips = split /,/, $args{Ip}; - foreach my $ip (@ips) { - foreach my $nic (keys %$interfaces) { - unless (${${$interfaces->{$nic}}{ipv4addrs}}[0] =~ $ip) { + foreach my $nic (keys %$interfaces) { + if (${${$interfaces->{$nic}}{ipv4addrs}}[0] =~ /(\d+\.\d+\.\d+\.\d+)/) { + unless ($args{Ip} =~ $1) { delete $interfaces->{$nic}; } } @@ -310,6 +309,9 @@ sub send_service_request_single { my $ip = $sip; $ip =~ s/\/(.*)//; my $maskbits = $1; + if (xCAT::Utils->isAIX()) { + my $runcmd = `route add 239.255.255.253 $ip`; + } my $ipn = inet_aton($ip); #we are ipv4 only, this is ok my $ipnum=unpack("N",$ipn); $ipnum= $ipnum | (2**(32-$maskbits))-1;