MacAddress (de)serialization for OF1.0
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / util / OF10MatchDeserializer.java
index 216cbd3efca78776d4680035056ceaafbf6e8c5d..c6643236a885aa587718ac4949485d9598898814 100644 (file)
@@ -33,18 +33,12 @@ public abstract class OF10MatchDeserializer {
         MatchV10Builder builder = new MatchV10Builder();\r
         builder.setWildcards(rawMessage.readUnsignedInt());\r
         builder.setInPort(rawMessage.readUnsignedShort());\r
-        StringBuffer dlSrc = new StringBuffer();\r
-        for(int i = 0; i < MAC_ADDRESS_LENGTH; i++){\r
-            short mac = rawMessage.readUnsignedByte();\r
-            dlSrc.append(String.format("%02X", mac));\r
-        }\r
-        builder.setDlSrc(new MacAddress(dlSrc.toString()));\r
-        StringBuffer dlDst = new StringBuffer();\r
-        for(int i = 0; i < MAC_ADDRESS_LENGTH; i++){\r
-            short mac = rawMessage.readUnsignedByte();\r
-            dlDst.append(String.format("%02X", mac));\r
-        }\r
-        builder.setDlDst(new MacAddress(dlDst.toString()));\r
+        byte[] dlSrc = new byte[MAC_ADDRESS_LENGTH];\r
+        rawMessage.readBytes(dlSrc);\r
+        builder.setDlSrc(new MacAddress(ByteBufUtils.macAddressToString(dlSrc)));\r
+        byte[] dlDst = new byte[MAC_ADDRESS_LENGTH];\r
+        rawMessage.readBytes(dlDst);\r
+        builder.setDlDst(new MacAddress(ByteBufUtils.macAddressToString(dlDst)));\r
         builder.setDlVlan(rawMessage.readUnsignedShort());\r
         builder.setDlVlanPcp(rawMessage.readUnsignedByte());\r
         rawMessage.skipBytes(PADDING_IN_MATCH);\r