/** * Converts binary data into mac address * @param input input ByteBuf * @return mac address */ public static MacAddress convertMacAddress(final ByteBuf input) { byte[] address = new byte[EncodeConstants.MAC_ADDRESS_LENGTH]; input.readBytes(address); return IetfYangUtil.INSTANCE.macAddressFor(address); } }
@Override public Esi parseEsi(final ByteBuf buffer) { final MacAutoGenerated t3 = new MacAutoGeneratedBuilder() .setSystemMacAddress(IetfYangUtil.INSTANCE.macAddressFor(ByteArray.readBytes(buffer, MAC_ADDRESS_LENGTH))) .setLocalDiscriminator(new Uint24(Long.valueOf(buffer.readUnsignedMedium()))).build(); return new MacAutoGeneratedCaseBuilder().setMacAutoGenerated(t3).build(); } }
@Override public ExtendedCommunity parseExtendedCommunity(final ByteBuf buffer) throws BGPDocumentedException, BGPParsingException { final MacAddress mac = IetfYangUtil.INSTANCE.macAddressFor(ByteArray.readBytes(buffer, MAC_ADDRESS_LENGTH)); return new EsImportRouteExtendedCommunityCaseBuilder().setEsImportRouteExtendedCommunity( new EsImportRouteExtendedCommunityBuilder().setEsImport(mac).build()).build(); }
@Override public Esi parseEsi(final ByteBuf buffer) { final LanAutoGenerated t2 = new LanAutoGeneratedBuilder() .setRootBridgeMacAddress(IetfYangUtil.INSTANCE.macAddressFor(ByteArray.readBytes(buffer, MAC_ADDRESS_LENGTH))) .setRootBridgePriority(buffer.readUnsignedShort()).build(); return new LanAutoGeneratedCaseBuilder().setLanAutoGenerated(t2).build(); } }
@Override public Esi parseEsi(final ByteBuf buffer) { final LacpAutoGenerated t1 = new LacpAutoGeneratedBuilder() .setCeLacpMacAddress(IetfYangUtil.INSTANCE.macAddressFor(ByteArray.readBytes(buffer, MAC_ADDRESS_LENGTH))) .setCeLacpPortKey(buffer.readUnsignedShort()) .build(); return new LacpAutoGeneratedCaseBuilder().setLacpAutoGenerated(t1).build(); } }
@Override public EvpnChoice parseEvpn(final ByteBuf buffer) { final Esi esi = SimpleEsiTypeRegistry.getInstance().parseEsi(buffer.readSlice(ESI_SIZE)); final EthernetTagId eti = new EthernetTagIdBuilder().setVlanId(buffer.readUnsignedInt()).build(); buffer.skipBytes(1); final MacAddress mac = IetfYangUtil.INSTANCE.macAddressFor(ByteArray.readBytes(buffer, MAC_ADDRESS_LENGTH)); final IpAddress ip = parseIp(buffer); final MplsLabel label1 = mplsLabelForByteBuf(buffer); MplsLabel label2; if (buffer.readableBytes() > 0) { label2 = mplsLabelForByteBuf(buffer); } else { label2 = null; } final MacIpAdvRouteBuilder builder = new MacIpAdvRouteBuilder().setEsi(esi).setEthernetTagId(eti).setMacAddress(mac).setIpAddress(ip) .setMplsLabel1(label1).setMplsLabel2(label2); return new MacIpAdvRouteCaseBuilder().setMacIpAdvRoute(builder.build()).build(); }