MacAddress (de)serialization fixed
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / util / MatchDeserializer.java
index 0717180e6529dc17f1030c92413e047e0902f1b7..6fa17a2e946198c05d7c8cdc95ee5809aff6c16e 100644 (file)
@@ -541,15 +541,11 @@ public abstract class MatchDeserializer {
     }\r
 \r
     private static void addMacAddressAugmentation(MatchEntriesBuilder builder, ByteBuf in) {\r
+        final int MAC_ADDRESS_LENGTH = 6;\r
         MacAddressMatchEntryBuilder macAddress = new MacAddressMatchEntryBuilder();\r
-        StringBuffer macToString = new StringBuffer();\r
-        final int macAddressLength = 6;\r
-        for(int i=0; i<macAddressLength ; i++){\r
-            short mac = 0;\r
-            mac = in.readUnsignedByte();\r
-            macToString.append(String.format("%02X", mac));\r
-        }\r
-        macAddress.setMacAddress(new MacAddress(macToString.toString())); \r
+        byte[] address = new byte[MAC_ADDRESS_LENGTH];\r
+        in.readBytes(address);\r
+        macAddress.setMacAddress(new MacAddress(ByteBufUtils.macAddressToString(address)));\r
         builder.addAugmentation(MacAddressMatchEntry.class, macAddress.build());\r
     }\r
     \r