mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	utils: reverse ip addresses of a nic returned by java to get the first ip address (#3449)
Java methods getInterfaceAddresses() returns ip addresses in reverse order as "ip addr show" If there are multiple IPs assigned to a management interface, the last ip will be used as management ip in cloudstack. We need to reverse the ip addresses to get the first ip that makes more sense. Fixes #3311
This commit is contained in:
		
							parent
							
								
									4185452366
								
							
						
					
					
						commit
						047003315b
					
				| @ -34,6 +34,7 @@ import java.net.UnknownHostException; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Formatter; | ||||
| import java.util.List; | ||||
| import java.util.Collections; | ||||
| import java.util.Random; | ||||
| import java.util.Set; | ||||
| import java.util.SortedSet; | ||||
| @ -410,10 +411,11 @@ public class NetUtils { | ||||
|     } | ||||
| 
 | ||||
|     public static String[] getNetworkParams(final NetworkInterface nic) { | ||||
|         final List<InterfaceAddress> addrs = nic.getInterfaceAddresses(); | ||||
|         List<InterfaceAddress> addrs = nic.getInterfaceAddresses(); | ||||
|         if (addrs == null || addrs.size() == 0) { | ||||
|             return null; | ||||
|         } | ||||
|         Collections.reverse(addrs); // reverse addresses because it has reverse order as "ip addr show" | ||||
|         InterfaceAddress addr = null; | ||||
|         for (final InterfaceAddress iaddr : addrs) { | ||||
|             final InetAddress inet = iaddr.getAddress(); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user