import java.util.stream.Collectors;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.OduSwitchingPools;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.OduSwitchingPoolsBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmTpType;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Link1;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.LinkKey;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.NodeBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.NodeKey;
+import org.opendaylight.yangtools.yang.common.Uint16;
import org.opendaylight.yangtools.yang.common.Uint64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final String RDM_INFRA = "ROADM-infra";
private static final Logger LOG = LoggerFactory.getLogger(ConvertORTopoToTapiTopo.class);
private String ietfNodeId;
+ private OpenroadmNodeType ietfNodeType;
private List<TerminationPoint> oorClientPortList;
private List<TerminationPoint> oorNetworkPortList;
private OduSwitchingPools oorOduSwitchingPool;
public void convertNode(Node ietfNode, List<String> networkPorts) {
this.ietfNodeId = ietfNode.getNodeId().getValue();
- this.oorClientPortList = ietfNode.augmentation(
+ if (ietfNode.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class)
+ == null) {
+ return;
+ }
+ this.ietfNodeType = ietfNode.augmentation(
+ org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class).getNodeType();
+ this.oorNetworkPortList = ietfNode.augmentation(
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
.getTerminationPoint().values().stream()
.filter(tp -> tp.augmentation(TerminationPoint1.class).getTpType().getIntValue()
- == OpenroadmTpType.XPONDERCLIENT.getIntValue())
+ == OpenroadmTpType.XPONDERNETWORK.getIntValue()
+ && networkPorts.contains(tp.getTpId().getValue()))
.sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
.collect(Collectors.toList());
- this.oorNetworkPortList = ietfNode.augmentation(
+ if (!OpenroadmNodeType.TPDR.equals(this.ietfNodeType)) {
+ this.oorOduSwitchingPool = ietfNode.augmentation(Node1.class).getSwitchingPools().getOduSwitchingPools()
+ .values().stream().findFirst().get();
+ this.oorClientPortList = ietfNode.augmentation(
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
.getTerminationPoint().values().stream()
.filter(tp -> tp.augmentation(TerminationPoint1.class).getTpType().getIntValue()
- == OpenroadmTpType.XPONDERNETWORK.getIntValue()
- && networkPorts.contains(tp.getTpId().getValue()))
+ == OpenroadmTpType.XPONDERCLIENT.getIntValue())
.sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
.collect(Collectors.toList());
- this.oorOduSwitchingPool = ietfNode.augmentation(Node1.class).getSwitchingPools().getOduSwitchingPools()
- .values().stream().findFirst().get();
+ } else {
+ this.oorOduSwitchingPool = createOduSwitchingPoolForTp100G();
+ List<TpId> toto = this.oorOduSwitchingPool.getNonBlockingList().values().stream()
+ .flatMap(nbl -> nbl.getTpList().stream())
+ .collect(Collectors.toList());
+ LOG.info("toto = {}", toto);
+ this.oorClientPortList = ietfNode.augmentation(
+ org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
+ .getTerminationPoint().values().stream()
+ .filter(tp -> tp.augmentation(TerminationPoint1.class).getTpType().getIntValue()
+ == OpenroadmTpType.XPONDERCLIENT.getIntValue() && toto.contains(tp.getTpId()))
+ .sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
+ .collect(Collectors.toList());
+ this.oorClientPortList.forEach(tp -> LOG.info("tp = {}", tp.getTpId()));
+ }
// node creation [DSR/ODU]
- LOG.info("creation of a DSR/ODU node");
+ LOG.info("creation of a DSR/ODU node for {}", this.ietfNodeId);
Uuid nodeUuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", this.ietfNodeId, DSR))
.getBytes(Charset.forName("UTF-8"))).toString());
this.uuidMap.put(String.join("+", this.ietfNodeId, DSR), nodeUuid);
tapiNodes.put(dsrNode.key(), dsrNode);
// node creation [otsi]
- LOG.info("creation of an OTSi node");
+ LOG.info("creation of an OTSi node for {}", this.ietfNodeId);
nodeUuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", this.ietfNodeId, OTSI))
.getBytes(Charset.forName("UTF-8"))).toString());
this.uuidMap.put(String.join("+", this.ietfNodeId, OTSI), nodeUuid);
}
}
+ private OduSwitchingPools createOduSwitchingPoolForTp100G() {
+ Map<NonBlockingListKey, NonBlockingList> nblMap = new HashMap<>();
+ int count = 1;
+ for (TerminationPoint tp : this.oorNetworkPortList) {
+ TpId tpid1 = tp.getTpId();
+ TpId tpid2 = new TpId(tp.augmentation(
+ org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1.class)
+ .getAssociatedConnectionMapPort());
+ List<TpId> tpList = new ArrayList<>();
+ tpList.add(tpid1);
+ tpList.add(tpid2);
+ NonBlockingList nbl = new NonBlockingListBuilder()
+ .setNblNumber(Uint16.valueOf(count))
+ .setTpList(tpList)
+ .build();
+ nblMap.put(nbl.key(), nbl);
+ count++;
+ }
+ return new OduSwitchingPoolsBuilder()
+ .setNonBlockingList(nblMap)
+ .setSwitchingPoolNumber(Uint16.valueOf(1))
+ .build();
+ }
+
private List<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node>
pruneTapiPhotonicNodes() {
List<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node>
return uuidNameMap;
}
- private org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology
- .Node createTapiNode(Map<NameKey, Name> nodeNames, List<LayerProtocolName> layerProtocols) {
+ private org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node
+ createTapiNode(Map<NameKey, Name> nodeNames, List<LayerProtocolName> layerProtocols) {
Uuid nodeUuid = null;
Map<OwnedNodeEdgePointKey, OwnedNodeEdgePoint> onepl = new HashMap<>();
Map<NodeRuleGroupKey, NodeRuleGroup> nodeRuleGroupList = new HashMap<>();
this.uuidMap.put(String.join("+", this.ietfNodeId, I_OTSI, oorNetworkPortList.get(i).getTpId().getValue()),
nepUuid1);
Name onedName = new NameBuilder()
- .setValueName(new StringBuilder("iNodeEdgePoint_").append(i + 1).toString())
+ .setValueName("iNodeEdgePoint")
.setValue(oorNetworkPortList.get(i).getTpId().getValue())
.build();
this.uuidMap.put(String.join("+", this.ietfNodeId, E_OTSI, oorNetworkPortList.get(i).getTpId().getValue()),
nepUuid2);
Name onedName = new NameBuilder()
- .setValueName(new StringBuilder("eNodeEdgePoint_").append(i + 1).toString())
+ .setValueName("eNodeEdgePoint")
.setValue(oorNetworkPortList.get(i).getTpId().getValue())
.build();
.getBytes(Charset.forName("UTF-8"))).toString());
this.uuidMap.put(String.join("+", this.ietfNodeId, DSR, oorClientPortList.get(i).getTpId().getValue()),
nepUuid);
- Name name = new NameBuilder()
- .setValueName(new StringBuilder("NodeEdgePoint_C").append(i + 1).toString())
- .setValue(oorClientPortList.get(i).getTpId().getValue())
- .build();
+ NameBuilder nameBldr = new NameBuilder().setValue(oorClientPortList.get(i).getTpId().getValue());
+ Name name;
+ if (OpenroadmNodeType.TPDR.equals(this.ietfNodeType)) {
+ name = nameBldr.setValueName("100G-tpdr").build();
+ } else {
+ name = nameBldr.setValueName("NodeEdgePoint_C").build();
+ }
OwnedNodeEdgePoint onep = createNep(oorClientPortList.get(i), Map.of(name.key(), name),
LayerProtocolName.ETH, LayerProtocolName.DSR, true, String.join("+", this.ietfNodeId, DSR));
this.uuidMap.put(String.join("+", this.ietfNodeId, DSR, oorNetworkPortList.get(i).getTpId().getValue()),
nepUuid);
Name onedName = new NameBuilder()
- .setValueName(new StringBuilder("NodeEdgePoint_N").append(i + 1).toString())
+ .setValueName("NodeEdgePoint_N")
.setValue(oorNetworkPortList.get(i).getTpId().getValue())
.build();
}
// create NodeRuleGroup
int count = 1;
- for (NonBlockingList nbl : this.oorOduSwitchingPool.getNonBlockingList().values()) {
+ for (NonBlockingList nbl : this.oorOduSwitchingPool.nonnullNonBlockingList().values()) {
Map<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePointKey,
org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePoint>
nepList = new HashMap<>();
} else if (sic.getIfCapType().getSimpleName().equals("If100GEODU4")) {
sclpqList.add(DIGITALSIGNALTYPE100GigE.class);
sclpqList.add(ODUTYPEODU4.class);
+ } else if (sic.getIfCapType().getSimpleName().equals("If100GE")) {
+ sclpqList.add(DIGITALSIGNALTYPE100GigE.class);
}
break;
case "PHOTONIC_MEDIA":
@Override
public ListenableFuture<RpcResult<GetTopologyDetailsOutput>> getTopologyDetails(GetTopologyDetailsInput input) {
try {
- LOG.info("Building TAPI Topology abstraction from {}", input.getTopologyIdOrName());
+ LOG.info("Building TAPI Topology abstraction");
Topology topology = null;
switch (input.getTopologyIdOrName()) {
case NetworkUtils.OVERLAY_NETWORK_ID:
return RpcResultBuilder.success(new GetTopologyDetailsOutputBuilder().setTopology(topology).build())
.buildFuture();
} catch (TapiTopologyException e) {
+ LOG.error("error building TAPI topology");
return RpcResultBuilder.success(new GetTopologyDetailsOutputBuilder().build()).buildFuture();
}
}
.collect(Collectors.toList());
// read otn-topology
Network otnTopo = readTopology(InstanceIdentifiers.OTN_NETWORK_II);
- Map<NodeId, Node> otnNodeMap = otnTopo.nonnullNode().values().stream().filter(nt -> nt.augmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class)
- .getNodeType().equals(OpenroadmNodeType.SWITCH) || nt.augmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class)
- .getNodeType().equals(OpenroadmNodeType.MUXPDR))
+ Map<NodeId, Node> otnNodeMap = otnTopo.nonnullNode().values().stream()
.collect(Collectors.toMap(Node::getNodeId, node -> node));
Map<String, List<String>> networkPortMap = new HashMap<>();
import static org.hamcrest.CoreMatchers.hasItems;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
import com.google.common.util.concurrent.FluentFuture;
import java.nio.charset.Charset;
private static Node otnMuxA;
private static Node otnMuxC;
private static Node otnSwitch;
+ private static Node tpdr100G;
private static List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
.networks.network.Link> otnLinks;
private static Uuid topologyUuid;
TopologyDataUtils.writeTopologyFromFileToDatastore(getDataStoreContextUtil(),
TopologyDataUtils.OPENROADM_TOPOLOGY_FILE, InstanceIdentifiers.OVERLAY_NETWORK_II);
TopologyDataUtils.writeTopologyFromFileToDatastore(getDataStoreContextUtil(),
- TopologyDataUtils.OTN_TOPOLOGY_WITH_OTN_LINKS_FILE, InstanceIdentifiers.OTN_NETWORK_II);
+ TopologyDataUtils.OTN_TOPOLOGY_FILE, InstanceIdentifiers.OTN_NETWORK_II);
TopologyDataUtils.writePortmappingFromFileToDatastore(getDataStoreContextUtil());
KeyedInstanceIdentifier<Node, NodeKey> muxAIID = InstanceIdentifier.create(Networks.class)
.child(Node.class, new NodeKey(new NodeId("SPDR-SA1-XPDR2")));
FluentFuture<Optional<Node>> switchFuture = dataBroker.newReadOnlyTransaction()
.read(LogicalDatastoreType.CONFIGURATION, switchIID);
+
otnMuxA = muxAFuture.get().get();
otnMuxC = muxCFuture.get().get();
otnSwitch = switchFuture.get().get();
+ KeyedInstanceIdentifier<Node, NodeKey> tpdrIID = InstanceIdentifier.create(Networks.class)
+ .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network
+ .class, new NetworkKey(new NetworkId("otn-topology")))
+ .child(Node.class, new NodeKey(new NodeId("XPDR-A1-XPDR1")));
+ FluentFuture<Optional<Node>> tpdrFuture = dataBroker.newReadOnlyTransaction()
+ .read(LogicalDatastoreType.CONFIGURATION, tpdrIID);
+ tpdr100G = tpdrFuture.get().get();
+
InstanceIdentifier<Network1> linksIID = InstanceIdentifier.create(Networks.class)
.child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network
.class, new NetworkKey(new NetworkId("otn-topology")))
LOG.info("TEST SETUP READY");
}
+ @Test
+ public void convertNodeForTransponder100G() {
+ ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid);
+ List<String> networkPortList = new ArrayList<>();
+ for (TerminationPoint tp : tpdr100G.augmentation(Node1.class).getTerminationPoint().values()) {
+ if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERNETWORK)) {
+ networkPortList.add(tp.getTpId().getValue());
+ }
+ }
+ tapiFactory.convertNode(tpdr100G, networkPortList);
+ List<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node> tapiNodes
+ = tapiFactory.getTapiNodes().values().stream()
+ .sorted((n1, n2) -> n1.getUuid().getValue().compareTo(n2.getUuid().getValue()))
+ .collect(Collectors.toList());
+
+ assertEquals("Node list size should be 2", 2, tapiFactory.getTapiNodes().size());
+ assertEquals("Link list size should be 2", 2, tapiFactory.getTapiLinks().size());
+
+ Uuid dsrNodeUuid = new Uuid(UUID.nameUUIDFromBytes("XPDR-A1-XPDR1+DSR".getBytes(Charset.forName("UTF-8")))
+ .toString());
+ checkDsrNode(tapiNodes.get(1), dsrNodeUuid, "tpdr", "XPDR-A1-XPDR1");
+ Uuid otsiNodeUuid = new Uuid(UUID.nameUUIDFromBytes("XPDR-A1-XPDR1+OTSi".getBytes(Charset.forName("UTF-8")))
+ .toString());
+ checkOtsiNode(tapiNodes.get(0), otsiNodeUuid, "tpdr", "XPDR-A1-XPDR1");
+
+ List<Link> tapiLinks = tapiFactory.getTapiLinks().values().stream()
+ .sorted((l1, l2) -> l1.getUuid().getValue().compareTo(l2.getUuid().getValue()))
+ .collect(Collectors.toList());
+ checkTransitionalLink(tapiLinks.get(1), dsrNodeUuid, otsiNodeUuid,
+ "XPDR-A1-XPDR1+DSR+XPDR1-NETWORK1", "XPDR-A1-XPDR1+iOTSi+XPDR1-NETWORK1", "XPDR-A1-XPDR1");
+ }
+
@Test
public void convertNodeForOtnMuxponder() {
ConvertORTopoToTapiTopo tapiFactory = new ConvertORTopoToTapiTopo(topologyUuid);
assertEquals("Node list size should be 2", 2, tapiFactory.getTapiNodes().size());
assertEquals("Link list size should be 1", 1, tapiFactory.getTapiLinks().size());
-
Uuid dsrNodeUuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR1+DSR".getBytes(Charset.forName("UTF-8")))
.toString());
- checkDsrNode(tapiNodes.get(0), dsrNodeUuid, false, "SPDR-SA1-XPDR1");
+ checkDsrNode(tapiNodes.get(0), dsrNodeUuid, "mux", "SPDR-SA1-XPDR1");
Uuid otsiNodeUuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR1+OTSi".getBytes(Charset.forName("UTF-8")))
.toString());
checkOtsiNode(tapiNodes.get(1), otsiNodeUuid, "mux", "SPDR-SA1-XPDR1");
Uuid dsrNodeUuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR2+DSR".getBytes(Charset.forName("UTF-8")))
.toString());
- checkDsrNode(tapiNodes.get(0), dsrNodeUuid, true, "SPDR-SA1-XPDR2");
+ checkDsrNode(tapiNodes.get(0), dsrNodeUuid, "switch", "SPDR-SA1-XPDR2");
Uuid otsiNodeUuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR2+OTSi".getBytes(Charset.forName("UTF-8")))
.toString());
checkOtsiNode(tapiNodes.get(1), otsiNodeUuid, "switch", "SPDR-SA1-XPDR2");
}
private void checkDsrNode(org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node node,
- Uuid nodeUuid, boolean isSwitch, String nodeId) {
+ Uuid nodeUuid, String dsrNodeType, String nodeId) {
assertEquals("incorrect node uuid", nodeUuid, node.getUuid());
assertEquals("incorrect node name", nodeId, node.getName().get(new NameKey("dsr/odu node name")).getValue());
assertEquals("administrative state should be UNLOCKED",
2, node.getLayerProtocolName().size());
assertThat("dsr node should manage 2 protocol layers : dsr and odu",
node.getLayerProtocolName(), hasItems(LayerProtocolName.DSR, LayerProtocolName.ODU));
- List<OwnedNodeEdgePoint> neps = node.nonnullOwnedNodeEdgePoint().values().stream()
+ List<OwnedNodeEdgePoint> nepsN = node.nonnullOwnedNodeEdgePoint().values().stream()
+ .filter(n -> n.getName().containsKey(new NameKey("NodeEdgePoint_N")))
.sorted((nep1, nep2) -> nep1.getUuid().getValue().compareTo(nep2.getUuid().getValue()))
.collect(Collectors.toList());
- if (isSwitch) {
- assertEquals("Switch-DSR node should have 8 NEPs", 8, neps.size());
- OwnedNodeEdgePoint nep1 = neps.get(3);
- Uuid client4NepUuid = new Uuid(
- UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR2-CLIENT4").getBytes(Charset.forName("UTF-8")))
- .toString());
- checkNepClient100G(nep1, client4NepUuid, "XPDR2-CLIENT4", "NodeEdgePoint_C4");
- OwnedNodeEdgePoint nep2 = neps.get(4);
- Uuid networkNepUuid = new Uuid(
- UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR2-NETWORK1").getBytes(Charset.forName("UTF-8")))
- .toString());
- checkNepNetworkODU4(nep2, networkNepUuid, "XPDR2-NETWORK1", "NodeEdgePoint_N1");
- List<NodeRuleGroup> nrgList = node.nonnullNodeRuleGroup().values().stream()
- .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue()))
- .collect(Collectors.toList());
- checkNodeRuleGroupForSwitchDSR(nrgList, client4NepUuid, networkNepUuid, nodeUuid);
- } else {
- assertEquals("Mux-DSR node should have 5 NEPs", 5, neps.size());
- OwnedNodeEdgePoint nep1 = neps.get(0);
- Uuid client4NepUuid = new Uuid(
- UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-CLIENT4").getBytes(Charset.forName("UTF-8")))
- .toString());
- checkNepClient10G(nep1, client4NepUuid, "XPDR1-CLIENT4", "NodeEdgePoint_C4");
-
- OwnedNodeEdgePoint nep2 = neps.get(1);
- Uuid networkNepUuid = new Uuid(
- UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8")))
- .toString());
- checkNepNetworkODU4(nep2, networkNepUuid, "XPDR1-NETWORK1", "NodeEdgePoint_N1");
- List<NodeRuleGroup> nrgList = node.nonnullNodeRuleGroup().values().stream()
- .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue()))
- .collect(Collectors.toList());
- checkNodeRuleGroupForMuxDSR(nrgList, client4NepUuid, networkNepUuid, nodeUuid);
+ List<OwnedNodeEdgePoint> nepsC;
+ switch (dsrNodeType) {
+ case "switch":
+ nepsC = node.nonnullOwnedNodeEdgePoint().values().stream()
+ .filter(n -> n.getName().containsKey(new NameKey("NodeEdgePoint_C")))
+ .sorted((nep1, nep2) -> nep1.getUuid().getValue().compareTo(nep2.getUuid().getValue()))
+ .collect(Collectors.toList());
+ assertEquals("Switch-DSR node should have 4 NEPs network", 4, nepsN.size());
+ assertEquals("Switch-DSR node should have 4 NEPs client", 4, nepsC.size());
+ OwnedNodeEdgePoint nep1 = nepsC.get(2);
+ Uuid client4NepUuid = new Uuid(
+ UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR2-CLIENT4").getBytes(Charset.forName("UTF-8")))
+ .toString());
+ checkNepClient100GSwitch(nep1, client4NepUuid, "XPDR2-CLIENT4", "NodeEdgePoint_C");
+ OwnedNodeEdgePoint nep2 = nepsN.get(1);
+ Uuid networkNepUuid = new Uuid(
+ UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR2-NETWORK1").getBytes(Charset.forName("UTF-8")))
+ .toString());
+ checkNepNetworkODU4(nep2, networkNepUuid, "XPDR2-NETWORK1", "NodeEdgePoint_N");
+ List<NodeRuleGroup> nrgList = node.nonnullNodeRuleGroup().values().stream()
+ .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue()))
+ .collect(Collectors.toList());
+ checkNodeRuleGroupForSwitchDSR(nrgList, client4NepUuid, networkNepUuid, nodeUuid);
+ break;
+ case "mux":
+ nepsC = node.nonnullOwnedNodeEdgePoint().values().stream()
+ .filter(n -> n.getName().containsKey(new NameKey("NodeEdgePoint_C")))
+ .sorted((nep3, nep4) -> nep3.getUuid().getValue().compareTo(nep4.getUuid().getValue()))
+ .collect(Collectors.toList());
+ assertEquals("Mux-DSR node should have 1 NEP network", 1, nepsN.size());
+ assertEquals("Mux-DSR node should have 4 NEPs client", 4, nepsC.size());
+ OwnedNodeEdgePoint nep3 = nepsC.get(2);
+ Uuid client3NepUuid = new Uuid(
+ UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-CLIENT3").getBytes(Charset.forName("UTF-8")))
+ .toString());
+ checkNepClient10G(nep3, client3NepUuid, "XPDR1-CLIENT3", "NodeEdgePoint_C");
+
+ OwnedNodeEdgePoint nep4 = nepsN.get(0);
+ Uuid networkNepUuid2 = new Uuid(
+ UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8")))
+ .toString());
+ checkNepNetworkODU4(nep4, networkNepUuid2, "XPDR1-NETWORK1", "NodeEdgePoint_N");
+ List<NodeRuleGroup> nrgList2 = node.nonnullNodeRuleGroup().values().stream()
+ .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue()))
+ .collect(Collectors.toList());
+ checkNodeRuleGroupForMuxDSR(nrgList2, client3NepUuid, networkNepUuid2, nodeUuid);
+ break;
+ case "tpdr":
+ nepsC = node.nonnullOwnedNodeEdgePoint().values().stream()
+ .filter(n -> n.getName().containsKey(new NameKey("100G-tpdr")))
+ .sorted((nep5, nep6) -> nep5.getUuid().getValue().compareTo(nep6.getUuid().getValue()))
+ .collect(Collectors.toList());
+ assertEquals("Tpdr-DSR node should have 2 NEPs network", 2, nepsN.size());
+ assertEquals("Tpdr-DSR node should have 2 NEPs client", 2, nepsC.size());
+ OwnedNodeEdgePoint nep5 = nepsC.get(0);
+ Uuid client1NepUuid = new Uuid(
+ UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-CLIENT1").getBytes(Charset.forName("UTF-8")))
+ .toString());
+ checkNepClient100GTpdr(nep5, client1NepUuid, "XPDR1-CLIENT1", "100G-tpdr");
+
+ OwnedNodeEdgePoint nep6 = nepsN.get(0);
+ Uuid networkNepUuid3 = new Uuid(
+ UUID.nameUUIDFromBytes((nodeId + "+DSR+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8")))
+ .toString());
+ checkNepNetworkODU4(nep6, networkNepUuid3, "XPDR1-NETWORK1", "NodeEdgePoint_N");
+ List<NodeRuleGroup> nrgList3 = node.nonnullNodeRuleGroup().values().stream()
+ .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue()))
+ .collect(Collectors.toList());
+ checkNodeRuleGroupForTpdrDSR(nrgList3, client1NepUuid, networkNepUuid3, nodeUuid);
+ break;
+ default:
+ fail();
+ break;
}
}
1, node.getLayerProtocolName().size());
assertEquals("otsi node should manage a single protocol layer : PHOTONIC_MEDIA",
LayerProtocolName.PHOTONICMEDIA, node.getLayerProtocolName().get(0));
- List<OwnedNodeEdgePoint> neps = node.nonnullOwnedNodeEdgePoint().values().stream()
+ List<OwnedNodeEdgePoint> nepsI = node.nonnullOwnedNodeEdgePoint().values().stream()
+ .filter(n -> n.getName().containsKey(new NameKey("iNodeEdgePoint")))
+ .sorted((nep1, nep2) -> nep1.getUuid().getValue().compareTo(nep2.getUuid().getValue()))
+ .collect(Collectors.toList());
+ List<OwnedNodeEdgePoint> nepsE = node.nonnullOwnedNodeEdgePoint().values().stream()
+ .filter(n -> n.getName().containsKey(new NameKey("eNodeEdgePoint")))
.sorted((nep1, nep2) -> nep1.getUuid().getValue().compareTo(nep2.getUuid().getValue()))
.collect(Collectors.toList());
switch (otsiNodeType) {
case "switch":
- assertEquals("Switch-OTSi node should have 8 NEPs", 8, neps.size());
- OwnedNodeEdgePoint nep1 = neps.get(2);
+ assertEquals("Switch-OTSi node should have 4 eNEPs", 4, nepsE.size());
+ assertEquals("Switch-OTSi node should have 4 iNEPs", 4, nepsI.size());
+ OwnedNodeEdgePoint nep1 = nepsI.get(1);
Uuid inepUuid = new Uuid(
UUID.nameUUIDFromBytes((nodeId + "+iOTSi+XPDR2-NETWORK2").getBytes(Charset.forName("UTF-8")))
.toString());
- checkNepOtsiNode(nep1, inepUuid, "XPDR2-NETWORK2", "iNodeEdgePoint_2");
- OwnedNodeEdgePoint nep2 = neps.get(0);
+ checkNepOtsiNode(nep1, inepUuid, "XPDR2-NETWORK2", "iNodeEdgePoint");
+ OwnedNodeEdgePoint nep2 = nepsE.get(0);
Uuid enepUuid = new Uuid(
UUID.nameUUIDFromBytes((nodeId + "+eOTSi+XPDR2-NETWORK2").getBytes(Charset.forName("UTF-8")))
.toString());
- checkNepOtsiNode(nep2, enepUuid, "XPDR2-NETWORK2", "eNodeEdgePoint_2");
+ checkNepOtsiNode(nep2, enepUuid, "XPDR2-NETWORK2", "eNodeEdgePoint");
List<NodeRuleGroup> nrgList = node.nonnullNodeRuleGroup().values().stream()
.sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue()))
.collect(Collectors.toList());
checkNodeRuleGroupForSwitchOTSi(nrgList, enepUuid, inepUuid, nodeUuid);
break;
case "mux":
- assertEquals("Mux-OTSi node should have 2 NEPs", 2, neps.size());
- OwnedNodeEdgePoint nep3 = neps.get(0);
+ assertEquals("Mux-OTSi node should have 1 eNEP", 1, nepsE.size());
+ assertEquals("Mux-OTSi node should have 1 iNEPs", 1, nepsI.size());
+ OwnedNodeEdgePoint nep3 = nepsE.get(0);
Uuid enepUuid2 = new Uuid(
UUID.nameUUIDFromBytes((nodeId + "+eOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8")))
.toString());
- checkNepOtsiNode(nep3, enepUuid2, "XPDR1-NETWORK1", "eNodeEdgePoint_1");
- OwnedNodeEdgePoint nep4 = neps.get(1);
+ checkNepOtsiNode(nep3, enepUuid2, "XPDR1-NETWORK1", "eNodeEdgePoint");
+ OwnedNodeEdgePoint nep4 = nepsI.get(0);
Uuid inepUuid2 = new Uuid(
UUID.nameUUIDFromBytes((nodeId + "+iOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8")))
.toString());
- checkNepOtsiNode(nep4, inepUuid2, "XPDR1-NETWORK1", "iNodeEdgePoint_1");
+ checkNepOtsiNode(nep4, inepUuid2, "XPDR1-NETWORK1", "iNodeEdgePoint");
List<NodeRuleGroup> nrgList2 = node.nonnullNodeRuleGroup().values().stream()
.sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue()))
.collect(Collectors.toList());
checkNodeRuleGroupForMuxOTSi(nrgList2, enepUuid2, inepUuid2, nodeUuid);
break;
+ case "tpdr":
+ assertEquals("Tpdr-OTSi node should have 2 eNEPs", 2, nepsE.size());
+ assertEquals("Tpdr-OTSi node should have 2 iNEPs", 2, nepsI.size());
+ OwnedNodeEdgePoint nep5 = nepsE.get(0);
+ Uuid enepUuid3 = new Uuid(
+ UUID.nameUUIDFromBytes((nodeId + "+eOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8")))
+ .toString());
+ checkNepOtsiNode(nep5, enepUuid3, "XPDR1-NETWORK1", "eNodeEdgePoint");
+ OwnedNodeEdgePoint nep6 = nepsI.get(0);
+ Uuid inepUuid3 = new Uuid(
+ UUID.nameUUIDFromBytes((nodeId + "+iOTSi+XPDR1-NETWORK1").getBytes(Charset.forName("UTF-8")))
+ .toString());
+ checkNepOtsiNode(nep6, inepUuid3, "XPDR1-NETWORK1", "iNodeEdgePoint");
+ List<NodeRuleGroup> nrgList3 = node.nonnullNodeRuleGroup().values().stream()
+ .sorted((nrg1, nrg2) -> nrg1.getUuid().getValue().compareTo(nrg2.getUuid().getValue()))
+ .collect(Collectors.toList());
+ checkNodeRuleGroupForTpdrOTSi(nrgList3, enepUuid3, inepUuid3, nodeUuid);
+ break;
default:
Iterator<OwnedNodeEdgePoint> nepIterator = node.nonnullOwnedNodeEdgePoint().values().iterator();
int count = 1;
checkCommonPartOfNep(nep, false);
}
+ private void checkNodeRuleGroupForTpdrDSR(List<NodeRuleGroup> nrgList, Uuid clientNepUuid, Uuid networkNepUuid,
+ Uuid nodeUuid) {
+ assertEquals("transponder DSR should contain 2 node rule group", 2, nrgList.size());
+ for (NodeRuleGroup nodeRuleGroup : nrgList) {
+ assertEquals("each node-rule-group should contain 2 NEP for transponder DSR",
+ 2, nodeRuleGroup.getNodeEdgePoint().size());
+ }
+ List<NodeEdgePoint> nodeEdgePointList = new ArrayList<>(nrgList.get(0).nonnullNodeEdgePoint().values());
+ assertThat("node-rule-group nb 1 should be between nep-client1 and nep-network1",
+ nodeEdgePointList.get(0).getNodeEdgePointUuid().getValue(),
+ either(containsString(networkNepUuid.getValue())).or(containsString(clientNepUuid.getValue())));
+ assertThat("node-rule-group nb 1 should be between nep-client1 and nep-network1",
+ nodeEdgePointList.get(1).getNodeEdgePointUuid().getValue(),
+ either(containsString(networkNepUuid.getValue())).or(containsString(clientNepUuid.getValue())));
+ assertEquals("node-rule-group nb 1 should be between nep-client1 and nep-network1 of the same node",
+ nodeEdgePointList.get(0).getNodeUuid(), nodeUuid);
+ assertEquals("node-rule-group nb 1 should be between nep-client1 and nep-network1 of the same node",
+ nodeEdgePointList.get(1).getNodeUuid(), nodeUuid);
+ List<Rule> rule = new ArrayList<>(nrgList.get(1).nonnullRule().values());
+ assertEquals("node-rule-group nb 1 should contain a single rule", 1, rule.size());
+ assertEquals("local-id of the rule should be 'forward'",
+ "forward", rule.get(0).getLocalId());
+ assertEquals("the forwarding rule should be 'MAYFORWARDACROSSGROUP'",
+ ForwardingRule.MAYFORWARDACROSSGROUP, rule.get(0).getForwardingRule());
+ assertEquals("the rule type should be 'FORWARDING'",
+ RuleType.FORWARDING, rule.get(0).getRuleType());
+ }
+
private void checkNodeRuleGroupForMuxDSR(List<NodeRuleGroup> nrgList, Uuid clientNepUuid, Uuid networkNepUuid,
Uuid nodeUuid) {
assertEquals("muxponder DSR should contain 4 node rule group", 4, nrgList.size());
}
List<NodeEdgePoint> nodeEdgePointList = new ArrayList<>(nrgList.get(0).nonnullNodeEdgePoint().values());
assertThat("node-rule-group nb 2 should be between nep-client4 and nep-network1",
- nodeEdgePointList.get(0).getNodeEdgePointUuid().getValue(),
+ nodeEdgePointList.get(1).getNodeEdgePointUuid().getValue(),
either(containsString(networkNepUuid.getValue())).or(containsString(clientNepUuid.getValue())));
assertThat("node-rule-group nb 2 should be between nep-client4 and nep-network1",
nodeEdgePointList.get(1).getNodeEdgePointUuid().getValue(),
RuleType.FORWARDING, ruleList.get(0).getRuleType());
}
+ private void checkNodeRuleGroupForTpdrOTSi(List<NodeRuleGroup> nrgList, Uuid enepUuid, Uuid inepUuid,
+ Uuid nodeUuid) {
+ assertEquals("Tpdr-OTSi should contain two node rule groups", 2, nrgList.size());
+ List<NodeEdgePoint> nodeEdgePointList = new ArrayList<>(nrgList.get(0).getNodeEdgePoint().values());
+ assertEquals("Tpdr-OTSi node-rule-group should contain 2 NEP", 2, nodeEdgePointList.size());
+ assertThat("Tpdr-OTSi node-rule-group should be between eNEP and iNEP of XPDR1-NETWORK1",
+ nodeEdgePointList.get(0).getNodeEdgePointUuid().getValue(),
+ either(containsString(enepUuid.getValue())).or(containsString(inepUuid.getValue())));
+ assertThat("Tpdr-OTSi node-rule-group should be between eNEP and iNEP of XPDR1-NETWORK1",
+ nodeEdgePointList.get(1).getNodeEdgePointUuid().getValue(),
+ either(containsString(enepUuid.getValue())).or(containsString(inepUuid.getValue())));
+ assertEquals("any item of the node-rule-group should have the same nodeUuid",
+ nodeUuid, nodeEdgePointList.get(0).getNodeUuid());
+ assertEquals("any item of the node-rule-group should have the same nodeUuid",
+ nodeUuid, nodeEdgePointList.get(1).getNodeUuid());
+ List<Rule> ruleList = new ArrayList<>(nrgList.get(0).nonnullRule().values());
+ assertEquals("node-rule-group should contain a single rule", 1, ruleList.size());
+ assertEquals("local-id of the rule should be 'forward'",
+ "forward", ruleList.get(0).getLocalId());
+ assertEquals("the forwarding rule should be 'MAYFORWARDACROSSGROUP'",
+ ForwardingRule.MAYFORWARDACROSSGROUP, ruleList.get(0).getForwardingRule());
+ assertEquals("the rule type should be 'FORWARDING'",
+ RuleType.FORWARDING, ruleList.get(0).getRuleType());
+ }
+
private void checkNodeRuleGroupForMuxOTSi(List<NodeRuleGroup> nrgList, Uuid enepUuid, Uuid inepUuid,
Uuid nodeUuid) {
assertEquals("Mux-OTSi should contain a single node rule group", 1, nrgList.size());
RuleType.FORWARDING, ruleList0.get(0).getRuleType());
}
- private void checkNepClient100G(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName) {
+ private void checkNepClient100GSwitch(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName) {
assertEquals("bad uuid for " + portName, nepUuid, nep.getUuid());
List<Name> nameList = new ArrayList<>(nep.nonnullName().values());
assertEquals("value of client nep should be '" + portName + "'",
checkCommonPartOfNep(nep, false);
}
+ private void checkNepClient100GTpdr(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName) {
+ assertEquals("bad uuid for " + portName, nepUuid, nep.getUuid());
+ List<Name> nameList = new ArrayList<>(nep.nonnullName().values());
+ assertEquals("value of client nep should be '" + portName + "'",
+ portName, nameList.get(0).getValue());
+ assertEquals("value-name of client nep for '" + portName + "' should be 100G-tpdr'",
+ nepName, nameList.get(0).getValueName());
+ assertEquals("Client nep should support 1 kind of cep",
+ 1, nep.getSupportedCepLayerProtocolQualifier().size());
+ assertThat("client nep should support 2 kind of cep",
+ nep.getSupportedCepLayerProtocolQualifier(),
+ hasItems(DIGITALSIGNALTYPE100GigE.class));
+ assertEquals("client nep should be of ETH protocol type", LayerProtocolName.ETH, nep.getLayerProtocolName());
+ checkCommonPartOfNep(nep, false);
+ }
+
private void checkNepOtsiNode(OwnedNodeEdgePoint nep, Uuid nepUuid, String portName, String nepName) {
assertEquals("bad uuid for " + portName, nepUuid, nep.getUuid());
List<Name> nameList = new ArrayList<>(nep.nonnullName().values());
--- /dev/null
+/*
+ * Copyright © 2019 Orange, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.transportpce.tapi.topology;
+
+import static org.junit.Assert.assertNull;
+import static org.mockito.Mockito.when;
+
+import com.google.common.util.concurrent.FluentFuture;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+import java.util.Optional;
+import java.util.concurrent.ExecutionException;
+import org.eclipse.jdt.annotation.NonNull;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.transportpce.common.NetworkUtils;
+import org.opendaylight.transportpce.tapi.utils.TopologyDataUtils;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.GetTopologyDetailsInput;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.GetTopologyDetailsOutput;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.get.topology.details.output.Topology;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.common.RpcResult;
+
+public class TapiTopologyImplExceptionTest {
+
+ @Test
+ public void getTopologyDetailsWithExceptionTest() throws InterruptedException, ExecutionException {
+ DataBroker dataBroker = Mockito.mock(DataBroker.class);
+ when(dataBroker.newReadOnlyTransaction())
+ .thenReturn(new ReadTransactionMock());
+
+ GetTopologyDetailsInput input = TopologyDataUtils.buildGetTopologyDetailsInput(NetworkUtils.OTN_NETWORK_ID);
+ TapiTopologyImpl tapiTopoImpl = new TapiTopologyImpl(dataBroker);
+ ListenableFuture<RpcResult<GetTopologyDetailsOutput>> result = tapiTopoImpl.getTopologyDetails(input);
+ RpcResult<GetTopologyDetailsOutput> rpcResult = result.get();
+ Topology topology = rpcResult.getResult().getTopology();
+ assertNull("Topology should be null", topology);
+ }
+
+ private class ReadTransactionMock implements ReadTransaction {
+
+ @Override
+ public @NonNull Object getIdentifier() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public <T extends DataObject> @NonNull FluentFuture<Optional<T>> read(@NonNull LogicalDatastoreType store,
+ @NonNull InstanceIdentifier<T> path) {
+ return FluentFuture.from(Futures.immediateFailedFuture(new InterruptedException()));
+ }
+
+ @Override
+ public @NonNull FluentFuture<Boolean> exists(@NonNull LogicalDatastoreType store,
+ @NonNull InstanceIdentifier<?> path) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void close() {
+ // TODO Auto-generated method stub
+ }
+ }
+
+}
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListeningExecutorService;
TopologyDataUtils.writeTopologyFromFileToDatastore(getDataStoreContextUtil(),
TopologyDataUtils.OPENROADM_TOPOLOGY_FILE, InstanceIdentifiers.OVERLAY_NETWORK_II);
TopologyDataUtils.writeTopologyFromFileToDatastore(getDataStoreContextUtil(),
- TopologyDataUtils.OTN_TOPOLOGY_WITH_OTN_LINKS_FILE, InstanceIdentifiers.OTN_NETWORK_II);
+ TopologyDataUtils.OTN_TOPOLOGY_FILE, InstanceIdentifiers.OTN_NETWORK_II);
TopologyDataUtils.writePortmappingFromFileToDatastore(getDataStoreContextUtil());
LOG.info("setup done");
}
Uuid nodeUuid = new Uuid(UUID.nameUUIDFromBytes("TAPI Ethernet Node".getBytes()).toString());
assertEquals("incorrect topology uuid", topoUuid, topology.getUuid());
assertEquals("incorrect node uuid", nodeUuid, topologyNodeList.get(0).getUuid());
- assertNull("TAPI Ethernet Node should have no nep", topologyNodeList.get(0).getOwnedNodeEdgePoint());
+ assertEquals("TAPI Ethernet Node should have 2 neps",
+ 2, topologyNodeList.get(0).getOwnedNodeEdgePoint().size());
}
-
@Test
public void getTopologyDetailsForOtnTopologyWithOtnLinksWhenSuccessful()
throws ExecutionException, InterruptedException {
@Nullable
Topology topology = rpcResult.getResult().getTopology();
assertNotNull("Topology should not be null", topology);
- assertEquals("Node list size should be 9", 9, topology.getNode().size());
- assertEquals("Link list size should be 14", 14, topology.getLink().size());
+ assertEquals("Node list size should be 13", 13, topology.getNode().size());
+ long nb1 = topology.getNode().values().stream()
+ .filter(node -> node.getLayerProtocolName().contains(LayerProtocolName.DSR))
+ .filter(node -> node.getName().values().stream().findFirst().get().getValue().equals("XPDR-A1-XPDR1"))
+ .flatMap(node -> node.getOwnedNodeEdgePoint().values().stream()
+ .filter(nep -> nep.getName().containsKey(new NameKey("100G-tpdr"))))
+ .count();
+ assertEquals("XPDR-A1-XPDR1 should only have one client nep", 1, nb1);
+ long nb2 = topology.getNode().values().stream()
+ .filter(node -> node.getLayerProtocolName().contains(LayerProtocolName.DSR))
+ .filter(node -> node.getName().values().stream().findFirst().get().getValue().equals("SPDR-SA1-XPDR1"))
+ .flatMap(node -> node.getOwnedNodeEdgePoint().values().stream()
+ .filter(nep -> nep.getName().containsKey(new NameKey("NodeEdgePoint_C"))))
+ .count();
+ assertEquals("SPDR-SA1-XPDR1 (mux) should have 4 client neps", 4, nb2);
+ long nb3 = topology.getNode().values().stream()
+ .filter(node -> node.getLayerProtocolName().contains(LayerProtocolName.DSR))
+ .filter(node -> node.getName().values().stream().findFirst().get().getValue().equals("SPDR-SA1-XPDR1"))
+ .flatMap(node -> node.getOwnedNodeEdgePoint().values().stream()
+ .filter(nep -> nep.getName().containsKey(new NameKey("NodeEdgePoint_N"))))
+ .count();
+ assertEquals("SPDR-SA1-XPDR1 (mux) should have a single network nep", 1, nb3);
+ long nb4 = topology.getNode().values().stream()
+ .filter(node -> node.getLayerProtocolName().contains(LayerProtocolName.DSR))
+ .filter(node -> node.getName().values().stream().findFirst().get().getValue().equals("SPDR-SA1-XPDR2"))
+ .flatMap(node -> node.getOwnedNodeEdgePoint().values().stream()
+ .filter(nep -> nep.getName().containsKey(new NameKey("NodeEdgePoint_C"))))
+ .count();
+ assertEquals("SPDR-SA1-XPDR2 (switch) should have 4 client neps", 4, nb4);
+ long nb5 = topology.getNode().values().stream()
+ .filter(node -> node.getLayerProtocolName().contains(LayerProtocolName.DSR))
+ .filter(node -> node.getName().values().stream().findFirst().get().getValue().equals("SPDR-SA1-XPDR2"))
+ .flatMap(node -> node.getOwnedNodeEdgePoint().values().stream()
+ .filter(nep -> nep.getName().containsKey(new NameKey("NodeEdgePoint_N"))))
+ .count();
+ assertEquals("SPDR-SA1-XPDR2 (switch) should have 2 network neps", 2, nb5);
+ assertEquals("Link list size should be 18", 18, topology.getLink().size());
Uuid topoUuid = new Uuid(UUID.nameUUIDFromBytes("T0 - Multi-layer topology".getBytes()).toString());
assertEquals("incorrect topology uuid", topoUuid, topology.getUuid());
assertEquals("topology name should be T0 - Multi-layer topology",
.filter(n -> n.getName().containsKey(new NameKey("dsr/odu node name"))).count();
long nbPhotonicNodes = topology.nonnullNode().values().stream()
.filter(n -> n.getName().containsKey(new NameKey("otsi node name"))).count();
- assertEquals("Node list should contain 4 DSR-ODU nodes", 4, nbDsrOduNodes);
- assertEquals("Node list should contain 5 Photonics nodes", 5, nbPhotonicNodes);
+ assertEquals("Node list should contain 6 DSR-ODU nodes", 6, nbDsrOduNodes);
+ assertEquals("Node list should contain 7 Photonics nodes", 7, nbPhotonicNodes);
long nbTransititionalLinks = topology.getLink().values().stream()
.filter(l -> l.getName().containsKey(new NameKey("transitional link name"))).count();
long nbOmsLinks = topology.getLink().values().stream()
.filter(l -> l.getName().containsKey(new NameKey("OMS link name"))).count();
long nbOtnLinks = topology.getLink().values().stream()
.filter(l -> l.getName().containsKey(new NameKey("otn link name"))).count();
- assertEquals("Link list should contain 6 transitional links", 6, nbTransititionalLinks);
- assertEquals("Link list should contain 6 transitional links", 6, nbOmsLinks);
+ assertEquals("Link list should contain 8 transitional links", 8, nbTransititionalLinks);
+ assertEquals("Link list should contain 8 transitional links", 8, nbOmsLinks);
assertEquals("Link list should contain 2 OTN links", 2, nbOtnLinks);
Uuid node1Uuid = new Uuid(UUID.nameUUIDFromBytes("SPDR-SA1-XPDR1+DSR".getBytes(Charset.forName("UTF-8")))
.getBytes(Charset.forName("UTF-8"))).toString());
List<Link> links = topology.nonnullLink().values().stream()
+ .filter(l -> l.getName().containsKey(new NameKey("otn link name")))
.sorted((l1, l2) -> l1.getUuid().getValue().compareTo(l2.getUuid().getValue()))
.collect(Collectors.toList());
- checkOtnLink(links.get(4), topoUuid, node1Uuid, node2Uuid, tp1Uuid, tp2Uuid, link1Uuid,
+ checkOtnLink(links.get(0), topoUuid, node1Uuid, node2Uuid, tp1Uuid, tp2Uuid, link1Uuid,
"ODU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1");
- checkOtnLink(links.get(11), topoUuid, node3Uuid, node4Uuid, tp3Uuid, tp4Uuid, link2Uuid,
+ checkOtnLink(links.get(1), topoUuid, node3Uuid, node4Uuid, tp3Uuid, tp4Uuid, link2Uuid,
"OTU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1");
}
public final class TopologyDataUtils {
private static final Logger LOG = LoggerFactory.getLogger(TopologyDataUtils.class);
- public static final String OPENROADM_TOPOLOGY_FILE = "src/test/resources/get_openroadm-topology2.xml";
- public static final String OTN_TOPOLOGY_WITH_OTN_LINKS_FILE = "src/test/resources/otn-topology-with-otn-links.xml";
- public static final String PORTMAPPING_FILE = "src/test/resources/get_portmapping.xml";
+ public static final String OPENROADM_TOPOLOGY_FILE = "src/test/resources/openroadm-topology.xml";
+ public static final String OTN_TOPOLOGY_FILE = "src/test/resources/otn-topology.xml";
+ public static final String PORTMAPPING_FILE = "src/test/resources/portmapping.xml";
public static GetTopologyDetailsInput buildGetTopologyDetailsInput(String topoName) {
GetTopologyDetailsInputBuilder builtInput = new GetTopologyDetailsInputBuilder();
<network>
<network-id>openroadm-topology</network-id>
<network-types>
- <openroadm-common-network xmlns="http://org/openroadm/common/network" />
+ <openroadm-common-network
+ xmlns="http://org/openroadm/common/network" />
</network-types>
<node>
<node-id>ROADM-A1-SRG3</node-id>
- <srg-attributes xmlns="http://org/openroadm/network/topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG3-PP3-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG3-PP2-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG3-CP-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-CP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG3-PP1-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG3-PP4-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ </termination-point>
+ <srg-attributes
+ xmlns="http://org/openroadm/network/topology">
<available-wavelengths>
<index>95</index>
</available-wavelengths>
<index>16</index>
</available-wavelengths>
</srg-attributes>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG3-PP3-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG3-PP2-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ <supporting-node>
+ <network-ref>clli-network</network-ref>
+ <node-ref>NodeA</node-ref>
+ </supporting-node>
+ <supporting-node>
+ <network-ref>openroadm-network</network-ref>
+ <node-ref>ROADM-A1</node-ref>
+ </supporting-node>
+ <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
+ </node>
+ <node>
+ <node-id>XPDR-C1-XPDR1</node-id>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-CLIENT1</tp-id>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-NETWORK1</associated-connection-map-port>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG3-CP-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-CP</tp-type>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-CLIENT2</tp-id>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-NETWORK2</associated-connection-map-port>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG3-PP1-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-NETWORK2</tp-id>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-CLIENT2</associated-connection-map-port>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG3-PP4-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-NETWORK1</tp-id>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-CLIENT1</associated-connection-map-port>
+ <xpdr-network-attributes
+ xmlns="http://org/openroadm/network/topology">
+ <tail-equipment-id>ROADM-C1-SRG1--SRG1-PP1-TXRX
+ </tail-equipment-id>
+ </xpdr-network-attributes>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
<supporting-node>
<network-ref>clli-network</network-ref>
- <node-ref>NodeA</node-ref>
+ <node-ref>NodeC</node-ref>
</supporting-node>
<supporting-node>
<network-ref>openroadm-network</network-ref>
- <node-ref>ROADM-A1</node-ref>
+ <node-ref>XPDR-C1</node-ref>
</supporting-node>
- <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
+ <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
</node>
<node>
- <node-id>ROADM-C1-SRG1</node-id>
- <srg-attributes xmlns="http://org/openroadm/network/topology">
+ <node-id>ROADM-A1-SRG1</node-id>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG1-PP4-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG1-PP1-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG1-PP2-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG1-PP3-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG1-CP-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-CP</tp-type>
+ </termination-point>
+ <srg-attributes
+ xmlns="http://org/openroadm/network/topology">
<available-wavelengths>
<index>95</index>
</available-wavelengths>
<index>16</index>
</available-wavelengths>
</srg-attributes>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG1-PP4-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG1-PP1-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG1-PP2-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG1-PP3-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG1-CP-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-CP</tp-type>
- </termination-point>
<supporting-node>
<network-ref>clli-network</network-ref>
- <node-ref>NodeC</node-ref>
+ <node-ref>NodeA</node-ref>
</supporting-node>
<supporting-node>
<network-ref>openroadm-network</network-ref>
- <node-ref>ROADM-C1</node-ref>
+ <node-ref>ROADM-A1</node-ref>
</supporting-node>
<node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
</node>
<node>
- <node-id>ROADM-A1-SRG1</node-id>
- <srg-attributes xmlns="http://org/openroadm/network/topology">
+ <node-id>ROADM-A1-DEG1</node-id>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>DEG1-CTP-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-CTP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>DEG1-TTP-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-TTP</tp-type>
+ </termination-point>
+ <degree-attributes
+ xmlns="http://org/openroadm/network/topology">
+ <degree-number>1</degree-number>
<available-wavelengths>
<index>95</index>
</available-wavelengths>
<available-wavelengths>
<index>16</index>
</available-wavelengths>
- </srg-attributes>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG1-PP4-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG1-PP1-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG1-PP2-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG1-PP3-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>SRG1-CP-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-CP</tp-type>
- </termination-point>
+ </degree-attributes>
<supporting-node>
<network-ref>clli-network</network-ref>
<node-ref>NodeA</node-ref>
<network-ref>openroadm-network</network-ref>
<node-ref>ROADM-A1</node-ref>
</supporting-node>
- <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
+ <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
</node>
<node>
- <node-id>SPDR-SA1-XPDR1</node-id>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>XPDR1-NETWORK1</tp-id>
+ <node-id>XPDR-A1-XPDR1</node-id>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-CLIENT1</tp-id>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-NETWORK1</associated-connection-map-port>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-CLIENT2</tp-id>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-NETWORK2</associated-connection-map-port>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-NETWORK2</tp-id>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-CLIENT2</associated-connection-map-port>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-NETWORK1</tp-id>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-CLIENT1</associated-connection-map-port>
<xpdr-network-attributes
xmlns="http://org/openroadm/network/topology">
- <tail-equipment-id>ROADM-A1-SRG1--SRG1-PP2-TXRX
+ <tail-equipment-id>ROADM-A1-SRG1--SRG1-PP1-TXRX
</tail-equipment-id>
</xpdr-network-attributes>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
<supporting-node>
<network-ref>openroadm-network</network-ref>
- <node-ref>SPDR-SA1</node-ref>
+ <node-ref>XPDR-A1</node-ref>
</supporting-node>
<supporting-node>
<network-ref>clli-network</network-ref>
- <node-ref>NodeSA</node-ref>
+ <node-ref>NodeA</node-ref>
</supporting-node>
<node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
</node>
<node>
- <node-id>ROADM-A1-DEG1</node-id>
- <degree-attributes xmlns="http://org/openroadm/network/topology">
- <degree-number>1</degree-number>
+ <node-id>ROADM-A1-DEG2</node-id>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>DEG2-TTP-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-TTP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>DEG2-CTP-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-CTP</tp-type>
+ </termination-point>
+ <degree-attributes
+ xmlns="http://org/openroadm/network/topology">
+ <degree-number>2</degree-number>
<available-wavelengths>
<index>95</index>
</available-wavelengths>
<index>16</index>
</available-wavelengths>
</degree-attributes>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>DEG1-CTP-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-CTP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>DEG1-TTP-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-TTP</tp-type>
- </termination-point>
<supporting-node>
<network-ref>clli-network</network-ref>
<node-ref>NodeA</node-ref>
<node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
</node>
<node>
- <node-id>ROADM-A1-DEG2</node-id>
- <degree-attributes xmlns="http://org/openroadm/network/topology">
- <degree-number>2</degree-number>
+ <node-id>ROADM-C1-SRG1</node-id>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG1-PP4-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG1-PP1-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG1-PP2-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG1-PP3-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-PP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>SRG1-CP-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">SRG-TXRX-CP</tp-type>
+ </termination-point>
+ <srg-attributes
+ xmlns="http://org/openroadm/network/topology">
<available-wavelengths>
<index>95</index>
</available-wavelengths>
<available-wavelengths>
<index>16</index>
</available-wavelengths>
- </degree-attributes>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>DEG2-TTP-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-TTP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>DEG2-CTP-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-CTP</tp-type>
- </termination-point>
+ </srg-attributes>
<supporting-node>
<network-ref>clli-network</network-ref>
- <node-ref>NodeA</node-ref>
+ <node-ref>NodeC</node-ref>
</supporting-node>
<supporting-node>
<network-ref>openroadm-network</network-ref>
- <node-ref>ROADM-A1</node-ref>
+ <node-ref>ROADM-C1</node-ref>
</supporting-node>
- <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
+ <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
</node>
<node>
- <node-id>SPDR-SC1-XPDR1</node-id>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <node-id>SPDR-SA1-XPDR1</node-id>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR1-NETWORK1</tp-id>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
<xpdr-network-attributes
xmlns="http://org/openroadm/network/topology">
- <tail-equipment-id>ROADM-C1-SRG1--SRG1-PP2-TXRX
+ <tail-equipment-id>ROADM-A1-SRG1--SRG1-PP2-TXRX
</tail-equipment-id>
</xpdr-network-attributes>
</termination-point>
<supporting-node>
<network-ref>openroadm-network</network-ref>
- <node-ref>SPDR-SC1</node-ref>
+ <node-ref>SPDR-SA1</node-ref>
</supporting-node>
<supporting-node>
<network-ref>clli-network</network-ref>
- <node-ref>NodeSC</node-ref>
+ <node-ref>NodeSA</node-ref>
</supporting-node>
<node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
</node>
<node>
<node-id>ROADM-C1-DEG1</node-id>
- <degree-attributes xmlns="http://org/openroadm/network/topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>DEG1-CTP-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-CTP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>DEG1-TTP-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-TTP</tp-type>
+ </termination-point>
+ <degree-attributes
+ xmlns="http://org/openroadm/network/topology">
<degree-number>1</degree-number>
<available-wavelengths>
<index>95</index>
<index>16</index>
</available-wavelengths>
</degree-attributes>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>DEG1-CTP-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-CTP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>DEG1-TTP-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-TTP</tp-type>
- </termination-point>
<supporting-node>
<network-ref>clli-network</network-ref>
<node-ref>NodeC</node-ref>
</supporting-node>
<node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
</node>
+ <node>
+ <node-id>SPDR-SC1-XPDR1</node-id>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-NETWORK1</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+ <xpdr-network-attributes
+ xmlns="http://org/openroadm/network/topology">
+ <tail-equipment-id>ROADM-C1-SRG1--SRG1-PP2-TXRX
+ </tail-equipment-id>
+ </xpdr-network-attributes>
+ </termination-point>
+ <supporting-node>
+ <network-ref>openroadm-network</network-ref>
+ <node-ref>SPDR-SC1</node-ref>
+ </supporting-node>
+ <supporting-node>
+ <network-ref>clli-network</network-ref>
+ <node-ref>NodeSC</node-ref>
+ </supporting-node>
+ <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
+ </node>
<node>
<node-id>ROADM-C1-DEG2</node-id>
- <degree-attributes xmlns="http://org/openroadm/network/topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>DEG2-TTP-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-TTP</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>DEG2-CTP-TXRX</tp-id>
+ <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-CTP</tp-type>
+ </termination-point>
+ <degree-attributes
+ xmlns="http://org/openroadm/network/topology">
<degree-number>2</degree-number>
<available-wavelengths>
<index>95</index>
<index>16</index>
</available-wavelengths>
</degree-attributes>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>DEG2-TTP-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-TTP</tp-type>
- </termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <tp-id>DEG2-CTP-TXRX</tp-id>
- <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TXRX-CTP</tp-type>
- </termination-point>
<supporting-node>
<network-ref>clli-network</network-ref>
<node-ref>NodeC</node-ref>
</node>
<node>
<node-id>SPDR-SA1-XPDR2</node-id>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK1</tp-id>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK3</tp-id>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
<xpdr-network-attributes
</tail-equipment-id>
</xpdr-network-attributes>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK2</tp-id>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
<xpdr-network-attributes
</tail-equipment-id>
</xpdr-network-attributes>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK4</tp-id>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
</node>
<node>
<node-id>SPDR-SC1-XPDR2</node-id>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK1</tp-id>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK3</tp-id>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
<xpdr-network-attributes
</tail-equipment-id>
</xpdr-network-attributes>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK2</tp-id>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
<xpdr-network-attributes
</tail-equipment-id>
</xpdr-network-attributes>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK4</tp-id>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
<dest-tp>XPDR1-NETWORK1</dest-tp>
<dest-node>SPDR-SC1-XPDR1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">SPDR-SC1-XPDR1-XPDR1-NETWORK1toROADM-C1-SRG1-SRG1-PP2-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">SPDR-SC1-XPDR1-XPDR1-NETWORK1toROADM-C1-SRG1-SRG1-PP2-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">XPONDER-INPUT</link-type>
</link>
<source-node>ROADM-A1-DEG2</source-node>
<source-tp>DEG2-TTP-TXRX</source-tp>
</source>
- <OMS-attributes xmlns="http://org/openroadm/network/topology">
+ <OMS-attributes
+ xmlns="http://org/openroadm/network/topology">
<opposite-link>ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX
</opposite-link>
</OMS-attributes>
<dest-tp>DEG1-TTP-TXRX</dest-tp>
<dest-node>ROADM-C1-DEG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
</link>
+ <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <link-id>XPDR-C1-XPDR1-XPDR1-NETWORK1toROADM-C1-SRG1-SRG1-PP1-TXRX
+ </link-id>
+ <source>
+ <source-node>XPDR-C1-XPDR1</source-node>
+ <source-tp>XPDR1-NETWORK1</source-tp>
+ </source>
+ <destination>
+ <dest-tp>SRG1-PP1-TXRX</dest-tp>
+ <dest-node>ROADM-C1-SRG1</dest-node>
+ </destination>
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-C1-SRG1-SRG1-PP1-TXRXtoXPDR-C1-XPDR1-XPDR1-NETWORK1
+ </opposite-link>
+ <link-type xmlns="http://org/openroadm/common/network">XPONDER-OUTPUT</link-type>
+ </link>
<link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<link-id>ROADM-C1-SRG1-SRG1-PP3-TXRXtoSPDR-SC1-XPDR2-XPDR2-NETWORK2
</link-id>
<dest-tp>XPDR2-NETWORK2</dest-tp>
<dest-node>SPDR-SC1-XPDR2</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">SPDR-SC1-XPDR2-XPDR2-NETWORK2toROADM-C1-SRG1-SRG1-PP3-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">SPDR-SC1-XPDR2-XPDR2-NETWORK2toROADM-C1-SRG1-SRG1-PP3-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">XPONDER-INPUT</link-type>
</link>
<dest-tp>XPDR2-NETWORK3</dest-tp>
<dest-node>SPDR-SA1-XPDR2</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">SPDR-SA1-XPDR2-XPDR2-NETWORK3toROADM-A1-SRG1-SRG1-PP4-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">SPDR-SA1-XPDR2-XPDR2-NETWORK3toROADM-A1-SRG1-SRG1-PP4-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">XPONDER-INPUT</link-type>
</link>
<dest-tp>SRG1-CP-TXRX</dest-tp>
<dest-node>ROADM-C1-SRG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-C1-SRG1-SRG1-CP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-C1-SRG1-SRG1-CP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">DROP-LINK</link-type>
</link>
<dest-tp>SRG1-PP4-TXRX</dest-tp>
<dest-node>ROADM-A1-SRG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-SRG1-SRG1-PP4-TXRXtoSPDR-SA1-XPDR2-XPDR2-NETWORK3
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-SRG1-SRG1-PP4-TXRXtoSPDR-SA1-XPDR2-XPDR2-NETWORK3
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">XPONDER-OUTPUT</link-type>
</link>
<dest-tp>SRG1-PP2-TXRX</dest-tp>
<dest-node>ROADM-C1-SRG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-C1-SRG1-SRG1-PP2-TXRXtoSPDR-SC1-XPDR1-XPDR1-NETWORK1
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-C1-SRG1-SRG1-PP2-TXRXtoSPDR-SC1-XPDR1-XPDR1-NETWORK1
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">XPONDER-OUTPUT</link-type>
</link>
<dest-tp>DEG1-CTP-TXRX</dest-tp>
<dest-node>ROADM-A1-DEG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">ADD-LINK</link-type>
</link>
<dest-tp>SRG1-PP3-TXRX</dest-tp>
<dest-node>ROADM-C1-SRG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-C1-SRG1-SRG1-PP3-TXRXtoSPDR-SC1-XPDR2-XPDR2-NETWORK2
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-C1-SRG1-SRG1-PP3-TXRXtoSPDR-SC1-XPDR2-XPDR2-NETWORK2
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">XPONDER-OUTPUT</link-type>
</link>
<dest-tp>DEG2-CTP-TXRX</dest-tp>
<dest-node>ROADM-A1-DEG2</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">ADD-LINK</link-type>
</link>
<dest-tp>XPDR2-NETWORK3</dest-tp>
<dest-node>SPDR-SC1-XPDR2</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">SPDR-SC1-XPDR2-XPDR2-NETWORK3toROADM-C1-SRG1-SRG1-PP4-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">SPDR-SC1-XPDR2-XPDR2-NETWORK3toROADM-C1-SRG1-SRG1-PP4-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">XPONDER-INPUT</link-type>
</link>
<dest-tp>SRG3-CP-TXRX</dest-tp>
<dest-node>ROADM-A1-SRG3</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">DROP-LINK</link-type>
</link>
<link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <link-id>SPDR-SA1-XPDR1-XPDR1-NETWORK1toROADM-A1-SRG1-SRG1-PP2-TXRX
+ <link-id>ROADM-A1-SRG1-SRG1-PP1-TXRXtoXPDR-A1-XPDR1-XPDR1-NETWORK1
</link-id>
<source>
- <source-node>SPDR-SA1-XPDR1</source-node>
- <source-tp>XPDR1-NETWORK1</source-tp>
+ <source-node>ROADM-A1-SRG1</source-node>
+ <source-tp>SRG1-PP1-TXRX</source-tp>
</source>
<destination>
- <dest-tp>SRG1-PP2-TXRX</dest-tp>
- <dest-node>ROADM-A1-SRG1</dest-node>
+ <dest-tp>XPDR1-NETWORK1</dest-tp>
+ <dest-node>XPDR-A1-XPDR1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-SRG1-SRG1-PP2-TXRXtoSPDR-SA1-XPDR1-XPDR1-NETWORK1
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">XPDR-A1-XPDR1-XPDR1-NETWORK1toROADM-A1-SRG1-SRG1-PP1-TXRX
</opposite-link>
- <link-type xmlns="http://org/openroadm/common/network">XPONDER-OUTPUT</link-type>
+ <link-type xmlns="http://org/openroadm/common/network">XPONDER-INPUT</link-type>
</link>
<link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <link-id>ROADM-A1-SRG1-SRG1-PP2-TXRXtoSPDR-SA1-XPDR1-XPDR1-NETWORK1
+ <link-id>SPDR-SA1-XPDR1-XPDR1-NETWORK1toROADM-A1-SRG1-SRG1-PP2-TXRX
</link-id>
<source>
- <source-node>ROADM-A1-SRG1</source-node>
- <source-tp>SRG1-PP2-TXRX</source-tp>
+ <source-node>SPDR-SA1-XPDR1</source-node>
+ <source-tp>XPDR1-NETWORK1</source-tp>
</source>
<destination>
- <dest-tp>XPDR1-NETWORK1</dest-tp>
- <dest-node>SPDR-SA1-XPDR1</dest-node>
+ <dest-tp>SRG1-PP2-TXRX</dest-tp>
+ <dest-node>ROADM-A1-SRG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">SPDR-SA1-XPDR1-XPDR1-NETWORK1toROADM-A1-SRG1-SRG1-PP2-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-SRG1-SRG1-PP2-TXRXtoSPDR-SA1-XPDR1-XPDR1-NETWORK1
</opposite-link>
- <link-type xmlns="http://org/openroadm/common/network">XPONDER-INPUT</link-type>
+ <link-type xmlns="http://org/openroadm/common/network">XPONDER-OUTPUT</link-type>
</link>
<link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<link-id>ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX
<source-node>ROADM-C1-DEG1</source-node>
<source-tp>DEG1-TTP-TXRX</source-tp>
</source>
- <OMS-attributes xmlns="http://org/openroadm/network/topology">
+ <OMS-attributes
+ xmlns="http://org/openroadm/network/topology">
<opposite-link>ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX
</opposite-link>
</OMS-attributes>
<dest-tp>DEG2-TTP-TXRX</dest-tp>
<dest-node>ROADM-A1-DEG2</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
</link>
+ <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <link-id>ROADM-A1-SRG1-SRG1-PP2-TXRXtoSPDR-SA1-XPDR1-XPDR1-NETWORK1
+ </link-id>
+ <source>
+ <source-node>ROADM-A1-SRG1</source-node>
+ <source-tp>SRG1-PP2-TXRX</source-tp>
+ </source>
+ <destination>
+ <dest-tp>XPDR1-NETWORK1</dest-tp>
+ <dest-node>SPDR-SA1-XPDR1</dest-node>
+ </destination>
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">SPDR-SA1-XPDR1-XPDR1-NETWORK1toROADM-A1-SRG1-SRG1-PP2-TXRX
+ </opposite-link>
+ <link-type xmlns="http://org/openroadm/common/network">XPONDER-INPUT</link-type>
+ </link>
<link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<link-id>ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX
</link-id>
<dest-tp>DEG1-CTP-TXRX</dest-tp>
<dest-node>ROADM-C1-DEG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-C1-DEG1-DEG1-CTP-TXRXtoROADM-C1-DEG2-DEG2-CTP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-C1-DEG1-DEG1-CTP-TXRXtoROADM-C1-DEG2-DEG2-CTP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">EXPRESS-LINK</link-type>
</link>
<dest-tp>SRG1-CP-TXRX</dest-tp>
<dest-node>ROADM-C1-SRG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-C1-SRG1-SRG1-CP-TXRXtoROADM-C1-DEG2-DEG2-CTP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-C1-SRG1-SRG1-CP-TXRXtoROADM-C1-DEG2-DEG2-CTP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">DROP-LINK</link-type>
</link>
<dest-tp>SRG1-CP-TXRX</dest-tp>
<dest-node>ROADM-A1-SRG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">DROP-LINK</link-type>
</link>
<dest-tp>DEG2-CTP-TXRX</dest-tp>
<dest-node>ROADM-C1-DEG2</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-DEG1-DEG1-CTP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">EXPRESS-LINK</link-type>
</link>
<dest-tp>SRG1-PP4-TXRX</dest-tp>
<dest-node>ROADM-C1-SRG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-C1-SRG1-SRG1-PP4-TXRXtoSPDR-SC1-XPDR2-XPDR2-NETWORK3
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-C1-SRG1-SRG1-PP4-TXRXtoSPDR-SC1-XPDR2-XPDR2-NETWORK3
+ </opposite-link>
+ <link-type xmlns="http://org/openroadm/common/network">XPONDER-OUTPUT</link-type>
+ </link>
+ <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <link-id>XPDR-A1-XPDR1-XPDR1-NETWORK1toROADM-A1-SRG1-SRG1-PP1-TXRX
+ </link-id>
+ <source>
+ <source-node>XPDR-A1-XPDR1</source-node>
+ <source-tp>XPDR1-NETWORK1</source-tp>
+ </source>
+ <destination>
+ <dest-tp>SRG1-PP1-TXRX</dest-tp>
+ <dest-node>ROADM-A1-SRG1</dest-node>
+ </destination>
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-SRG1-SRG1-PP1-TXRXtoXPDR-A1-XPDR1-XPDR1-NETWORK1
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">XPONDER-OUTPUT</link-type>
</link>
<dest-tp>DEG1-CTP-TXRX</dest-tp>
<dest-node>ROADM-A1-DEG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">EXPRESS-LINK</link-type>
</link>
<dest-tp>DEG1-CTP-TXRX</dest-tp>
<dest-node>ROADM-A1-DEG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-DEG1-DEG1-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">ADD-LINK</link-type>
</link>
+ <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <link-id>ROADM-C1-SRG1-SRG1-PP1-TXRXtoXPDR-C1-XPDR1-XPDR1-NETWORK1
+ </link-id>
+ <source>
+ <source-node>ROADM-C1-SRG1</source-node>
+ <source-tp>SRG1-PP1-TXRX</source-tp>
+ </source>
+ <destination>
+ <dest-tp>XPDR1-NETWORK1</dest-tp>
+ <dest-node>XPDR-C1-XPDR1</dest-node>
+ </destination>
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">XPDR-C1-XPDR1-XPDR1-NETWORK1toROADM-C1-SRG1-SRG1-PP1-TXRX
+ </opposite-link>
+ <link-type xmlns="http://org/openroadm/common/network">XPONDER-INPUT</link-type>
+ </link>
<link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<link-id>ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG3-SRG3-CP-TXRX
</link-id>
<dest-tp>SRG3-CP-TXRX</dest-tp>
<dest-node>ROADM-A1-SRG3</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-SRG3-SRG3-CP-TXRXtoROADM-A1-DEG2-DEG2-CTP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">DROP-LINK</link-type>
</link>
<dest-tp>DEG2-CTP-TXRX</dest-tp>
<dest-node>ROADM-A1-DEG2</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-SRG1-SRG1-CP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">ADD-LINK</link-type>
</link>
<dest-tp>SRG1-PP3-TXRX</dest-tp>
<dest-node>ROADM-A1-SRG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-SRG1-SRG1-PP3-TXRXtoSPDR-SA1-XPDR2-XPDR2-NETWORK2
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-SRG1-SRG1-PP3-TXRXtoSPDR-SA1-XPDR2-XPDR2-NETWORK2
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">XPONDER-OUTPUT</link-type>
</link>
<dest-tp>XPDR2-NETWORK2</dest-tp>
<dest-node>SPDR-SA1-XPDR2</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">SPDR-SA1-XPDR2-XPDR2-NETWORK2toROADM-A1-SRG1-SRG1-PP3-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">SPDR-SA1-XPDR2-XPDR2-NETWORK2toROADM-A1-SRG1-SRG1-PP3-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">XPONDER-INPUT</link-type>
</link>
<dest-tp>DEG2-CTP-TXRX</dest-tp>
<dest-node>ROADM-C1-DEG2</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-SRG1-SRG1-CP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-C1-DEG2-DEG2-CTP-TXRXtoROADM-C1-SRG1-SRG1-CP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">ADD-LINK</link-type>
</link>
<dest-tp>SRG1-CP-TXRX</dest-tp>
<dest-node>ROADM-A1-SRG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-SRG1-SRG1-CP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">DROP-LINK</link-type>
</link>
<dest-tp>DEG1-CTP-TXRX</dest-tp>
<dest-node>ROADM-C1-DEG1</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-C1-DEG1-DEG1-CTP-TXRXtoROADM-C1-SRG1-SRG1-CP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-C1-DEG1-DEG1-CTP-TXRXtoROADM-C1-SRG1-SRG1-CP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">ADD-LINK</link-type>
</link>
<dest-tp>DEG2-CTP-TXRX</dest-tp>
<dest-node>ROADM-A1-DEG2</dest-node>
</destination>
- <opposite-link xmlns="http://org/openroadm/common/network">ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ROADM-A1-DEG2-DEG2-CTP-TXRXtoROADM-A1-DEG1-DEG1-CTP-TXRX
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">EXPRESS-LINK</link-type>
</link>
<network>
<network-id>otn-topology</network-id>
<network-types>
- <openroadm-common-network xmlns="http://org/openroadm/common/network" />
+ <openroadm-common-network
+ xmlns="http://org/openroadm/common/network" />
</network-types>
+ <node>
+ <node-id>XPDR-C1-XPDR1</node-id>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-CLIENT1</tp-id>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-NETWORK1</associated-connection-map-port>
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology" />
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
+ <supported-interface-capability>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</if-cap-type>
+ </supported-interface-capability>
+ </tp-supported-interfaces>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-CLIENT2</tp-id>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-NETWORK2</associated-connection-map-port>
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology" />
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
+ <supported-interface-capability>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</if-cap-type>
+ </supported-interface-capability>
+ </tp-supported-interfaces>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-NETWORK2</tp-id>
+ <supporting-termination-point>
+ <network-ref>openroadm-topology</network-ref>
+ <node-ref>XPDR-C1-XPDR1</node-ref>
+ <tp-ref>XPDR1-NETWORK2</tp-ref>
+ </supporting-termination-point>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-CLIENT2</associated-connection-map-port>
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
+ <rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
+ </xpdr-tp-port-connection-attributes>
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
+ <supported-interface-capability>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ </supported-interface-capability>
+ </tp-supported-interfaces>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-NETWORK1</tp-id>
+ <supporting-termination-point>
+ <network-ref>openroadm-topology</network-ref>
+ <node-ref>XPDR-C1-XPDR1</node-ref>
+ <tp-ref>XPDR1-NETWORK1</tp-ref>
+ </supporting-termination-point>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-CLIENT1</associated-connection-map-port>
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
+ <rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
+ </xpdr-tp-port-connection-attributes>
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
+ <supported-interface-capability>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ </supported-interface-capability>
+ </tp-supported-interfaces>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+ </termination-point>
+ <supporting-node>
+ <network-ref>clli-network</network-ref>
+ <node-ref>NodeC</node-ref>
+ </supporting-node>
+ <supporting-node>
+ <network-ref>openroadm-network</network-ref>
+ <node-ref>XPDR-C1</node-ref>
+ </supporting-node>
+ <supporting-node>
+ <network-ref>openroadm-topology</network-ref>
+ <node-ref>XPDR-C1-XPDR1</node-ref>
+ </supporting-node>
+ <node-type xmlns="http://org/openroadm/common/network">TPDR</node-type>
+ <xpdr-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-number>1</xpdr-number>
+ </xpdr-attributes>
+ </node>
<node>
<node-id>SPDR-SA1-XPDR1</node-id>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR1-CLIENT1</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU2e</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR1-CLIENT3</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU2e</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR1-CLIENT2</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU2e</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR1-NETWORK1</tp-id>
<supporting-termination-point>
<network-ref>openroadm-topology</network-ref>
<node-ref>SPDR-SA1-XPDR1</node-ref>
<tp-ref>XPDR1-NETWORK1</tp-ref>
</supporting-termination-point>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<odtu-tpn-pool>
- <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+ <odtu-type
+ xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
<tpn-pool>2</tpn-pool>
<tpn-pool>1</tpn-pool>
<tpn-pool>12</tpn-pool>
<ts-pool>26</ts-pool>
<ts-pool>27</ts-pool>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR1-CLIENT4</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU2e</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
<node-ref>SPDR-SA1-XPDR1</node-ref>
</supporting-node>
<node-type xmlns="http://org/openroadm/common/network">MUXPDR</node-type>
- <switching-pools xmlns="http://org/openroadm/otn/network/topology">
+ <switching-pools
+ xmlns="http://org/openroadm/otn/network/topology">
<odu-switching-pools>
<switching-pool-number>1</switching-pool-number>
<non-blocking-list>
<switching-pool-type>non-blocking</switching-pool-type>
</odu-switching-pools>
</switching-pools>
- <tp-bandwidth-sharing xmlns="http://org/openroadm/otn/network/topology" />
- <xpdr-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <tp-bandwidth-sharing
+ xmlns="http://org/openroadm/otn/network/topology" />
+ <xpdr-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-number>1</xpdr-number>
+ </xpdr-attributes>
+ </node>
+ <node>
+ <node-id>XPDR-A1-XPDR1</node-id>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-CLIENT1</tp-id>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-NETWORK1</associated-connection-map-port>
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology" />
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
+ <supported-interface-capability>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</if-cap-type>
+ </supported-interface-capability>
+ </tp-supported-interfaces>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-CLIENT2</tp-id>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-NETWORK2</associated-connection-map-port>
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology" />
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
+ <supported-interface-capability>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</if-cap-type>
+ </supported-interface-capability>
+ </tp-supported-interfaces>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-NETWORK2</tp-id>
+ <supporting-termination-point>
+ <network-ref>openroadm-topology</network-ref>
+ <node-ref>XPDR-A1-XPDR1</node-ref>
+ <tp-ref>XPDR1-NETWORK2</tp-ref>
+ </supporting-termination-point>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-CLIENT2</associated-connection-map-port>
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
+ <rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
+ </xpdr-tp-port-connection-attributes>
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
+ <supported-interface-capability>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ </supported-interface-capability>
+ </tp-supported-interfaces>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+ </termination-point>
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <tp-id>XPDR1-NETWORK1</tp-id>
+ <supporting-termination-point>
+ <network-ref>openroadm-topology</network-ref>
+ <node-ref>XPDR-A1-XPDR1</node-ref>
+ <tp-ref>XPDR1-NETWORK1</tp-ref>
+ </supporting-termination-point>
+ <associated-connection-map-port
+ xmlns="http://transportpce/topology">XPDR1-CLIENT1</associated-connection-map-port>
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
+ <rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
+ </xpdr-tp-port-connection-attributes>
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
+ <supported-interface-capability>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ </supported-interface-capability>
+ </tp-supported-interfaces>
+ <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+ </termination-point>
+ <supporting-node>
+ <network-ref>openroadm-network</network-ref>
+ <node-ref>XPDR-A1</node-ref>
+ </supporting-node>
+ <supporting-node>
+ <network-ref>clli-network</network-ref>
+ <node-ref>NodeA</node-ref>
+ </supporting-node>
+ <supporting-node>
+ <network-ref>openroadm-topology</network-ref>
+ <node-ref>XPDR-A1-XPDR1</node-ref>
+ </supporting-node>
+ <node-type xmlns="http://org/openroadm/common/network">TPDR</node-type>
+ <xpdr-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<xpdr-number>1</xpdr-number>
</xpdr-attributes>
</node>
<node>
<node-id>SPDR-SC1-XPDR1</node-id>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR1-CLIENT1</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU2e</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR1-CLIENT3</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU2e</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR1-CLIENT2</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU2e</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR1-NETWORK1</tp-id>
<supporting-termination-point>
<network-ref>openroadm-topology</network-ref>
<node-ref>SPDR-SC1-XPDR1</node-ref>
<tp-ref>XPDR1-NETWORK1</tp-ref>
</supporting-termination-point>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<odtu-tpn-pool>
- <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+ <odtu-type
+ xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
<tpn-pool>2</tpn-pool>
<tpn-pool>1</tpn-pool>
<tpn-pool>12</tpn-pool>
<ts-pool>26</ts-pool>
<ts-pool>27</ts-pool>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR1-CLIENT4</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU2e</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
<node-ref>SPDR-SC1-XPDR1</node-ref>
</supporting-node>
<node-type xmlns="http://org/openroadm/common/network">MUXPDR</node-type>
- <switching-pools xmlns="http://org/openroadm/otn/network/topology">
+ <switching-pools
+ xmlns="http://org/openroadm/otn/network/topology">
<odu-switching-pools>
<switching-pool-number>1</switching-pool-number>
<non-blocking-list>
<switching-pool-type>non-blocking</switching-pool-type>
</odu-switching-pools>
</switching-pools>
- <tp-bandwidth-sharing xmlns="http://org/openroadm/otn/network/topology" />
- <xpdr-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <tp-bandwidth-sharing
+ xmlns="http://org/openroadm/otn/network/topology" />
+ <xpdr-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<xpdr-number>1</xpdr-number>
</xpdr-attributes>
</node>
<node>
<node-id>SPDR-SA1-XPDR2</node-id>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK1</tp-id>
<supporting-termination-point>
<network-ref>openroadm-topology</network-ref>
<node-ref>SPDR-SA1-XPDR2</node-ref>
<tp-ref>XPDR2-NETWORK1</tp-ref>
</supporting-termination-point>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK3</tp-id>
<supporting-termination-point>
<network-ref>openroadm-topology</network-ref>
<node-ref>SPDR-SA1-XPDR2</node-ref>
<tp-ref>XPDR2-NETWORK3</tp-ref>
</supporting-termination-point>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK2</tp-id>
<supporting-termination-point>
<network-ref>openroadm-topology</network-ref>
<node-ref>SPDR-SA1-XPDR2</node-ref>
<tp-ref>XPDR2-NETWORK2</tp-ref>
</supporting-termination-point>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK4</tp-id>
<supporting-termination-point>
<network-ref>openroadm-topology</network-ref>
<node-ref>SPDR-SA1-XPDR2</node-ref>
<tp-ref>XPDR2-NETWORK4</tp-ref>
</supporting-termination-point>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-CLIENT3</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-CLIENT4</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-CLIENT1</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-CLIENT2</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
<node-ref>SPDR-SA1-XPDR2</node-ref>
</supporting-node>
<node-type xmlns="http://org/openroadm/common/network">SWITCH</node-type>
- <switching-pools xmlns="http://org/openroadm/otn/network/topology">
+ <switching-pools
+ xmlns="http://org/openroadm/otn/network/topology">
<odu-switching-pools>
<switching-pool-number>1</switching-pool-number>
<non-blocking-list>
<switching-pool-type>non-blocking</switching-pool-type>
</odu-switching-pools>
</switching-pools>
- <tp-bandwidth-sharing xmlns="http://org/openroadm/otn/network/topology" />
- <xpdr-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <tp-bandwidth-sharing
+ xmlns="http://org/openroadm/otn/network/topology" />
+ <xpdr-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<xpdr-number>2</xpdr-number>
</xpdr-attributes>
</node>
<node>
<node-id>SPDR-SC1-XPDR2</node-id>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK1</tp-id>
<supporting-termination-point>
<network-ref>openroadm-topology</network-ref>
<node-ref>SPDR-SC1-XPDR2</node-ref>
<tp-ref>XPDR2-NETWORK1</tp-ref>
</supporting-termination-point>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK3</tp-id>
<supporting-termination-point>
<network-ref>openroadm-topology</network-ref>
<node-ref>SPDR-SC1-XPDR2</node-ref>
<tp-ref>XPDR2-NETWORK3</tp-ref>
</supporting-termination-point>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK2</tp-id>
<supporting-termination-point>
<network-ref>openroadm-topology</network-ref>
<node-ref>SPDR-SC1-XPDR2</node-ref>
<tp-ref>XPDR2-NETWORK2</tp-ref>
</supporting-termination-point>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-NETWORK4</tp-id>
<supporting-termination-point>
<network-ref>openroadm-topology</network-ref>
<node-ref>SPDR-SC1-XPDR2</node-ref>
<tp-ref>XPDR2-NETWORK4</tp-ref>
</supporting-termination-point>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-CLIENT3</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-CLIENT4</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-CLIENT1</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
</termination-point>
- <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+ <termination-point
+ xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
<tp-id>XPDR2-CLIENT2</tp-id>
- <xpdr-tp-port-connection-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <xpdr-tp-port-connection-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
</xpdr-tp-port-connection-attributes>
- <tp-supported-interfaces xmlns="http://org/openroadm/otn/network/topology">
+ <tp-supported-interfaces
+ xmlns="http://org/openroadm/otn/network/topology">
<supported-interface-capability>
- <if-cap-type xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
+ <if-cap-type
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</if-cap-type>
</supported-interface-capability>
</tp-supported-interfaces>
<tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
<node-ref>NodeSC</node-ref>
</supporting-node>
<node-type xmlns="http://org/openroadm/common/network">SWITCH</node-type>
- <switching-pools xmlns="http://org/openroadm/otn/network/topology">
+ <switching-pools
+ xmlns="http://org/openroadm/otn/network/topology">
<odu-switching-pools>
<switching-pool-number>1</switching-pool-number>
<non-blocking-list>
<switching-pool-type>non-blocking</switching-pool-type>
</odu-switching-pools>
</switching-pools>
- <tp-bandwidth-sharing xmlns="http://org/openroadm/otn/network/topology" />
- <xpdr-attributes xmlns="http://org/openroadm/otn/network/topology">
+ <tp-bandwidth-sharing
+ xmlns="http://org/openroadm/otn/network/topology" />
+ <xpdr-attributes
+ xmlns="http://org/openroadm/otn/network/topology">
<xpdr-number>2</xpdr-number>
</xpdr-attributes>
</node>
<link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <link-id>OTU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1
+ <link-id>OTU4-SPDR-SC1-XPDR1-XPDR1-NETWORK1toSPDR-SA1-XPDR1-XPDR1-NETWORK1
</link-id>
<source>
- <source-node>SPDR-SA1-XPDR1</source-node>
+ <source-node>SPDR-SC1-XPDR1</source-node>
<source-tp>XPDR1-NETWORK1</source-tp>
</source>
<otn-link-type xmlns="http://transportpce/topology">OTU4</otn-link-type>
<destination>
<dest-tp>XPDR1-NETWORK1</dest-tp>
- <dest-node>SPDR-SC1-XPDR1</dest-node>
+ <dest-node>SPDR-SA1-XPDR1</dest-node>
</destination>
- <available-bandwidth xmlns="http://org/openroadm/otn/network/topology">0</available-bandwidth>
- <used-bandwidth xmlns="http://org/openroadm/otn/network/topology">100000</used-bandwidth>
- <opposite-link xmlns="http://org/openroadm/common/network">OTU4-SPDR-SC1-XPDR1-XPDR1-NETWORK1toSPDR-SA1-XPDR1-XPDR1-NETWORK1
+ <available-bandwidth
+ xmlns="http://org/openroadm/otn/network/topology">0</available-bandwidth>
+ <used-bandwidth
+ xmlns="http://org/openroadm/otn/network/topology">100000</used-bandwidth>
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">OTU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">OTN-LINK</link-type>
</link>
<link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <link-id>OTU4-SPDR-SC1-XPDR1-XPDR1-NETWORK1toSPDR-SA1-XPDR1-XPDR1-NETWORK1
+ <link-id>OTU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1
</link-id>
<source>
- <source-node>SPDR-SC1-XPDR1</source-node>
+ <source-node>SPDR-SA1-XPDR1</source-node>
<source-tp>XPDR1-NETWORK1</source-tp>
</source>
<otn-link-type xmlns="http://transportpce/topology">OTU4</otn-link-type>
<destination>
<dest-tp>XPDR1-NETWORK1</dest-tp>
- <dest-node>SPDR-SA1-XPDR1</dest-node>
+ <dest-node>SPDR-SC1-XPDR1</dest-node>
</destination>
- <available-bandwidth xmlns="http://org/openroadm/otn/network/topology">0</available-bandwidth>
- <used-bandwidth xmlns="http://org/openroadm/otn/network/topology">100000</used-bandwidth>
- <opposite-link xmlns="http://org/openroadm/common/network">OTU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1
+ <available-bandwidth
+ xmlns="http://org/openroadm/otn/network/topology">0</available-bandwidth>
+ <used-bandwidth
+ xmlns="http://org/openroadm/otn/network/topology">100000</used-bandwidth>
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">OTU4-SPDR-SC1-XPDR1-XPDR1-NETWORK1toSPDR-SA1-XPDR1-XPDR1-NETWORK1
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">OTN-LINK</link-type>
</link>
<link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <link-id>ODU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1
+ <link-id>ODU4-SPDR-SC1-XPDR1-XPDR1-NETWORK1toSPDR-SA1-XPDR1-XPDR1-NETWORK1
</link-id>
<source>
- <source-node>SPDR-SA1-XPDR1</source-node>
+ <source-node>SPDR-SC1-XPDR1</source-node>
<source-tp>XPDR1-NETWORK1</source-tp>
</source>
<otn-link-type xmlns="http://transportpce/topology">ODTU4</otn-link-type>
<destination>
<dest-tp>XPDR1-NETWORK1</dest-tp>
- <dest-node>SPDR-SC1-XPDR1</dest-node>
+ <dest-node>SPDR-SA1-XPDR1</dest-node>
</destination>
- <available-bandwidth xmlns="http://org/openroadm/otn/network/topology">100000</available-bandwidth>
- <used-bandwidth xmlns="http://org/openroadm/otn/network/topology">0</used-bandwidth>
- <opposite-link xmlns="http://org/openroadm/common/network">ODU4-SPDR-SC1-XPDR1-XPDR1-NETWORK1toSPDR-SA1-XPDR1-XPDR1-NETWORK1
+ <available-bandwidth
+ xmlns="http://org/openroadm/otn/network/topology">100000</available-bandwidth>
+ <used-bandwidth
+ xmlns="http://org/openroadm/otn/network/topology">0</used-bandwidth>
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ODU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">OTN-LINK</link-type>
</link>
<link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
- <link-id>ODU4-SPDR-SC1-XPDR1-XPDR1-NETWORK1toSPDR-SA1-XPDR1-XPDR1-NETWORK1
+ <link-id>ODU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1
</link-id>
<source>
- <source-node>SPDR-SC1-XPDR1</source-node>
+ <source-node>SPDR-SA1-XPDR1</source-node>
<source-tp>XPDR1-NETWORK1</source-tp>
</source>
<otn-link-type xmlns="http://transportpce/topology">ODTU4</otn-link-type>
<destination>
<dest-tp>XPDR1-NETWORK1</dest-tp>
- <dest-node>SPDR-SA1-XPDR1</dest-node>
+ <dest-node>SPDR-SC1-XPDR1</dest-node>
</destination>
- <available-bandwidth xmlns="http://org/openroadm/otn/network/topology">100000</available-bandwidth>
- <used-bandwidth xmlns="http://org/openroadm/otn/network/topology">0</used-bandwidth>
- <opposite-link xmlns="http://org/openroadm/common/network">ODU4-SPDR-SA1-XPDR1-XPDR1-NETWORK1toSPDR-SC1-XPDR1-XPDR1-NETWORK1
+ <available-bandwidth
+ xmlns="http://org/openroadm/otn/network/topology">100000</available-bandwidth>
+ <used-bandwidth
+ xmlns="http://org/openroadm/otn/network/topology">0</used-bandwidth>
+ <opposite-link
+ xmlns="http://org/openroadm/common/network">ODU4-SPDR-SC1-XPDR1-XPDR1-NETWORK1toSPDR-SA1-XPDR1-XPDR1-NETWORK1
</opposite-link>
<link-type xmlns="http://org/openroadm/common/network">OTN-LINK</link-type>
</link>
<port-qual>xpdr-client</port-qual>
<supporting-port>C1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
<connection-map-lcp>XPDR1-NETWORK2</connection-map-lcp>
<lcp-hash-val>fHpE8JbDyn4=</lcp-hash-val>
<supporting-circuit-pack-name>1/0/2-PLUG-CLIENT
<port-qual>xpdr-network</port-qual>
<supporting-port>1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH</supported-interface-capability>
<connection-map-lcp>XPDR1-CLIENT2</connection-map-lcp>
<lcp-hash-val>AJUlmCIYKpQh</lcp-hash-val>
<supporting-circuit-pack-name>1/0/2-PLUG-NET
<port-qual>xpdr-client</port-qual>
<supporting-port>C1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
<connection-map-lcp>XPDR1-NETWORK1</connection-map-lcp>
<lcp-hash-val>fHpE8JbDyn0=</lcp-hash-val>
<supporting-circuit-pack-name>1/0/1-PLUG-CLIENT
<port-qual>xpdr-network</port-qual>
<supporting-port>1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH</supported-interface-capability>
<connection-map-lcp>XPDR1-CLIENT1</connection-map-lcp>
<lcp-hash-val>AJUlmCIYKpQi</lcp-hash-val>
<supporting-circuit-pack-name>1/0/1-PLUG-NET
<port-qual>switch-client</port-qual>
<supporting-port>CP2-QSFP3-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
<lcp-hash-val>BVSiXSSYUCI=</lcp-hash-val>
<supporting-circuit-pack-name>CP2-QSFP3
</supporting-circuit-pack-name>
<port-qual>switch-client</port-qual>
<supporting-port>CP2-QSFP4-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
<lcp-hash-val>BVSiXSSYUCU=</lcp-hash-val>
<supporting-circuit-pack-name>CP2-QSFP4
</supporting-circuit-pack-name>
<port-qual>switch-client</port-qual>
<supporting-port>CP2-QSFP1-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
<lcp-hash-val>BVSiXSSYUCA=</lcp-hash-val>
<supporting-circuit-pack-name>CP2-QSFP1
</supporting-circuit-pack-name>
<port-qual>switch-client</port-qual>
<supporting-port>CP2-QSFP2-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
<lcp-hash-val>BVSiXSSYUCM=</lcp-hash-val>
<supporting-circuit-pack-name>CP2-QSFP2
</supporting-circuit-pack-name>
<port-qual>xpdr-client</port-qual>
<supporting-port>CP1-SFP3-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE</supported-interface-capability>
<lcp-hash-val>L0PHYLgz3+E=</lcp-hash-val>
<supporting-circuit-pack-name>CP1-SFP3
</supporting-circuit-pack-name>
<port-qual>xpdr-client</port-qual>
<supporting-port>CP1-SFP2-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
<lcp-hash-val>L0PHYLgz3+A=</lcp-hash-val>
<supporting-circuit-pack-name>CP1-SFP2
</supporting-circuit-pack-name>
<port-qual>xpdr-client</port-qual>
<supporting-port>CP1-SFP4-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE</supported-interface-capability>
<lcp-hash-val>L0PHYLgz3+Y=</lcp-hash-val>
<supporting-circuit-pack-name>CP1-SFP4
</supporting-circuit-pack-name>
<port-qual>xpdr-client</port-qual>
<supporting-port>CP1-SFP1-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
<lcp-hash-val>L0PHYLgz3+M=</lcp-hash-val>
<supporting-circuit-pack-name>CP1-SFP1
</supporting-circuit-pack-name>
<port-qual>switch-network</port-qual>
<supporting-port>CP8-CFP-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
<lcp-hash-val>ALx70DYYfGTz</lcp-hash-val>
<xponder-type>switch</xponder-type>
<supporting-circuit-pack-name>CP8-CFP
<port-qual>switch-network</port-qual>
<supporting-port>CP7-CFP-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
<lcp-hash-val>ALx70DYYfGTy</lcp-hash-val>
<xponder-type>switch</xponder-type>
<supporting-circuit-pack-name>CP7-CFP
<port-qual>switch-network</port-qual>
<supporting-port>CP5-CFP-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
<lcp-hash-val>ALx70DYYfGT0</lcp-hash-val>
<xponder-type>switch</xponder-type>
<supporting-circuit-pack-name>CP5-CFP
<port-qual>switch-network</port-qual>
<supporting-port>CP6-CFP-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
<lcp-hash-val>ALx70DYYfGTx</lcp-hash-val>
<xponder-type>switch</xponder-type>
<supporting-circuit-pack-name>CP6-CFP
<port-qual>xpdr-network</port-qual>
<supporting-port>CP1-CFP0-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
<lcp-hash-val>fuYZwEO660g=</lcp-hash-val>
<xponder-type>mpdr</xponder-type>
<supporting-circuit-pack-name>CP1-CFP0
<port-qual>switch-client</port-qual>
<supporting-port>CP2-QSFP3-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
<lcp-hash-val>AN/WSSRXne3s</lcp-hash-val>
<supporting-circuit-pack-name>CP2-QSFP3
</supporting-circuit-pack-name>
<port-qual>switch-client</port-qual>
<supporting-port>CP2-QSFP4-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
<lcp-hash-val>AN/WSSRXne3r</lcp-hash-val>
<supporting-circuit-pack-name>CP2-QSFP4
</supporting-circuit-pack-name>
<port-qual>switch-client</port-qual>
<supporting-port>CP2-QSFP1-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
<lcp-hash-val>AN/WSSRXne3u</lcp-hash-val>
<supporting-circuit-pack-name>CP2-QSFP1
</supporting-circuit-pack-name>
<port-qual>switch-client</port-qual>
<supporting-port>CP2-QSFP2-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
<lcp-hash-val>AN/WSSRXne3t</lcp-hash-val>
<supporting-circuit-pack-name>CP2-QSFP2
</supporting-circuit-pack-name>
<port-qual>xpdr-client</port-qual>
<supporting-port>CP1-SFP3-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE</supported-interface-capability>
<lcp-hash-val>FqlcrxV7p38=</lcp-hash-val>
<supporting-circuit-pack-name>CP1-SFP3
</supporting-circuit-pack-name>
<port-qual>xpdr-client</port-qual>
<supporting-port>CP1-SFP2-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
<lcp-hash-val>FqlcrxV7p34=</lcp-hash-val>
<supporting-circuit-pack-name>CP1-SFP2
</supporting-circuit-pack-name>
<port-qual>xpdr-client</port-qual>
<supporting-port>CP1-SFP4-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE</supported-interface-capability>
<lcp-hash-val>FqlcrxV7p3g=</lcp-hash-val>
<supporting-circuit-pack-name>CP1-SFP4
</supporting-circuit-pack-name>
<port-qual>xpdr-client</port-qual>
<supporting-port>CP1-SFP1-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-10GE-ODU2e</supported-interface-capability>
<lcp-hash-val>FqlcrxV7p30=</lcp-hash-val>
<supporting-circuit-pack-name>CP1-SFP1
</supporting-circuit-pack-name>
<port-qual>switch-network</port-qual>
<supporting-port>CP8-CFP-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
<lcp-hash-val>exT821pFtOU=</lcp-hash-val>
<xponder-type>switch</xponder-type>
<supporting-circuit-pack-name>CP8-CFP
<port-qual>switch-network</port-qual>
<supporting-port>CP7-CFP-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
<lcp-hash-val>exT821pFtOQ=</lcp-hash-val>
<xponder-type>switch</xponder-type>
<supporting-circuit-pack-name>CP7-CFP
<port-qual>switch-network</port-qual>
<supporting-port>CP5-CFP-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
<lcp-hash-val>exT821pFtOI=</lcp-hash-val>
<xponder-type>switch</xponder-type>
<supporting-circuit-pack-name>CP5-CFP
<port-qual>switch-network</port-qual>
<supporting-port>CP6-CFP-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
<lcp-hash-val>exT821pFtOc=</lcp-hash-val>
<xponder-type>switch</xponder-type>
<supporting-circuit-pack-name>CP6-CFP
<port-qual>xpdr-network</port-qual>
<supporting-port>CP1-CFP0-P1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH-OTU4-ODU4</supported-interface-capability>
<lcp-hash-val>Swfw02qXGyI=</lcp-hash-val>
<xponder-type>mpdr</xponder-type>
<supporting-circuit-pack-name>CP1-CFP0
<port-qual>xpdr-client</port-qual>
<supporting-port>C1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
<connection-map-lcp>XPDR1-NETWORK2</connection-map-lcp>
<lcp-hash-val>AJUUr6I5fALg</lcp-hash-val>
<supporting-circuit-pack-name>1/0/2-PLUG-CLIENT
<port-qual>xpdr-network</port-qual>
<supporting-port>1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH</supported-interface-capability>
<connection-map-lcp>XPDR1-CLIENT2</connection-map-lcp>
<lcp-hash-val>AMkDwQ7xTmRL</lcp-hash-val>
<supporting-circuit-pack-name>1/0/2-PLUG-NET
<port-qual>xpdr-client</port-qual>
<supporting-port>C1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-100GE</supported-interface-capability>
<connection-map-lcp>XPDR1-NETWORK1</connection-map-lcp>
<lcp-hash-val>AJUUr6I5fALj</lcp-hash-val>
<supporting-circuit-pack-name>1/0/1-PLUG-CLIENT
<port-qual>xpdr-network</port-qual>
<supporting-port>1</supporting-port>
<port-direction>bidirectional</port-direction>
- <supported-interface-capability xmlns:x="http://org/openroadm/port/types">x:if-OCH</supported-interface-capability>
+ <supported-interface-capability
+ xmlns:x="http://org/openroadm/port/types">x:if-OCH</supported-interface-capability>
<connection-map-lcp>XPDR1-CLIENT1</connection-map-lcp>
<lcp-hash-val>AMkDwQ7xTmRI</lcp-hash-val>
<supporting-circuit-pack-name>1/0/1-PLUG-NET