import java.math.BigInteger;\r
\r
import org.opendaylight.openflowjava.protocol.impl.deserialization.OFDeserializer;\r
+import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;\r
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ActionTypeV10;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.CapabilitiesV10;\r
\r
private static void deserializePort(ByteBuf rawMessage, GetFeaturesOutputBuilder builder) {\r
builder.setPortNo((long) rawMessage.readUnsignedShort());\r
- StringBuffer macToString = new StringBuffer();\r
- for(int i = 0; i < MAC_ADDRESS_LENGTH; i++){\r
- short mac = rawMessage.readUnsignedByte();\r
- macToString.append(String.format("%02X", mac));\r
- }\r
- builder.setHwAddr(new MacAddress(macToString.toString()));\r
+ byte[] address = new byte[MAC_ADDRESS_LENGTH];\r
+ rawMessage.readBytes(address);\r
+ builder.setHwAddr(new MacAddress(ByteBufUtils.macAddressToString(address)));\r
byte[] name = new byte[MAX_PORT_NAME_LENGTH];\r
rawMessage.readBytes(name);\r
builder.setName(name.toString());\r
import io.netty.buffer.ByteBuf;\r
\r
import org.opendaylight.openflowjava.protocol.impl.deserialization.OFDeserializer;\r
+import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;\r
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortConfigV10;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortFeaturesV10;\r
\r
private static void deserializePort(ByteBuf rawMessage, PortStatusMessageBuilder builder) {\r
builder.setPortNo((long) rawMessage.readUnsignedShort());\r
- StringBuffer macToString = new StringBuffer();\r
- for(int i = 0; i < MAC_ADDRESS_LENGTH; i++){\r
- short mac = rawMessage.readUnsignedByte();\r
- macToString.append(String.format("%02X", mac));\r
- }\r
- builder.setHwAddr(new MacAddress(macToString.toString()));\r
+ byte[] address = new byte[MAC_ADDRESS_LENGTH];\r
+ rawMessage.readBytes(address);\r
+ builder.setHwAddr(new MacAddress(ByteBufUtils.macAddressToString(address)));\r
byte[] name = new byte[MAX_PORT_NAME_LENGTH];\r
rawMessage.readBytes(name);\r
builder.setName(name.toString());\r
final byte MAC_ADDRESS_LENGTH = 6;\r
final byte PADDING_IN_SET_DL_ACTION = 6;\r
DlAddressActionBuilder dlBuilder = new DlAddressActionBuilder();\r
- short mac = 0;\r
- StringBuffer macAddress = new StringBuffer();\r
- for(int i = 0; i < MAC_ADDRESS_LENGTH; i++){\r
- mac = input.readUnsignedByte();\r
- macAddress.append(String.format("%02X", mac));\r
- }\r
- dlBuilder.setDlAddress(new MacAddress(macAddress.toString()));\r
+ byte[] address = new byte[MAC_ADDRESS_LENGTH];\r
+ input.readBytes(address);\r
+ dlBuilder.setDlAddress(new MacAddress(ByteBufUtils.macAddressToString(address)));\r
input.skipBytes(PADDING_IN_SET_DL_ACTION);\r
return dlBuilder.build();\r
}\r
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