@Override public Ipv4Address parseTlvBody(final ByteBuf value) { return Ipv4Util.addressForByteBuf(value); }
@Override public Ipv4InterfaceIdentifier parseTlvBody(final ByteBuf value) { return new Ipv4InterfaceIdentifier(Ipv4Util.addressForByteBuf(value)); }
@Override public Ipv4InterfaceIdentifier parseTlvBody(final ByteBuf value) { return new Ipv4InterfaceIdentifier(Ipv4Util.addressForByteBuf(value)); }
private static IpAddress parseForwardingAddress(final ByteBuf value) { IpAddress fwdAddress = null; switch (value.readableBytes()) { case Ipv4Util.IP4_LENGTH: fwdAddress = new IpAddress(Ipv4Util.addressForByteBuf(value)); break; case Ipv6Util.IPV6_LENGTH: fwdAddress = new IpAddress(Ipv6Util.addressForByteBuf(value)); break; default: LOG.debug("Ignoring unsupported forwarding address length {}", value.readableBytes()); } return fwdAddress; }
@Override public void parseAttribute(final ByteBuf buffer, final AttributesBuilder builder) { Preconditions.checkArgument(buffer.readableBytes() == Ipv4Util.IP4_LENGTH, "Length of byte array for ORIGINATOR_ID should be %s, but is %s", Ipv4Util.IP4_LENGTH, buffer.readableBytes()); builder.setOriginatorId(new OriginatorIdBuilder().setOriginator(Ipv4Util.addressForByteBuf(buffer)).build()); }
@Override public Object parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException { Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty."); final PccIdReqBuilder builder = new PccIdReqBuilder(); builder.setIpAddress(new IpAddress(Ipv4Util.addressForByteBuf(buffer))); return builder.build(); }
@Override public Object parseObject(final ObjectHeader header, final ByteBuf buffer) throws PCEPDeserializerException { Preconditions.checkArgument(buffer != null && buffer.isReadable(), "Array of bytes is mandatory. Can't be null or empty."); final PceIdBuilder builder = new PceIdBuilder(); builder.setIpAddress(new IpAddress(Ipv4Util.addressForByteBuf(buffer))); return builder.build(); }
@Override public void parseAttribute(final ByteBuf buffer, final AttributesBuilder builder) { final List<ClusterIdentifier> list = Lists.newArrayList(); while (buffer.isReadable()) { list.add(new ClusterIdentifier(Ipv4Util.addressForByteBuf(buffer))); } builder.setClusterId(new ClusterIdBuilder().setCluster(list).build()); }
public static IpAddress parseOrigRouteIp(final ByteBuf buffer) { final int ipLength = buffer.readUnsignedByte(); if (ipLength == Ipv6Util.IPV6_BITS_LENGTH) { return new IpAddress(Ipv6Util.addressForByteBuf(buffer)); } else if (ipLength == Ipv4Util.IP4_BITS_LENGTH) { return new IpAddress(Ipv4Util.addressForByteBuf(buffer)); } return null; }
private static IpAddress parseIp(final ByteBuf buffer) { final int ipLength = buffer.readUnsignedByte(); if (ipLength == Ipv6Util.IPV6_BITS_LENGTH) { return new IpAddress(Ipv6Util.addressForByteBuf(buffer)); } else if (ipLength == Ipv4Util.IP4_BITS_LENGTH) { return new IpAddress(Ipv4Util.addressForByteBuf(buffer)); } return null; } }
static Ipv4EroCase parseIpv4EroCase(final ByteBuf buffer) { final Ipv4EroCaseBuilder builder = new Ipv4EroCaseBuilder(); final BitArray flags = BitArray.valueOf(buffer, FLAGS_SIZE); builder.setLoose(flags.get(LOOSE)); buffer.skipBytes(RESERVED_ERO); builder.setAddress(Ipv4Util.addressForByteBuf(buffer)); return builder.build(); }
@Override public Object parseObject(ObjectHeader header, ByteBuf bytes) throws PCEPDeserializerException { Preconditions.checkArgument(bytes != null && bytes.isReadable(), "Array of bytes is mandatory. Can't be null or empty."); final EndpointsObjBuilder builder = new EndpointsObjBuilder(); if (bytes.readableBytes() != Ipv4Util.IP4_LENGTH * 2) { throw new PCEPDeserializerException("Wrong length of array of bytes."); } builder.setIgnore(header.isIgnore()); builder.setProcessingRule(header.isProcessingRule()); final Ipv4Builder b = new Ipv4Builder(); b.setSourceIpv4Address(Ipv4Util.addressForByteBuf(bytes)); b.setDestinationIpv4Address((Ipv4Util.addressForByteBuf(bytes))); builder.setAddressFamily(new Ipv4CaseBuilder().setIpv4(b.build()).build()); return builder.build(); } }
@Override protected ObjectType parseObjectType(final ByteBuf buffer) { final TeLspCaseBuilder builder = new TeLspCaseBuilder(); final Ipv4CaseBuilder ipv4CaseBuilder = new Ipv4CaseBuilder(); ipv4CaseBuilder.setIpv4TunnelSenderAddress(Ipv4Util.addressForByteBuf(buffer)); builder.setTunnelId(new TunnelId(buffer.readUnsignedShort())); builder.setLspId(new LspId((long) buffer.readUnsignedShort())); ipv4CaseBuilder.setIpv4TunnelEndpointAddress(Ipv4Util.addressForByteBuf(buffer)); return builder.setAddressFamily(ipv4CaseBuilder.build()).build(); }
@Override public ExtendedCommunity parseExtendedCommunity(final ByteBuf buffer) throws BGPDocumentedException, BGPParsingException { final RouteTargetIpv4 routeTarget = new RouteTargetIpv4Builder() .setGlobalAdministrator(Ipv4Util.addressForByteBuf(buffer)) .setLocalAdministrator(buffer.readUnsignedShort()) .build(); return new RouteTargetIpv4CaseBuilder().setRouteTargetIpv4(routeTarget).build(); }
@Override public ExtendedCommunity parseExtendedCommunity(final ByteBuf buffer) throws BGPDocumentedException, BGPParsingException { final RouteOriginIpv4 routeTarget = new RouteOriginIpv4Builder() .setGlobalAdministrator(Ipv4Util.addressForByteBuf(buffer)) .setLocalAdministrator(buffer.readUnsignedShort()) .build(); return new RouteOriginIpv4CaseBuilder().setRouteOriginIpv4(routeTarget).build(); }
@Override public Esi parseEsi(final ByteBuf buffer) { final RouterIdGenerated routerID = new RouterIdGeneratedBuilder().setRouterId(Ipv4Util.addressForByteBuf(buffer)) .setLocalDiscriminator(buffer.readUnsignedInt()).build(); return new RouterIdGeneratedCaseBuilder().setRouterIdGenerated(routerID).build(); } }
/** * Parse {@link Aggregator} from bytes * * @param buffer byte buffer to be parsed * @param builder AttributesBuilder into which parsed {@link Aggregator} will be set */ @Override public void parseAttribute(final ByteBuf buffer, final AttributesBuilder builder) { final AsNumber asNumber = this.refCache.getSharedReference(new AsNumber(buffer.readUnsignedInt())); final Ipv4Address address = Ipv4Util.addressForByteBuf(buffer); builder.setAggregator(new AggregatorBuilder().setAsNumber(asNumber).setNetworkAddress(address).build()); }
@Override public ExtendedCommunity parseExtendedCommunity(final ByteBuf buffer) throws BGPDocumentedException, BGPParsingException { return new Inet4SpecificExtendedCommunityCaseBuilder().setInet4SpecificExtendedCommunity( new Inet4SpecificExtendedCommunityBuilder().setGlobalAdministrator( Ipv4Util.addressForByteBuf(buffer)).setLocalAdministrator( ByteArray.readBytes(buffer, INET_LOCAL_ADMIN_LENGTH)).build()).build(); }
@Override public ExtendedCommunity parseExtendedCommunity(final ByteBuf buffer) throws BGPDocumentedException, BGPParsingException { final RedirectIpv4Builder builder = new RedirectIpv4Builder(); builder.setGlobalAdministrator(Ipv4Util.addressForByteBuf(buffer)); builder.setLocalAdministrator(buffer.readUnsignedShort()); return new RedirectIpv4ExtendedCommunityCaseBuilder().setRedirectIpv4(builder.build()).build(); }
@Override public ExtendedCommunity parseExtendedCommunity(final ByteBuf buffer) throws BGPDocumentedException, BGPParsingException { final RedirectIpNhExtendedCommunityBuilder builder = new RedirectIpNhExtendedCommunityBuilder(); if (buffer.readableBytes() > Ipv6Util.IPV6_LENGTH ) { builder.setNextHopAddress(new IpAddress(Ipv6Util.addressForByteBuf(buffer))); } else { builder.setNextHopAddress(new IpAddress(Ipv4Util.addressForByteBuf(buffer))); } builder.setCopy((buffer.readUnsignedShort() & COPY) == 1); return new RedirectIpNhExtendedCommunityCaseBuilder().setRedirectIpNhExtendedCommunity(builder.build()).build(); }