@Override public void serializeCapability(final CParameters capability, final ByteBuf byteAggregator) { if ( (capability.getAugmentation(CParameters1.class) == null) || (capability.getAugmentation(CParameters1.class).getAddPathCapability() == null) ) { return; } final AddPathCapability addPathCap = capability.getAugmentation(CParameters1.class).getAddPathCapability(); final List<AddressFamilies> families = addPathCap.getAddressFamilies(); if (families != null) { final ByteBuf capBuffer = Unpooled.buffer(families.size() * TRIPLET_BYTE_SIZE); for (final AddressFamilies addressFamily : families) { final Class<? extends AddressFamily> afi = addressFamily.getAfi(); final Integer afival = this.afiReg.numberForClass(afi); Preconditions.checkArgument(afival != null, "Unhandled address family " + afi); capBuffer.writeShort(afival); final Class<? extends SubsequentAddressFamily> safi = addressFamily.getSafi(); final Integer safival = this.safiReg.numberForClass(safi); Preconditions.checkArgument(safival != null, "Unhandled subsequent address family " + safi); capBuffer.writeByte(safival); final SendReceive sendReceive = addressFamily.getSendReceive(); Preconditions.checkArgument(sendReceive != null, "Unhandled Send/Receive value"); capBuffer.writeByte(sendReceive.getIntValue()); } CapabilityUtil.formatCapability(CODE, capBuffer, byteAggregator); } }
final BgpTableType type = new BgpTableTypeImpl(p.getAfi(), p.getSafi()); tts.add(type); } else if (cParam.getAugmentation(CParameters1.class).getAddPathCapability() != null) { final AddPathCapability addPathCap = cParam.getAugmentation(CParameters1.class).getAddPathCapability(); addPathCapabilitiesList.addAll(addPathCap.getAddressFamilies());
tts.add(tt); tats.add(new BgpTableTypeImpl(tt.getAfi(), tt.getSafi())); } else if (cParam.getAugmentation(CParameters1.class).getAddPathCapability() != null) { final AddPathCapability addPathCap = cParam.getAugmentation(CParameters1.class).getAddPathCapability(); addPathCapabilitiesList.addAll(addPathCap.getAddressFamilies());
if (capabilities.getAddPathCapability() != null) { pref.setAddPathCapability(true);
pref.setGrCapability(true); if (capabilities.getAddPathCapability() != null) { final List<AdvertisedAddPathTableTypes> addPathTableTypeList = capabilities.getAddPathCapability() .getAddressFamilies() .stream()