Skip to content

Commit b59b1b4

Browse files
committed
fix can't find host ip address on Mac OS
1 parent 810c64e commit b59b1b4

1 file changed

Lines changed: 11 additions & 9 deletions

File tree

utils/src/com/cloud/utils/net/NetUtils.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,7 @@
2626
import java.net.SocketException;
2727
import java.net.URI;
2828
import java.net.UnknownHostException;
29-
import java.util.ArrayList;
30-
import java.util.Formatter;
31-
import java.util.List;
32-
import java.util.Random;
33-
import java.util.Set;
34-
import java.util.SortedSet;
35-
import java.util.StringTokenizer;
36-
import java.util.TreeSet;
29+
import java.util.*;
3730
import java.util.regex.Matcher;
3831
import java.util.regex.Pattern;
3932

@@ -46,6 +39,7 @@
4639
import com.cloud.utils.IteratorUtil;
4740
import com.cloud.utils.Pair;
4841
import com.cloud.utils.script.Script;
42+
import org.apache.commons.lang.SystemUtils;
4943

5044
public class NetUtils {
5145
protected final static Logger s_logger = Logger.getLogger(NetUtils.class);
@@ -158,8 +152,10 @@ private static boolean isWindows() {
158152
return false;
159153
}
160154

155+
156+
161157
public static String getDefaultHostIp() {
162-
if(isWindows()) {
158+
if(SystemUtils.IS_OS_WINDOWS) {
163159
Pattern pattern = Pattern.compile("\\s*0.0.0.0\\s*0.0.0.0\\s*(\\S*)\\s*(\\S*)\\s*");
164160
try {
165161
Process result = Runtime.getRuntime().exec("route print -4");
@@ -197,6 +193,10 @@ public static String getDefaultHostIp() {
197193
}
198194

199195
public static String getDefaultEthDevice() {
196+
if (SystemUtils.IS_OS_MAC) {
197+
String defDev = Script.runSimpleBashScript("/sbin/route -n get default | grep interface | awk '{print $2}'");
198+
return defDev;
199+
}
200200
String defaultRoute = Script.runSimpleBashScript("/sbin/route | grep default");
201201

202202
if (defaultRoute == null) {
@@ -212,6 +212,8 @@ public static String getDefaultEthDevice() {
212212
return defaultRouteList[7];
213213
}
214214

215+
216+
215217
public static InetAddress getFirstNonLoopbackLocalInetAddress() {
216218
InetAddress[] addrs = getAllLocalInetAddresses();
217219
if (addrs != null) {

0 commit comments

Comments
 (0)