@Override public PortModInput deserialize(final ByteBuf rawMessage) { PortModInputBuilder builder = new PortModInputBuilder(); builder.setVersion((short) EncodeConstants.OF13_VERSION_ID); builder.setXid(rawMessage.readUnsignedInt()); builder.setPortNo(new PortNumber(rawMessage.readUnsignedInt())); rawMessage.skipBytes(PADDING_IN_PORT_MOD_MESSAGE_1); builder.setHwAddress(ByteBufUtils.readIetfMacAddress(rawMessage)); rawMessage.skipBytes(PADDING_IN_PORT_MOD_MESSAGE_2); builder.setConfig(createPortConfig(rawMessage.readUnsignedInt())); builder.setMask(createPortConfig(rawMessage.readUnsignedInt())); builder.setAdvertise(createPortFeatures(rawMessage.readUnsignedInt())); rawMessage.skipBytes(PADDING_IN_PORT_MOD_MESSAGE_3); return builder.build(); }
@Override public PortModInput convert(Port source, VersionConvertorData data) { PortConfig config = maskPortConfigFields(source.getConfiguration()); PortConfigV10 configV10 = maskPortConfigV10Fields(source.getConfiguration()); PortModInputBuilder portModInputBuilder = new PortModInputBuilder(); portModInputBuilder.setAdvertise(getPortFeatures(source.getAdvertisedFeatures())); portModInputBuilder.setPortNo(new PortNumber( OpenflowPortsUtil.getProtocolPortNumber(OpenflowVersion.get(data.getVersion()), source.getPortNumber()))); portModInputBuilder.setConfig(config); portModInputBuilder.setMask(config); portModInputBuilder.setHwAddress(new MacAddress(source.getHardwareAddress())); portModInputBuilder.setVersion(data.getVersion()); portModInputBuilder.setConfigV10(configV10); portModInputBuilder.setMaskV10(configV10); portModInputBuilder.setAdvertiseV10(getPortFeaturesV10(source.getAdvertisedFeatures())); return portModInputBuilder.build(); } }