2626import java .net .SocketException ;
2727import java .net .URI ;
2828import 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 .*;
3730import java .util .regex .Matcher ;
3831import java .util .regex .Pattern ;
3932
4639import com .cloud .utils .IteratorUtil ;
4740import com .cloud .utils .Pair ;
4841import com .cloud .utils .script .Script ;
42+ import org .apache .commons .lang .SystemUtils ;
4943
5044public 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