@Override public IpPrefix parseTlvBody(final ByteBuf value) { return new IpPrefix(Ipv4Util.prefixForByteBuf(value)); }
@Override public FlowspecType parseType(final ByteBuf buffer) { Preconditions.checkNotNull(buffer, "input buffer is null, missing data to parse."); return new DestinationPrefixCaseBuilder().setDestinationPrefix(Ipv4Util.prefixForByteBuf(buffer)).build(); } }
@Override public FlowspecType parseType(final ByteBuf buffer) { Preconditions.checkNotNull(buffer, "input buffer is null, missing data to parse."); return new SourcePrefixCaseBuilder().setSourcePrefix(Ipv4Util.prefixForByteBuf(buffer)).build(); } }
private static DestinationIpv4 prefixes(final ByteBuf nlri, final PeerSpecificParserConstraint constraints, final Class<? extends AddressFamily> afi, final Class<? extends SubsequentAddressFamily> safi) { final List<Ipv4Prefixes> prefixes = new ArrayList<>(); while (nlri.isReadable()) { final Ipv4PrefixesBuilder prefixesBuilder = new Ipv4PrefixesBuilder(); if (MultiPathSupportUtil.isTableTypeSupported(constraints, new BgpTableTypeImpl(afi, safi))) { prefixesBuilder.setPathId(PathIdUtil.readPathId(nlri)); } prefixesBuilder.setPrefix(Ipv4Util.prefixForByteBuf(nlri)); prefixes.add(prefixesBuilder.build()); } return new DestinationIpv4Builder().setIpv4Prefixes(prefixes).build(); }