mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-4770: In MacAddress skip macAddress when parsed value is 0x00
In MacAddress class, we start by settig macAddress String as null and go through
the output of ifconfig -a and pick the one string that is a valid mac address
but is not 0x00 and 0xff. With each loop we set the macAddress to null so that
it does not pick the last one if everything fails.
Tested on Ubuntu where I had an interface called cloud0 whose mac id was 0x00
and it was skipped to get the next one:
$ java -classpath <path-to-cloud-utils.jar> com.cloud.utils.net.MacAddress
addr in integer is 5071953436
addr in bytes is 0 1 2e 4f de 1c
addr in char is 00:01:2e:4f:de:1c
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 3b5aa42c6d)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
parent
f5483eeeab
commit
435fa225c6
|
|
@ -16,6 +16,8 @@
|
|||
// under the License.
|
||||
package com.cloud.utils.net;
|
||||
|
||||
import com.cloud.utils.NumbersUtil;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
|
@ -24,8 +26,6 @@ import java.net.InetAddress;
|
|||
import java.net.UnknownHostException;
|
||||
import java.util.Formatter;
|
||||
|
||||
import com.cloud.utils.NumbersUtil;
|
||||
|
||||
/**
|
||||
* copied from the public domain utility from John Burkard.
|
||||
* @author <a href="mailto:jb@eaio.com">Johann Burkard</a>
|
||||
|
|
@ -117,8 +117,12 @@ public class MacAddress {
|
|||
String l = null;
|
||||
while ((l = in.readLine()) != null) {
|
||||
macAddress = MacAddress.parse(l);
|
||||
if (macAddress != null && MacAddress.parseShort(macAddress) != 0xff)
|
||||
break;
|
||||
if (macAddress != null) {
|
||||
short parsedShortMacAddress = MacAddress.parseShort(macAddress);
|
||||
if (parsedShortMacAddress != 0xff && parsedShortMacAddress != 0x00)
|
||||
break;
|
||||
}
|
||||
macAddress = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue