diff --git a/xCAT-server-2.0/sbin/xcatd b/xCAT-server-2.0/sbin/xcatd index d80ca4e63..611dd41b4 100755 --- a/xCAT-server-2.0/sbin/xcatd +++ b/xCAT-server-2.0/sbin/xcatd @@ -891,21 +891,27 @@ sub dispatch_request { sub thishostisnot { my $comparison = shift; - my @ips = split /\n/,`/sbin/ip addr`; + + # use "ip addr" for linux, since ifconfig + # doesn't list "ip addr add" aliases for linux + # + my $cmd = ($^O !~ /^aix/i) ? "/sbin/ip addr" : "ifconfig -a"; + my @ips = split /\n/,`$cmd`; my $comp=inet_aton($comparison); - foreach (@ips) { + foreach (@ips) { if (/^\s*inet/) { - my @ents = split(/\s+/); - my $ip=$ents[2]; - $ip =~ s/\/.*//; - if (inet_aton($ip) eq $comp) { - return 0; - } - #print Dumper(inet_aton($ip)); + my @ents = split(/\s+/); + my $ip=$ents[2]; + $ip =~ s/\/.*//; + if (inet_aton($ip) eq $comp) { + return 0; + } + #print Dumper(inet_aton($ip)); } } return 1; } + sub do_request { my $req = shift; my $second = shift;