@Override public Class<? extends SubsequentAddressFamily> getSafi() { return this.pathFamilyDependency.getSafi(); }
@Override public Class<? extends SubsequentAddressFamily> getSafi() { return this.family.getSafi(); }
public PerAfiSafiAdjRibInTlvBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType arg) { this._afi = arg.getAfi(); this._safi = arg.getSafi(); }
public AdvertizedTableTypesBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType arg) { this._afi = arg.getAfi(); this._safi = arg.getSafi(); }
public AdvertisedAddPathTableTypesBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType arg) { this._afi = arg.getAfi(); this._safi = arg.getSafi(); }
public PerAfiSafiLocRibTlvBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType arg) { this._afi = arg.getAfi(); this._safi = arg.getSafi(); }
public RouteTableBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType arg) { this._afi = arg.getAfi(); this._safi = arg.getSafi(); }
public BgpTableTypeImplBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType arg) { this._afi = arg.getAfi(); this._safi = arg.getSafi(); }
public LocRibRouteTableBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType arg) { this._afi = arg.getAfi(); this._safi = arg.getSafi(); }
public AfiSafiBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType arg) { this._afi = arg.getAfi(); this._safi = arg.getSafi(); }
public static List<AfiSafi> toAfiSafis(final List<BgpTableType> advertizedTables, final BiFunction<AfiSafi, BgpTableType, AfiSafi> function) { final List<AfiSafi> afiSafis = new ArrayList<>(advertizedTables.size()); for (final BgpTableType tableType : advertizedTables) { final Optional<AfiSafi> afiSafiMaybe = toAfiSafi(new BgpTableTypeImpl(tableType.getAfi(), tableType.getSafi())); if (afiSafiMaybe.isPresent()) { final AfiSafi afiSafi = function.apply(afiSafiMaybe.get(), tableType); afiSafis.add(afiSafi); } } return afiSafis; }
/** *Set fields from given grouping argument. Valid argument is instance of one of following types: * <ul> * <li>org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType</li> * </ul> * * @param arg grouping object * @throws IllegalArgumentException if given argument is none of valid types */ public void fieldsFrom(DataObject arg) { boolean isValidArg = false; if (arg instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType) { this._afi = ((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType)arg).getAfi(); this._safi = ((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType)arg).getSafi(); isValidArg = true; } if (!isValidArg) { throw new IllegalArgumentException( "expected one of: [org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType] \n" + "but was: " + arg ); } }
/** *Set fields from given grouping argument. Valid argument is instance of one of following types: * <ul> * <li>org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType</li> * </ul> * * @param arg grouping object * @throws IllegalArgumentException if given argument is none of valid types */ public void fieldsFrom(DataObject arg) { boolean isValidArg = false; if (arg instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType) { this._afi = ((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType)arg).getAfi(); this._safi = ((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType)arg).getSafi(); isValidArg = true; } if (!isValidArg) { throw new IllegalArgumentException( "expected one of: [org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType] \n" + "but was: " + arg ); } }
/** *Set fields from given grouping argument. Valid argument is instance of one of following types: * <ul> * <li>org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType</li> * </ul> * * @param arg grouping object * @throws IllegalArgumentException if given argument is none of valid types */ public void fieldsFrom(DataObject arg) { boolean isValidArg = false; if (arg instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType) { this._afi = ((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType)arg).getAfi(); this._safi = ((org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType)arg).getSafi(); isValidArg = true; } if (!isValidArg) { throw new IllegalArgumentException( "expected one of: [org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.BgpTableType] \n" + "but was: " + arg ); } }
public static AfiSafi toNeighborAfiSafiAddPath(final AfiSafi afiSafi, final BgpTableType tableType, final List<AddressFamilies> capabilities) { final Optional<AddressFamilies> capability = Iterables.tryFind(capabilities, af -> af.getAfi().equals(tableType.getAfi()) && af.getSafi().equals(tableType.getSafi())); if (!capability.isPresent()) { return afiSafi; } return new AfiSafiBuilder(afiSafi) .addAugmentation(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev160614.AfiSafi1.class, fromSendReceiveMode(capability.get().getSendReceive())).build(); }
private static AdvertizedTableTypes addTableType(final BgpTableType type) { Preconditions.checkNotNull(type); final AdvertizedTableTypes att = new AdvertizedTableTypes(); final QName afi = BindingReflections.findQName(type.getAfi()).intern(); final QName safi = BindingReflections.findQName(type.getSafi()).intern(); att.setAfi(new IdentityAttributeRef(afi.toString())); att.setSafi(new IdentityAttributeRef(safi.toString())); return att; }
private RIBImpl createRib(final ClusterSingletonServiceProvider provider, final Global global, final String bgpInstanceName, final BGPOpenConfigMappingService mappingService, final BgpDeployer.WriteConfiguration configurationWriter) { this.afiSafi = global.getAfiSafis().getAfiSafi(); this.asNumber = global.getConfig().getAs(); this.routerId = global.getConfig().getRouterId(); final Map<TablesKey, PathSelectionMode> pathSelectionModes = mappingService.toPathSelectionMode(this.afiSafi).entrySet() .stream().collect(Collectors.toMap(entry -> new TablesKey(entry.getKey().getAfi(), entry.getKey().getSafi()), Map.Entry::getValue)); return new RIBImpl(provider, new RibId(bgpInstanceName), this.asNumber, new BgpId(this.routerId), new ClusterIdentifier(this.routerId), this.extensions, this.dispatcher, this.codecTreeFactory, this.domBroker, mappingService.toTableTypes(this.afiSafi), pathSelectionModes, this.extensions.getClassLoadingStrategy(), configurationWriter); }
public static AfiSafi toNeigborAfiSafiMultiPath(final AfiSafi afiSafi, final BgpTableType tableType, final Collection<AddressFamilies> addPathCapabilities) { final java.util.Optional<AddressFamilies> addPathMayBe = addPathCapabilities.stream().filter( af -> af.getAfi() == tableType.getAfi() && af.getSafi() == tableType.getSafi()).findFirst(); if (addPathMayBe.isPresent()) { final AfiSafi2 afiSafi3 = new AfiSafi2Builder().setUseMultiplePaths( new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.use.multiple.paths.neighbor.UseMultiplePathsBuilder().setConfig( new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.use.multiple.paths.neighbor.use.multiple.paths.ConfigBuilder() .setEnabled(true).build()).build()).build(); return new AfiSafiBuilder(afiSafi).addAugmentation(AfiSafi2.class, afiSafi3).build(); } return afiSafi; }
public static AfiSafi toGlobalAfiSafiAddPath(final AfiSafi afiSafi, final BgpTableType tableType, final Map<TablesKey, PathSelectionMode> multiPathTables) { final PathSelectionMode pathSelection = multiPathTables.get(new TablesKey(tableType.getAfi(), tableType.getSafi())); if (pathSelection == null) { return afiSafi; } final long maxPaths; if (pathSelection instanceof AddPathBestNPathSelection) { maxPaths = ((AddPathBestNPathSelection) pathSelection).getNBestPaths(); } else { maxPaths = 0L; } final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev160614.AfiSafi2 addPath = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev160614.AfiSafi2Builder() .setReceive(false) .setSendMax(Shorts.checkedCast(maxPaths)) .build(); return new AfiSafiBuilder(afiSafi) .addAugmentation(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev160614.AfiSafi2.class, addPath).build(); }
public static AfiSafi toGlobalAfiSafiMultiPath(final AfiSafi afiSafi, final BgpTableType tableType, final Map<TablesKey, PathSelectionMode> pathSelectionModes) { final PathSelectionMode pathSelection = pathSelectionModes.get(new TablesKey(tableType.getAfi(), tableType.getSafi())); if (pathSelection == null) { return afiSafi; } final Long maxPaths; if (pathSelection instanceof AddPathBestNPathSelection) { maxPaths = ((AddPathBestNPathSelection) pathSelection).getNBestPaths(); } else { maxPaths = null; } final AfiSafi1 afiSafi1 = new AfiSafi1Builder().setUseMultiplePaths( new UseMultiplePathsBuilder().setConfig(new ConfigBuilder().setEnabled(true).build()) .setEbgp(maxPaths != null ? new EbgpBuilder().setConfig( new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.use.multiple.paths.use.multiple.paths.ebgp.ConfigBuilder() .setMaximumPaths(maxPaths) .build()).build() : null) .setIbgp(maxPaths != null ? new IbgpBuilder().setConfig( new org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.use.multiple.paths.use.multiple.paths.ibgp.ConfigBuilder() .setMaximumPaths(maxPaths).build()).build() : null).build()).build(); return new AfiSafiBuilder(afiSafi).addAugmentation(AfiSafi1.class, afiSafi1).build(); }