@Override public TopologyLinkUp createNotification(final Link topoLink, final InstanceIdentifier<Link> path) { Preconditions.checkNotNull(topoLink); Preconditions.checkNotNull(path); final LinkBuilder linkBuilder = new LinkBuilder(topoLink); return new TopologyLinkUpImpl(linkBuilder.build(), linkBuilder.getLinkId()); }
LinkImpl(LinkBuilder base) { if (base.key() != null) { this.key = base.key(); } else { this.key = new LinkKey(base.getLinkId()); } this._linkId = key.getLinkId(); this._destination = base.getDestination(); this._source = base.getSource(); this._supportingLink = base.getSupportingLink(); this.augmentation = ImmutableMap.copyOf(base.augmentation); }
@Override public TopologyLinkDeleted deleteNotification(final Link topoLink, final InstanceIdentifier<Link> path) { Preconditions.checkNotNull(topoLink); Preconditions.checkNotNull(path); final LinkBuilder linkBuilder = new LinkBuilder(topoLink); return new TopologyLinkDeletedImpl(linkBuilder.build()); }
public static List<Link> createLinks(NodeId srcNId, TpId srcTpId, NodeId dstNId, TpId dstTpId) { List<Link> links = new ArrayList(); LinkBuilder srcdst = new LinkBuilder()// .setSource(new SourceBuilder()// .setSourceNode(srcNId)// .setSourceTp(srcTpId).build())// .setDestination(new DestinationBuilder()// .setDestNode(dstNId).setDestTp(dstTpId).build())// .setLinkId(new LinkId(srcTpId.getValue() + "/" + dstTpId.getValue())); srcdst.setKey(new LinkKey(srcdst.getLinkId())); LinkBuilder dstsrc = new LinkBuilder()// .setSource(new SourceBuilder()// .setSourceNode(dstNId)// .setSourceTp(dstTpId).build())// .setDestination(new DestinationBuilder()// .setDestNode(srcNId).setDestTp(srcTpId).build())// .setLinkId(new LinkId(dstTpId.getValue() + "/" + srcTpId.getValue())); dstsrc.setKey(new LinkKey(dstsrc.getLinkId())); links.add(dstsrc.build()); links.add(srcdst.build()); return links; }
private LinkImpl(LinkBuilder base) { if (base.getKey() == null) { this._key = new LinkKey( base.getLinkId() ); this._linkId = base.getLinkId(); } else { this._key = base.getKey(); this._linkId = _key.getLinkId(); } this._destination = base.getDestination(); this._source = base.getSource(); this._supportingLink = base.getSupportingLink(); switch (base.augmentation.size()) { case 0: this.augmentation = Collections.emptyMap(); break; case 1: final Map.Entry<java.lang.Class<? extends Augmentation<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Link>>, Augmentation<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Link>> e = base.augmentation.entrySet().iterator().next(); this.augmentation = Collections.<java.lang.Class<? extends Augmentation<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Link>>, Augmentation<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Link>>singletonMap(e.getKey(), e.getValue()); break; default : this.augmentation = new HashMap<>(base.augmentation); } }
private void createLogicLink(FabricId fabricid, NodeId routeId, NodeId swId, WriteTransaction trans, TpId tpid1, TpId tpid2, LinkId lid) { final LinkId linkid = lid == null ? new LinkId(UUID.randomUUID().toString()) : lid; LinkBuilder linkBuilder = new LinkBuilder(); linkBuilder.setLinkId(linkid); linkBuilder.setKey(new LinkKey(linkid)); SourceBuilder srcBuilder = new SourceBuilder(); srcBuilder.setSourceNode(routeId); srcBuilder.setSourceTp(tpid1); linkBuilder.setSource(srcBuilder.build()); DestinationBuilder destBuilder = new DestinationBuilder(); destBuilder.setDestNode(swId); destBuilder.setDestTp(tpid2); linkBuilder.setDestination(destBuilder.build()); InstanceIdentifier<Link> linkIId = MdSalUtils.createLinkIId(fabricid, linkid); trans.put(LogicalDatastoreType.OPERATIONAL,linkIId, linkBuilder.build()); }
public static Link createBasicVcLink(Node ldNode, Node netNode) { LinkId linkId = new LinkId(VC_LINK_NAME); LinkKey linkKey = new LinkKey(linkId); LinkBuilder linkBuilder = new LinkBuilder(); linkBuilder.setLinkId(linkId); linkBuilder.setKey(linkKey); DestinationBuilder destBuilder = new DestinationBuilder(); NodeId ldNodeId = ldNode.getNodeId(); destBuilder.setDestNode(ldNodeId); TpId sourceTpId = new TpId(VC_NODE_TP_WEST); destBuilder.setDestTp(sourceTpId); linkBuilder.setDestination(destBuilder.build()); SourceBuilder sourceBuilder = new SourceBuilder(); NodeId netNodeId = netNode.getNodeId(); sourceBuilder.setSourceNode(netNodeId); TpId destTpId = new TpId(VC_NODE_TP_EAST); sourceBuilder.setSourceTp(destTpId); linkBuilder.setSource(sourceBuilder.build()); return linkBuilder.build(); }
@Override public NicNotification updateNotification(final Link topoLink, final InstanceIdentifier<Link> path) { Preconditions.checkNotNull(topoLink); Preconditions.checkNotNull(path); final LinkBuilder linkBuilder = new LinkBuilder(topoLink); return new TopologyLinkUpdatedImpl(linkBuilder.build(), linkBuilder.getLinkId()); }
public static Link toTopologyLink( final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.Link link) { return new LinkBuilder() .setSource(new SourceBuilder() .setSourceNode(toTopologyNodeId(link.getSource())) .setSourceTp(toTerminationPointId(link.getSource())) .build()) .setDestination(new DestinationBuilder() .setDestNode(toTopologyNodeId(link.getDestination())) .setDestTp(toTerminationPointId(link.getDestination())) .build()) .setLinkId(new LinkId(getNodeConnectorKey(link.getSource()).getId())) .build(); } }
@Override public Future<RpcResult<AddFabricLinkOutput>> addFabricLink(AddFabricLinkInput input) { FabricId fabric1 = input.getSourceFabric(); FabricId fabric2 = input.getDestFabric(); TpId tp1 = input.getSourceFabricPort(); TpId tp2 = input.getDestFabricPort(); final LinkId lnkId = new LinkId(UUID.randomUUID().toString()); InstanceIdentifier<Link> path = MdSalUtils.createInterFabricLinkIId(lnkId); Link data = new LinkBuilder() .setSource( new SourceBuilder().setSourceNode(fabric1).setSourceTp(tp1).build()) .setDestination( new DestinationBuilder().setDestNode(fabric2).setDestTp(tp2).build()) .setLinkId(lnkId) .build(); WriteTransaction wt = dataBroker.newWriteOnlyTransaction(); wt.put(LogicalDatastoreType.CONFIGURATION, path, data); wt.put(LogicalDatastoreType.OPERATIONAL, path, data); CheckedFuture<Void,TransactionCommitFailedException> future = wt.submit(); return Futures.transform(future, new AsyncFunction<Void, RpcResult<AddFabricLinkOutput>>() { @Override public ListenableFuture<RpcResult<AddFabricLinkOutput>> apply(Void submitResult) throws Exception { RpcResultBuilder<AddFabricLinkOutput> resultBuilder = RpcResultBuilder.<AddFabricLinkOutput>success(); AddFabricLinkOutput output = new AddFabricLinkOutputBuilder().setLinkId(lnkId).build(); return Futures.immediateFuture(resultBuilder.withResult(output).build()); } }); }
/** * Create a new inter-switch link in the network topology. * * @param port An {@link OfPort} instance that specifies the source * port of the link. * @param peer The MD-SAL port identifier that specifies the * destination port of the link. * @return A link in the network topology. */ public static Link newLink(OfPort port, String peer) { String pid = port.getPortIdentifier(); String srcNode = port.getNodeIdentifier(); String dstNode = OfMockUtils.getNodeIdentifier(peer); SourceBuilder sb = new SourceBuilder(). setSourceNode(new NodeId(srcNode)). setSourceTp(new TpId(pid)); DestinationBuilder db = new DestinationBuilder(). setDestNode(new NodeId(dstNode)). setDestTp(new TpId(peer)); return new LinkBuilder(). setLinkId(new LinkId(pid)). setSource(sb.build()). setDestination(db.build()). build(); }
final Link link = optionalEvcLink.get(); final WriteTransaction transaction = dataBroker.newWriteOnlyTransaction(); final LinkBuilder linkBuilder = new LinkBuilder(); linkBuilder.setKey(link.getKey()); linkBuilder.setLinkId(link.getLinkId()); linkBuilder.setDestination(link.getDestination()); linkBuilder.setSource(link.getSource()); linkBuilder.addAugmentation(EvcAugmentation.class, updatedEvcBuilder.build()); transaction.put(dataStore, evcKey.firstIdentifierOf(Link.class), linkBuilder.build()); transaction.submit(); return true;
final LinkBuilder lb = new LinkBuilder(); lb.setLinkId(buildLinkId(base, l)); lb.addAugmentation(Link1.class, new Link1Builder().setIgpLinkAttributes(ilab.build()).build()); lb.setSource(new SourceBuilder().setSourceNode(srcNode).setSourceTp(srcTp.getTpId()).build()); lb.setDestination(new DestinationBuilder().setDestNode(dstNode).setDestTp(dstTp.getTpId()).build()); if (snh == null) { snh = getNode(srcNode); snh.addTp(srcTp, lb.getLinkId(), false); putNode(trans, snh); } else { snh.addTp(srcTp, lb.getLinkId(), false); final InstanceIdentifier<Node> nid = getNodeInstanceIdentifier(new NodeKey((NodeId) snh.getNodeId())); trans.put(LogicalDatastoreType.OPERATIONAL, nid.child(TerminationPoint.class, srcTp.getKey()), srcTp); if (dnh == null) { dnh = getNode(dstNode); dnh.addTp(dstTp, lb.getLinkId(), true); putNode(trans, dnh); } else { dnh.addTp(dstTp, lb.getLinkId(), true); final InstanceIdentifier<Node> nid = getInstanceIdentifier().child( org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node.class, final InstanceIdentifier<Link> lid = buildLinkIdentifier(lb.getLinkId()); final Link link = lb.build();
final LinkBuilder lb = new LinkBuilder(); lb.setLinkId(id); lb.setSource(new SourceBuilder().setSourceNode(src.firstKeyOf(Node.class, NodeKey.class).getNodeId()).setSourceTp( src.firstKeyOf(TerminationPoint.class, TerminationPointKey.class).getTpId()).build()); lb.setDestination(new DestinationBuilder().setDestNode(dst.firstKeyOf(Node.class, NodeKey.class).getNodeId()).setDestTp( dst.firstKeyOf(TerminationPoint.class, TerminationPointKey.class).getTpId()).build()); lb.addAugmentation(Link1.class, lab.build()); lb.addAugmentation(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.Link1.class, slab.build()); trans.put(LogicalDatastoreType.OPERATIONAL, linkForLsp(id), lb.build());