Portmapping-topologies code consolidation 90/86990/14
authorGilles Thouenon <gilles.thouenon@orange.com>
Fri, 17 Jan 2020 10:41:30 +0000 (11:41 +0100)
committerguillaume.lambert <guillaume.lambert@orange.com>
Sat, 25 Jan 2020 00:32:19 +0000 (01:32 +0100)
Refactor otn-topology code to avoid any access to OpenROADM device
configuration during node creation. To that purpose:
- review code related to all topology layers to use static methods
- add new class OtnNode to help creation of different otn-nodes in
  otn-topology
- change code to create otn node in otn-topology distinguishing tpdr,
  switch, mpdr
- adapt openroadm-topology to make appear network tp of otn switch/mpdr
  nodes
- remove from openroadm-topology tail-equipment-id for xpdr nodes
- adapt pce code consequently
- add tail-equipment-id with ROADM-SRG-PP info on tp of xpdr node when
  creating XPONDER-INPUT/OUTPUT links in openroadm-topology
- adapt functional tests consequently to all these modifications
- deactivate test 33 from end2end functional tests since the deletion of
  the "tail-equipment-id" from the topology is not fully implemented yet

JIRA: TRNSPRTPCE-177
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Co-authored-by: Christophe Betoule <christophe.betoule.com>
Change-Id: I45bb0f06b0bae87af10164addbdedc3ab79dba36

29 files changed:
common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion221.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetworkModelProvider.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetworkUtilsImpl.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/OrdLink.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/R2RLinkDiscovery.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/Rdm2XpdrLink.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/dto/OtnTopoNode.java [new file with mode: 0644]
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/service/NetworkModelServiceImpl.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/ClliNetwork.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmFactory.java [deleted file]
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmNetwork.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopology.java [new file with mode: 0644]
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopology22.java [deleted file]
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmTopology.java [moved from networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmTopology22.java with 59% similarity]
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/TpceNetwork.java [new file with mode: 0644]
networkmodel/src/main/resources/OSGI-INF/blueprint/networkmodel-blueprint.xml
pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/MapUtils.java
pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceNode.java
tests/sample_configs/NW-for-test-5-4.xml
tests/sample_configs/NW-simple-topology.xml
tests/sample_configs/gnpy/openroadmTopology.json
tests/sample_configs/honeynode-topo.xml
tests/transportpce_tests/1.2.1/test_end2end.py
tests/transportpce_tests/1.2.1/test_topology.py
tests/transportpce_tests/2.2.1/test_end2end.py
tests/transportpce_tests/2.2.1/test_otn_topology.py
tests/transportpce_tests/2.2.1/test_portmapping.py
tests/transportpce_tests/2.2.1/test_renderer_service_path_nominal.py
tests/transportpce_tests/2.2.1/test_topology.py

index 5df5edc937b58f2863a43ed197de2675e73c3c6a..4dcea0ae6602a022c23b5afbc29bab7751f3e520 100644 (file)
@@ -42,8 +42,13 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.NodeInfo;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.NodeInfo.OpenroadmVersion;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.NodeInfoBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.SwitchingPoolLcp;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.SwitchingPoolLcpBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.switching.pool.lcp.NonBlockingList;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.switching.pool.lcp.NonBlockingListBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.Direction;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.PortQual;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.XpdrNodeTypes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.CircuitPack;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.pack.Ports;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.pack.PortsKey;
@@ -57,10 +62,12 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.open
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.Degree;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.DegreeKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.Info;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.OduSwitchingPools;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.Protocols;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.SharedRiskGroup;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.SharedRiskGroupKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.Xponder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.odu.switching.pools.non.blocking.list.PortList;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.port.Interfaces;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.xponder.XpdrPort;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.InterfaceType;
@@ -101,7 +108,7 @@ public class PortMappingVersion221 {
             if (nodeInfo == null) {
                 return false;
             } else {
-                postPortMapping(nodeId, nodeInfo, null, null);
+                postPortMapping(nodeId, nodeInfo, null, null, null);
             }
         } else {
             LOG.warn("Device info subtree is absent for {}", nodeId);
@@ -136,7 +143,7 @@ public class PortMappingVersion221 {
                 break;
 
         }
-        return postPortMapping(nodeId, nodeInfo, portMapList, null);
+        return postPortMapping(nodeId, nodeInfo, portMapList, null, null);
     }
 
     public boolean updateMapping(String nodeId, Mapping oldMapping) {
@@ -202,7 +209,6 @@ public class PortMappingVersion221 {
             circuitPackList = deviceObject.get().getCircuitPacks();
             circuitPackList.sort(Comparator.comparing(CircuitPack::getCircuitPackName));
         }
-        String xpdrPreFix = "XPDR";
         if (device.getXponder() == null) {
             LOG.warn("{} configuration does not contain a list of xponders", nodeId);
             for (CircuitPacks cp : circuitPackList) {
@@ -224,7 +230,7 @@ public class PortMappingVersion221 {
                         String lcp = "XPDR1-" + StringConstants.NETWORK_TOKEN + line;
                         lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp);
                         mappingMap.put(lcp, createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null,
-                            null));
+                            null, null));
                         line++;
                     } else if (PortQual.XpdrNetwork.getIntValue() == port.getPortQual().getIntValue()
                         && port.getPortDirection().getIntValue() != Direction.Bidirectional.getIntValue()
@@ -249,9 +255,9 @@ public class PortMappingVersion221 {
                                         lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp1);
                                         lcpMap.put(cpOpt.get().getCircuitPackName() + '+' + port2.getPortName(), lcp2);
                                         mappingMap.put(lcp1, createXpdrMappingObject(nodeId, port, circuitPackName,
-                                            lcp1, lcp2, null, null));
+                                            lcp1, lcp2, null, null, null));
                                         mappingMap.put(lcp2, createXpdrMappingObject(nodeId, port2, cpOpt.get()
-                                            .getCircuitPackName(), lcp2, lcp1, null, null));
+                                            .getCircuitPackName(), lcp2, lcp1, null, null, null));
                                     } else {
                                         LOG.warn("mapping already exists for {} or {}", lcp1, lcp2);
                                     }
@@ -273,7 +279,7 @@ public class PortMappingVersion221 {
                         String lcp = "XPDR1-" + StringConstants.CLIENT_TOKEN + client;
                         lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp);
                         mappingMap.put(lcp, createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null,
-                            null));
+                            null, null));
                         client++;
                     } else {
                         LOG.warn("Error in the configuration of port {} of {} for {}", port.getPortName(),
@@ -285,97 +291,84 @@ public class PortMappingVersion221 {
         } else {
             LOG.info("{} configuration contains a list of xponders", nodeId);
             for (Xponder xponder:deviceObject.get().getXponder()) {
-                xpdrPreFix += xponder.getXpdrNumber();
+                line = 1;
+                client = 1;
+                Integer xponderNb = xponder.getXpdrNumber();
+                XpdrNodeTypes xponderType = xponder.getXpdrType();
                 for (XpdrPort xpdrPort : xponder.getXpdrPort()) {
-                    CircuitPacks cp = circuitPackList.stream().filter(x -> x.getCircuitPackName()
-                            .equals(xpdrPort.getCircuitPackName()))
-                            .collect(Collectors.toList()).get(0);
-                    String circuitPackName = cp.getCircuitPackName();
-                    Boolean isExisting = false;
-                    for (String keys : lcpMap.keySet()) {
-                        LOG.info("Keys are {}", keys);
-                        if (keys.contains(cp.getCircuitPackName() + "+" + xpdrPort.getPortName().toString())) {
-                            isExisting = true;
-                            break;
-                        }
-                    }
-                    if (isExisting) {
+                    String circuitPackName = xpdrPort.getCircuitPackName();
+                    String portName = xpdrPort.getPortName().toString();
+                    Ports port = device.getCircuitPacks().stream().filter(cp -> cp.getCircuitPackName()
+                        .equals(circuitPackName)).findFirst().get().getPorts().stream().filter(p -> p.getPortName()
+                        .equals(portName)).findFirst().get();
+                    if (port.getPortQual() == null) {
+                        LOG.warn("PortQual was not found for port {} on circuit pack: {}", port.getPortName(),
+                                circuitPackName);
                         continue;
                     }
-                    List<Ports> portList = cp.getPorts();
-                    portList.sort(Comparator.comparing(Ports::getPortName));
-                    for (Ports port : portList) {
-                        if (port.getPortQual() == null) {
-                            LOG.warn("PortQual was not found for port {} on circuit pack: {}", port.getPortName(),
-                                    circuitPackName);
+                    if ((PortQual.XpdrNetwork.getIntValue() == port.getPortQual().getIntValue()
+                        || PortQual.SwitchNetwork.getIntValue() == port.getPortQual().getIntValue())
+                        && port.getPortDirection().getIntValue() == Direction.Bidirectional.getIntValue()) {
+                        String lcp = "XPDR" + xponderNb + "-" + StringConstants.NETWORK_TOKEN + line;
+                        lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp);
+                        mappingMap.put(lcp, createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null,
+                            null, xponderType));
+                        line++;
+                    } else if ((PortQual.XpdrNetwork.getIntValue() == port.getPortQual().getIntValue()
+                        || PortQual.SwitchNetwork.getIntValue() == port.getPortQual().getIntValue())
+                        && port.getPortDirection().getIntValue() != Direction.Bidirectional.getIntValue()
+                        && port.getPartnerPort() != null
+                        && port.getPartnerPort().getCircuitPackName() != null
+                        && port.getPartnerPort().getPortName() != null) {
+                        if (lcpMap.containsKey(circuitPackName + '+' + port.getPortName())) {
                             continue;
                         }
-                        if ((PortQual.XpdrNetwork.getIntValue() == port.getPortQual().getIntValue()
-                            || PortQual.SwitchNetwork.getIntValue() == port.getPortQual().getIntValue())
-                                && port.getPortDirection().getIntValue() == Direction.Bidirectional.getIntValue()) {
-                            String lcp = xpdrPreFix + "-" + StringConstants.NETWORK_TOKEN + line;
-                            lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp);
-                            mappingMap.put(lcp, createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null,
-                                null));
-                            line++;
-                        } else if (PortQual.XpdrNetwork.getIntValue() == port.getPortQual().getIntValue()
-                                && port.getPortDirection().getIntValue() != Direction.Bidirectional.getIntValue()
-                                && port.getPartnerPort() != null
-                                && port.getPartnerPort().getCircuitPackName() != null
-                                && port.getPartnerPort().getPortName() != null) {
-                            if (lcpMap.containsKey(circuitPackName + '+' + port.getPortName())) {
-                                continue;
-                            }
-                            String lcp1 = xpdrPreFix + "-" + StringConstants.NETWORK_TOKEN + line;
-                            Optional<CircuitPacks> cpOpt = circuitPackList.stream().filter(cP -> cP.getCircuitPackName()
-                                    .equals(port.getPartnerPort().getCircuitPackName())).findFirst();
-                            if (cpOpt.isPresent()) {
-                                Optional<Ports> poOpt = cpOpt.get().getPorts().stream().filter(p -> p.getPortName()
-                                    .equals(port.getPartnerPort().getPortName().toString())).findFirst();
-                                if (poOpt.isPresent()) {
-                                    Ports port2 = poOpt.get();
-                                    if (checkPartnerPort(circuitPackName, port, port2)) {
-                                        String lcp2 = new StringBuilder(xpdrPreFix)
-                                            .append(StringConstants.NETWORK_TOKEN)
-                                            .append(line + 1)
-                                            .toString();
-                                        if (!lcpMap.containsKey(lcp1) && !lcpMap.containsKey(lcp2)) {
-                                            lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp1);
-                                            lcpMap.put(cpOpt.get().getCircuitPackName() + '+' + port2.getPortName(),
-                                                lcp2);
-                                            mappingMap.put(lcp1, createXpdrMappingObject(nodeId, port, circuitPackName,
-                                                lcp1, lcp2, null, null));
-                                            mappingMap.put(lcp2, createXpdrMappingObject(nodeId, port2, cpOpt.get()
-                                                    .getCircuitPackName(), lcp2, lcp1, null, null));
-                                        } else {
-                                            LOG.warn("mapping already exists for {} or {}", lcp1, lcp2);
-                                        }
-                                        line += 2;
+                        String lcp1 = "XPDR" + xponderNb + "-" + StringConstants.NETWORK_TOKEN + line;
+
+                        Optional<CircuitPacks> cpOpt = circuitPackList.stream().filter(cP -> cP.getCircuitPackName()
+                            .equals(port.getPartnerPort().getCircuitPackName())).findFirst();
+                        if (cpOpt.isPresent()) {
+                            Optional<Ports> poOpt = cpOpt.get().getPorts().stream().filter(p -> p.getPortName().equals(
+                                port.getPartnerPort().getPortName().toString())).findFirst();
+                            if (poOpt.isPresent()) {
+                                Ports port2 = poOpt.get();
+                                if (checkPartnerPort(circuitPackName, port, port2)) {
+                                    String lcp2 = new StringBuilder("XPDR").append(xponderNb).append("-").append(
+                                        StringConstants.NETWORK_TOKEN).append(line + 1).toString();
+                                    if (!lcpMap.containsKey(lcp1) && !lcpMap.containsKey(lcp2)) {
+                                        lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp1);
+                                        lcpMap.put(cpOpt.get().getCircuitPackName() + '+' + port2.getPortName(), lcp2);
+                                        mappingMap.put(lcp1, createXpdrMappingObject(nodeId, port, circuitPackName,
+                                            lcp1, lcp2, null, null, xponderType));
+                                        mappingMap.put(lcp2, createXpdrMappingObject(nodeId, port2, cpOpt.get()
+                                            .getCircuitPackName(), lcp2, lcp1, null, null, xponderType));
                                     } else {
-                                        LOG.error("port {} on {} is not a correct partner port of {} on  {}",
-                                            port2.getPortName(), cpOpt.get().getCircuitPackName(), port.getPortName(),
-                                            circuitPackName);
+                                        LOG.warn("mapping already exists for {} or {}", lcp1, lcp2);
                                     }
+                                    line += 2;
                                 } else {
-                                    LOG.error("Error fetching port {} on {} for {}",
-                                        port.getPartnerPort().getPortName(), port.getPartnerPort().getCircuitPackName(),
-                                        nodeId);
+                                    LOG.error("port {} on {} is not a correct partner port of {} on  {}", port2
+                                        .getPortName(), cpOpt.get().getCircuitPackName(), port.getPortName(),
+                                        circuitPackName);
                                 }
                             } else {
-                                LOG.error("Error fetching circuit-pack {} for {}",
+                                LOG.error("Error fetching port {} on {} for {}", port.getPartnerPort().getPortName(),
                                     port.getPartnerPort().getCircuitPackName(), nodeId);
                             }
-                        } else if (PortQual.XpdrClient.getIntValue() == port.getPortQual().getIntValue()
-                            || PortQual.SwitchClient.getIntValue() == port.getPortQual().getIntValue()) {
-                            String lcp = xpdrPreFix + "-" + StringConstants.CLIENT_TOKEN + client;
-                            lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp);
-                            mappingMap.put(lcp,
-                                createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null, null));
-                            client++;
                         } else {
-                            LOG.warn("Error in the configuration of port {} of {} for {}",
-                                port.getPortName(), circuitPackName, nodeId);
+                            LOG.error("Error fetching circuit-pack {} for {}", port.getPartnerPort()
+                                .getCircuitPackName(), nodeId);
                         }
+                    } else if (PortQual.XpdrClient.getIntValue() == port.getPortQual().getIntValue()
+                        || PortQual.SwitchClient.getIntValue() == port.getPortQual().getIntValue()) {
+                        String lcp = "XPDR" + xponderNb + "-" + StringConstants.CLIENT_TOKEN + client;
+                        lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp);
+                        mappingMap.put(lcp, createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null,
+                            null, null));
+                        client++;
+                    } else {
+                        LOG.warn("Error in the configuration of port {} of {} for {}", port.getPortName(),
+                            circuitPackName, nodeId);
                     }
                 }
             }
@@ -398,7 +391,7 @@ public class PortMappingVersion221 {
                 if (slcp != null) {
                     Mapping mapping = mappingMap.get(slcp);
                     mappingMap.remove(slcp);
-                    portMapList.add(createXpdrMappingObject(nodeId, null, null, null, null, mapping, dlcp));
+                    portMapList.add(createXpdrMappingObject(nodeId, null, null, null, null, mapping, dlcp, null));
                 } else {
                     LOG.error("Error in connection-map analysis");
                 }
@@ -406,10 +399,45 @@ public class PortMappingVersion221 {
         } else {
             LOG.warn("No connection-map inside device configuration");
         }
-        if (!mappingMap.isEmpty()) {
-            for (Mapping m : mappingMap.values()) {
-                portMapList.add(m);
+        if (device.getOduSwitchingPools() != null) {
+            List<OduSwitchingPools> oduSwithcingPools = device.getOduSwitchingPools();
+            List<SwitchingPoolLcp> switchingPoolList = new ArrayList<>();
+            for (OduSwitchingPools odp : oduSwithcingPools) {
+                List<NonBlockingList> nblList = new ArrayList<>();
+                for (org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org
+                    .openroadm.device.odu.switching.pools.NonBlockingList nbl : odp.getNonBlockingList()) {
+                    List<String> lcpList = new ArrayList<>();
+                    if (nbl.getPortList() != null) {
+                        for (PortList item : nbl.getPortList()) {
+                            String key = item.getCircuitPackName() + "+" + item.getPortName();
+                            if (lcpMap.containsKey(key)) {
+                                lcpList.add(lcpMap.get(key));
+                            } else {
+                                LOG.error("error : port {} of {} is not associated to a logical connection point",
+                                    item.getPortName(), item.getCircuitPackName());
+                            }
+                        }
+                        NonBlockingList nonBlockingList = new NonBlockingListBuilder()
+                            .setNblNumber(nbl.getNblNumber())
+                            .setInterconnectBandwidth(nbl.getInterconnectBandwidth())
+                            .setInterconnectBandwidthUnit(nbl.getInterconnectBandwidthUnit())
+                            .setLcpList(lcpList)
+                            .build();
+                        nblList.add(nonBlockingList);
+                    }
+                }
+                SwitchingPoolLcp splBldr = new SwitchingPoolLcpBuilder()
+                    .setSwitchingPoolNumber(odp.getSwitchingPoolNumber())
+                    .setSwitchingPoolType(odp.getSwitchingPoolType())
+                    .setNonBlockingList(nblList)
+                    .build();
+                switchingPoolList.add(splBldr);
             }
+            postPortMapping(nodeId, null, null, null, switchingPoolList);
+        }
+
+        if (!mappingMap.isEmpty()) {
+            mappingMap.forEach((k,v) -> portMapList.add(v));
         }
         return true;
     }
@@ -546,8 +574,7 @@ public class PortMappingVersion221 {
                             continue;
                         }
                     } else {
-                        LOG.info("{} : port {} on {} is not roadm-external or has already been handled."
-                            + " No logicalConnectionPoint assignment for this port.",
+                        LOG.info("{} : port {} on {} is not roadm-external or has already been handled. No logicalConnectionPoint assignment for this port.",
                             nodeId, port.getPortName(), circuitPackName);
                     }
                 }
@@ -681,9 +708,8 @@ public class PortMappingVersion221 {
     }
 
     private boolean postPortMapping(String nodeId, NodeInfo nodeInfo, List<Mapping> portMapList,
-        List<CpToDegree> cp2DegreeList) {
-        NodesBuilder nodesBldr = new NodesBuilder();
-        nodesBldr.withKey(new NodesKey(nodeId)).setNodeId(nodeId);
+        List<CpToDegree> cp2DegreeList, List<SwitchingPoolLcp> splList) {
+        NodesBuilder nodesBldr = new NodesBuilder().withKey(new NodesKey(nodeId)).setNodeId(nodeId);
         if (nodeInfo != null) {
             nodesBldr.setNodeInfo(nodeInfo);
         }
@@ -693,12 +719,13 @@ public class PortMappingVersion221 {
         if (cp2DegreeList != null) {
             nodesBldr.setCpToDegree(cp2DegreeList);
         }
-
+        if (splList != null) {
+            nodesBldr.setSwitchingPoolLcp(splList);
+        }
         List<Nodes> nodesList = new ArrayList<>();
         nodesList.add(nodesBldr.build());
 
-        NetworkBuilder nwBldr = new NetworkBuilder();
-        nwBldr.setNodes(nodesList);
+        NetworkBuilder nwBldr = new NetworkBuilder().setNodes(nodesList);
 
         final WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
         InstanceIdentifier<Network> nodesIID = InstanceIdentifier.builder(Network.class).build();
@@ -708,7 +735,6 @@ public class PortMappingVersion221 {
         try {
             commit.get();
             return true;
-
         } catch (InterruptedException | ExecutionException e) {
             LOG.warn("Failed to post {}", network, e);
             return false;
@@ -761,16 +787,16 @@ public class PortMappingVersion221 {
     }
 
     private Mapping createXpdrMappingObject(String nodeId, Ports port, String circuitPackName,
-        String logicalConnectionPoint, String partnerLcp, Mapping mapping, String assoLcp) {
+            String logicalConnectionPoint, String partnerLcp, Mapping mapping, String connectionMapLcp,
+            XpdrNodeTypes xpdrNodeType) {
         MappingBuilder mpBldr;
-        if (mapping != null && assoLcp != null) {
+        if (mapping != null && connectionMapLcp != null) {
             // update existing mapping
-            mpBldr = new MappingBuilder(mapping);
-            mpBldr.setConnectionMapLcp(assoLcp);
+            mpBldr = new MappingBuilder(mapping).setConnectionMapLcp(connectionMapLcp);
         } else {
             // create a new mapping
-            mpBldr = new MappingBuilder();
-            mpBldr.withKey(new MappingKey(logicalConnectionPoint))
+            mpBldr = new MappingBuilder()
+                .withKey(new MappingKey(logicalConnectionPoint))
                 .setLogicalConnectionPoint(logicalConnectionPoint)
                 .setSupportingCircuitPackName(circuitPackName)
                 .setSupportingPort(port.getPortName())
@@ -778,6 +804,12 @@ public class PortMappingVersion221 {
             if (port.getPortQual() != null) {
                 mpBldr.setPortQual(port.getPortQual().getName());
             }
+            if (port.getSupportedInterfaceCapability() != null) {
+                mpBldr.setSupportedInterfaceCapability(port.getSupportedInterfaceCapability());
+            }
+            if (xpdrNodeType != null) {
+                mpBldr.setXponderType(xpdrNodeType);
+            }
             if (partnerLcp != null) {
                 mpBldr.setPartnerLcp(partnerLcp);
             }
@@ -793,7 +825,7 @@ public class PortMappingVersion221 {
         Map<String, String> interfaceList = getEthInterfaceList(nodeId);
         List<CpToDegree> cpToDegreeList = getCpToDegreeList(degrees, nodeId, interfaceList);
         LOG.info("Map looks like this {}", interfaceList);
-        postPortMapping(nodeId, null, null, cpToDegreeList);
+        postPortMapping(nodeId, null, null, cpToDegreeList, null);
 
         Map<Integer, List<ConnectionPorts>> connectionPortMap = getPerDegreePorts(nodeId, deviceInfo);
         for (Integer k : connectionPortMap.keySet()) {
index f6b5e7bad739337f893325c4052464a7907cfed0..669be1becb83ee2d320a90e809add926c49324fb 100644 (file)
@@ -12,10 +12,9 @@ import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
 import org.opendaylight.mdsal.binding.api.RpcProviderService;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.InstanceIdentifiers;
+import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.transportpce.common.network.NetworkTransactionService;
-import org.opendaylight.transportpce.networkmodel.util.ClliNetwork;
-import org.opendaylight.transportpce.networkmodel.util.OpenRoadmFactory;
-import org.opendaylight.transportpce.networkmodel.util.OpenRoadmNetwork;
+import org.opendaylight.transportpce.networkmodel.util.TpceNetwork;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.TransportpceNetworkutilsService;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
@@ -27,25 +26,22 @@ public class NetworkModelProvider {
 
     private static final Logger LOG = LoggerFactory.getLogger(NetworkModelProvider.class);
 
-    private NetworkTransactionService networkTransactionService;
     private final DataBroker dataBroker;
     private final RpcProviderService rpcProviderService;
     private final TransportpceNetworkutilsService networkutilsService;
     private final NetConfTopologyListener topologyListener;
-    private final OpenRoadmFactory openRoadmFactory;
     private ListenerRegistration<NetConfTopologyListener> dataTreeChangeListenerRegistration;
     private ObjectRegistration<TransportpceNetworkutilsService> networkutilsServiceRpcRegistration;
+    private TpceNetwork tpceNetwork;
 
-    public NetworkModelProvider(NetworkTransactionService networkTransactionService,
-                                final DataBroker dataBroker, final RpcProviderService rpcProviderService,
-            final TransportpceNetworkutilsService networkutilsService, final NetConfTopologyListener topologyListener,
-                                OpenRoadmFactory openRoadmFactory) {
-        this.networkTransactionService = networkTransactionService;
+    public NetworkModelProvider(NetworkTransactionService networkTransactionService, final DataBroker dataBroker,
+        final RpcProviderService rpcProviderService, final TransportpceNetworkutilsService networkutilsService,
+        final NetConfTopologyListener topologyListener) {
         this.dataBroker = dataBroker;
         this.rpcProviderService = rpcProviderService;
         this.networkutilsService = networkutilsService;
         this.topologyListener = topologyListener;
-        this.openRoadmFactory = openRoadmFactory;
+        this.tpceNetwork = new TpceNetwork(networkTransactionService);
     }
 
     /**
@@ -53,10 +49,10 @@ public class NetworkModelProvider {
      */
     public void init() {
         LOG.info("NetworkModelProvider Session Initiated");
-        ClliNetwork.createClliLayer(dataBroker);
-        OpenRoadmNetwork.createOpenRoadmNetworkLayer(dataBroker);
-        openRoadmFactory.createTopoLayerVersionControl(networkTransactionService);
-        openRoadmFactory.createOtnTopoLayerVersionControl(networkTransactionService);
+        tpceNetwork.createLayer(NetworkUtils.CLLI_NETWORK_ID);
+        tpceNetwork.createLayer(NetworkUtils.UNDERLAY_NETWORK_ID);
+        tpceNetwork.createLayer(NetworkUtils.OVERLAY_NETWORK_ID);
+        tpceNetwork.createLayer(NetworkUtils.OTN_NETWORK_ID);
         dataTreeChangeListenerRegistration =
             dataBroker.registerDataTreeChangeListener(DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL,
                 InstanceIdentifiers.NETCONF_TOPOLOGY_II.child(Node.class)), topologyListener);
@@ -64,7 +60,6 @@ public class NetworkModelProvider {
             rpcProviderService.registerRpcImplementation(TransportpceNetworkutilsService.class, networkutilsService);
     }
 
-
         /**
          * Method called when the blueprint container is destroyed.
          */
@@ -77,5 +72,4 @@ public class NetworkModelProvider {
             networkutilsServiceRpcRegistration.close();
         }
     }
-
 }
index 32f9d18f28641d319369f1895401f08546219c69..d1fe74701b5a954633c7155cef8ac60e9e75fdc0 100644 (file)
@@ -15,7 +15,6 @@ import org.opendaylight.mdsal.binding.api.ReadTransaction;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.NetworkUtils;
-import org.opendaylight.transportpce.networkmodel.util.OpenRoadmFactory;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.DeleteLinkInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.DeleteLinkOutput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.DeleteLinkOutputBuilder;
@@ -47,11 +46,9 @@ public class NetworkUtilsImpl implements TransportpceNetworkutilsService {
 
     private static final Logger LOG = LoggerFactory.getLogger(NetworkUtilsImpl.class);
     private final DataBroker dataBroker;
-    private final OpenRoadmFactory openRoadmFactory;
 
-    public NetworkUtilsImpl(DataBroker dataBroker, OpenRoadmFactory openRoadmFactory) {
+    public NetworkUtilsImpl(DataBroker dataBroker) {
         this.dataBroker = dataBroker;
-        this.openRoadmFactory = openRoadmFactory;
     }
 
     @Override
@@ -101,8 +98,7 @@ public class NetworkUtilsImpl implements TransportpceNetworkutilsService {
 
     @Override
     public ListenableFuture<RpcResult<InitRoadmNodesOutput>> initRoadmNodes(InitRoadmNodesInput input) {
-        boolean createRdmLinks = OrdLink.createRdm2RdmLinks(input,
-            this.openRoadmFactory,this.dataBroker);
+        boolean createRdmLinks = OrdLink.createRdm2RdmLinks(input, this.dataBroker);
         if (createRdmLinks) {
             return RpcResultBuilder
                 .success(new InitRoadmNodesOutputBuilder().setResult(
@@ -117,8 +113,7 @@ public class NetworkUtilsImpl implements TransportpceNetworkutilsService {
     public ListenableFuture<RpcResult<InitXpdrRdmLinksOutput>> initXpdrRdmLinks(InitXpdrRdmLinksInput input) {
         // Assigns user provided input in init-network-view RPC to nodeId
         LOG.info("Xpdr to Roadm links rpc called");
-        boolean createXpdrRdmLinks = Rdm2XpdrLink.createXpdrRdmLinks(input.getLinksInput(),
-            this.openRoadmFactory,this.dataBroker);
+        boolean createXpdrRdmLinks = Rdm2XpdrLink.createXpdrRdmLinks(input.getLinksInput(), this.dataBroker);
         if (createXpdrRdmLinks) {
             return RpcResultBuilder
                 .success(new InitXpdrRdmLinksOutputBuilder().setResult("Xponder Roadm Link created successfully"))
@@ -130,8 +125,7 @@ public class NetworkUtilsImpl implements TransportpceNetworkutilsService {
 
     @Override
     public ListenableFuture<RpcResult<InitRdmXpdrLinksOutput>> initRdmXpdrLinks(InitRdmXpdrLinksInput input) {
-        boolean createRdmXpdrLinks = Rdm2XpdrLink.createRdmXpdrLinks(input.getLinksInput(),
-            this.openRoadmFactory,this.dataBroker);
+        boolean createRdmXpdrLinks = Rdm2XpdrLink.createRdmXpdrLinks(input.getLinksInput(), this.dataBroker);
         if (createRdmXpdrLinks) {
             return RpcResultBuilder
                 .success(new InitRdmXpdrLinksOutputBuilder().setResult("Roadm Xponder links created successfully"))
index c44203cf3a38cef4cddc873263f82c93b9b84297..779699124352fad3b77bfee35fc58bce6b3a1f04 100644 (file)
@@ -14,7 +14,7 @@ import org.opendaylight.mdsal.binding.api.WriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.transportpce.networkmodel.util.LinkIdUtil;
-import org.opendaylight.transportpce.networkmodel.util.OpenRoadmFactory;
+import org.opendaylight.transportpce.networkmodel.util.TopologyUtils;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.InitRoadmNodesInput;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1Builder;
@@ -39,8 +39,7 @@ final class OrdLink {
 
     /**Method to create OMS links if not discovered by LLDP. This is helpful
      to create test topologies using simulators**/
-    public static boolean createRdm2RdmLinks(InitRoadmNodesInput input,
-                                             OpenRoadmFactory openRoadmFactory, DataBroker dataBroker) {
+    public static boolean createRdm2RdmLinks(InitRoadmNodesInput input, DataBroker dataBroker) {
 
         LinkId oppositeLinkId = LinkIdUtil.getRdm2RdmOppositeLinkId(input);
 
@@ -59,7 +58,7 @@ final class OrdLink {
         String destTp = input.getTerminationPointZ();
 
         //IETF link builder
-        LinkBuilder linkBuilder = openRoadmFactory.createLink(srcNode, destNode, srcTp, destTp);
+        LinkBuilder linkBuilder = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp);
 
         linkBuilder.addAugmentation(Link1.class,link1Builder.build());
         linkBuilder.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
index 0cf4e4dce5af55d22c32d8ef5a8a5d50a2a1fc09..9b7e572c1634450a95f01da5cbd9fe408469cf40 100644 (file)
@@ -24,7 +24,7 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.Timeouts;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.network.NetworkTransactionService;
-import org.opendaylight.transportpce.networkmodel.util.OpenRoadmFactory;
+import org.opendaylight.transportpce.networkmodel.util.TopologyUtils;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.InitRoadmNodesInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.Network;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.Nodes;
@@ -49,13 +49,11 @@ public class R2RLinkDiscovery {
     private final DataBroker dataBroker;
     private final NetworkTransactionService networkTransactionService;
     private final DeviceTransactionManager deviceTransactionManager;
-    private final OpenRoadmFactory openRoadmFactory;
 
     public R2RLinkDiscovery(final DataBroker dataBroker, DeviceTransactionManager deviceTransactionManager,
-        OpenRoadmFactory openRoadmFactory, NetworkTransactionService networkTransactionService) {
+        NetworkTransactionService networkTransactionService) {
         this.dataBroker = dataBroker;
         this.deviceTransactionManager = deviceTransactionManager;
-        this.openRoadmFactory = openRoadmFactory;
         this.networkTransactionService = networkTransactionService;
     }
 
@@ -225,7 +223,7 @@ public class R2RLinkDiscovery {
         r2rlinkBuilderAToZ.setRdmANode(nodeId.getValue()).setDegANum(srcDegId.shortValue())
             .setTerminationPointA(srcTpTx).setRdmZNode(destNodeId.getValue()).setDegZNum(destDegId.shortValue())
             .setTerminationPointZ(destTpRx);
-        if (!OrdLink.createRdm2RdmLinks(r2rlinkBuilderAToZ.build(), this.openRoadmFactory, this.dataBroker)) {
+        if (!OrdLink.createRdm2RdmLinks(r2rlinkBuilderAToZ.build(), this.dataBroker)) {
             LOG.error("OMS Link creation failed between node: {} and nodeId: {} in A->Z direction", nodeId.getValue(),
                 destNodeId.getValue());
             return false;
@@ -236,11 +234,14 @@ public class R2RLinkDiscovery {
                 + ", SrcTPId: {}, DestNodeId:{} , DestDegId: {}, DestTPId: {}",
             destNodeId, destDegId, destTpTx, nodeId.getValue(), srcDegId, srcTpRx);
 
-        InitRoadmNodesInputBuilder r2rlinkBuilderZToA = new InitRoadmNodesInputBuilder();
-        r2rlinkBuilderZToA.setRdmANode(destNodeId.getValue()).setDegANum(destDegId.shortValue())
-            .setTerminationPointA(destTpTx).setRdmZNode(nodeId.getValue()).setDegZNum(srcDegId.shortValue())
+        InitRoadmNodesInputBuilder r2rlinkBuilderZToA = new InitRoadmNodesInputBuilder()
+            .setRdmANode(destNodeId.getValue())
+            .setDegANum(destDegId.shortValue())
+            .setTerminationPointA(destTpTx)
+            .setRdmZNode(nodeId.getValue())
+            .setDegZNum(srcDegId.shortValue())
             .setTerminationPointZ(srcTpRx);
-        if (!OrdLink.createRdm2RdmLinks(r2rlinkBuilderZToA.build(), this.openRoadmFactory, this.dataBroker)) {
+        if (!OrdLink.createRdm2RdmLinks(r2rlinkBuilderZToA.build(), this.dataBroker)) {
             LOG.error("OMS Link creation failed between node: {} and nodeId: {} in Z->A direction",
                 destNodeId.getValue(), nodeId.getValue());
             return false;
@@ -293,10 +294,10 @@ public class R2RLinkDiscovery {
             destTpTx = "DEG" + destDegId + "-TTP-TX";
             destTpRx = "DEG" + destDegId + "-TTP-RX";
         }
-        return this.openRoadmFactory.deleteLink(nodeId.getValue() + "-" + srcDegId.toString(),
+        return TopologyUtils.deleteLink(nodeId.getValue() + "-" + srcDegId.toString(),
                 destNodeId.getValue() + "-" + destDegId.toString(),
                 srcTpTx.toString(), destTpRx.toString(),networkTransactionService)
-            && this.openRoadmFactory.deleteLink(destNodeId.getValue() + "-" + destDegId.toString(),
+            && TopologyUtils.deleteLink(destNodeId.getValue() + "-" + destDegId.toString(),
                 nodeId.getValue() + "-" + srcDegId.toString(), destTpTx, srcTpRx,
                 networkTransactionService);
     }
index 9edfc068563319099289b3ebd032c901c645f209..bdf46a6f39b932c9f177ec53aadea60f54bc40cf 100644 (file)
@@ -10,27 +10,42 @@ package org.opendaylight.transportpce.networkmodel;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.util.concurrent.FluentFuture;
+
+import java.util.Optional;
 import java.util.concurrent.ExecutionException;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadTransaction;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
 import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.transportpce.networkmodel.util.LinkIdUtil;
-import org.opendaylight.transportpce.networkmodel.util.OpenRoadmFactory;
+import org.opendaylight.transportpce.networkmodel.util.TopologyUtils;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.links.input.grouping.LinksInput;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1Builder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPoint;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -40,8 +55,7 @@ final class Rdm2XpdrLink {
 
     private static final Logger LOG = LoggerFactory.getLogger(Rdm2XpdrLink.class);
 
-    public static boolean createXpdrRdmLinks(LinksInput linksInput, OpenRoadmFactory openRoadmFactory,
-                                             DataBroker dataBroker) {
+    public static boolean createXpdrRdmLinks(LinksInput linksInput, DataBroker dataBroker) {
         String srcNode =
             new StringBuilder(linksInput.getXpdrNode()).append("-XPDR").append(linksInput.getXpdrNum()).toString();
         String srcTp = new StringBuilder("XPDR").append(linksInput.getXpdrNum()).append("-NETWORK")
@@ -49,9 +63,10 @@ final class Rdm2XpdrLink {
         String destNode =
             new StringBuilder(linksInput.getRdmNode()).append("-SRG").append(linksInput.getSrgNum()).toString();
         String destTp = linksInput.getTerminationPointNum();
+        // update tail-equipment-id for tp of link
+        TerminationPoint xpdrTp = getTpofNode(srcNode, srcTp, dataBroker);
 
-        Network topoNetowkLayer = createNetworkBuilder(srcNode, srcTp, destNode, destTp, false,
-            openRoadmFactory).build();
+        Network topoNetowkLayer = createNetworkBuilder(srcNode, srcTp, destNode, destTp, false, xpdrTp).build();
         InstanceIdentifier.InstanceIdentifierBuilder<Network> nwIID = InstanceIdentifier.builder(Networks.class)
             .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)));
         WriteTransaction wrtx = dataBroker.newWriteOnlyTransaction();
@@ -63,16 +78,13 @@ final class Rdm2XpdrLink {
             commit.get();
             LOG.info("Post successful");
             return true;
-
         } catch (InterruptedException | ExecutionException e) {
             LOG.warn("Failed to create Xponder to Roadm link in the Topo layer ");
             return false;
-
         }
     }
 
-    public static boolean createRdmXpdrLinks(LinksInput linksInput,
-                                             OpenRoadmFactory openRoadmFactory, DataBroker dataBroker) {
+    public static boolean createRdmXpdrLinks(LinksInput linksInput, DataBroker dataBroker) {
         String srcNode =
             new StringBuilder(linksInput.getRdmNode()).append("-SRG").append(linksInput.getSrgNum()).toString();
         String srcTp = linksInput.getTerminationPointNum();
@@ -80,9 +92,9 @@ final class Rdm2XpdrLink {
             new StringBuilder(linksInput.getXpdrNode()).append("-XPDR").append(linksInput.getXpdrNum()).toString();
         String destTp = new StringBuilder("XPDR").append(linksInput.getXpdrNum()).append("-NETWORK")
             .append(linksInput.getNetworkNum()).toString();
+        TerminationPoint xpdrTp = getTpofNode(destNode, destTp, dataBroker);
 
-        Network topoNetowkLayer = createNetworkBuilder(srcNode, srcTp, destNode, destTp, true,
-            openRoadmFactory).build();
+        Network topoNetowkLayer = createNetworkBuilder(srcNode, srcTp, destNode, destTp, true, xpdrTp).build();
         InstanceIdentifier.InstanceIdentifierBuilder<Network> nwIID =
             InstanceIdentifier.builder(Networks.class).child(Network.class,
             new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)));
@@ -101,13 +113,39 @@ final class Rdm2XpdrLink {
     }
 
     private static NetworkBuilder createNetworkBuilder(String srcNode, String srcTp, String destNode, String destTp,
-                                                       boolean isXponderInput, OpenRoadmFactory openRoadmFactory) {
+        boolean isXponderInput, TerminationPoint xpdrTp) {
+        //update tp of nodes
+        TerminationPointBuilder xpdrTpBldr = new TerminationPointBuilder(xpdrTp);
+        if (xpdrTpBldr.augmentation(TerminationPoint1.class) != null) {
+            LOG.warn("Rewritting tail-equipment-id {} on tp {} of node {}", xpdrTpBldr
+                .augmentation(TerminationPoint1.class).getXpdrNetworkAttributes().getTailEquipmentId(), srcTp, srcNode);
+        }
+        TerminationPoint1Builder tp1Bldr = new TerminationPoint1Builder();
+        if (isXponderInput) {
+            tp1Bldr.setXpdrNetworkAttributes(new XpdrNetworkAttributesBuilder()
+                .setTailEquipmentId(srcNode + "--" + srcTp).build());
+        } else {
+            tp1Bldr.setXpdrNetworkAttributes(new XpdrNetworkAttributesBuilder()
+                .setTailEquipmentId(destNode + "--" + destTp).build());
+        }
+        xpdrTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build());
+        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 node1 =
+            new Node1Builder().setTerminationPoint(ImmutableList.of(xpdrTpBldr.build())).build();
+        NodeBuilder nodeBldr = new NodeBuilder()
+            .addAugmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
+            .Node1.class, node1);
+        if (isXponderInput) {
+            nodeBldr.setNodeId(new NodeId(destNode));
+        } else {
+            nodeBldr.setNodeId(new NodeId(srcNode));
+        }
+
         Link1Builder lnk1bldr = new Link1Builder();
         org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder lnk2bldr
             = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder()
                 .setLinkType(isXponderInput ? OpenroadmLinkType.XPONDERINPUT : OpenroadmLinkType.XPONDEROUTPUT)
                 .setOppositeLink(LinkIdUtil.getOppositeLinkId(srcNode, srcTp, destNode, destTp));
-        LinkBuilder linkBuilder = openRoadmFactory.createLink(srcNode, destNode, srcTp, destTp)
+        LinkBuilder linkBuilder = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp)
             .addAugmentation(Link1.class, lnk1bldr.build())
             .addAugmentation(
                 org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class,
@@ -116,14 +154,44 @@ final class Rdm2XpdrLink {
         LOG.info("Link id in the linkbldr {}", linkBuilder.getLinkId());
         LOG.info("Link with oppo link {}", linkBuilder.augmentation(Link1.class));
         Network1Builder nwBldr1 = new Network1Builder().setLink(ImmutableList.of(linkBuilder.build()));
+
         NetworkId nwId = new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID);
         NetworkBuilder nwBuilder = new NetworkBuilder()
             .setNetworkId(nwId)
             .withKey(new NetworkKey(nwId))
-            .addAugmentation(Network1.class, nwBldr1.build());
+            .addAugmentation(Network1.class, nwBldr1.build())
+            .setNode(ImmutableList.of(nodeBldr.build()));
         return nwBuilder;
     }
 
+    private static TerminationPoint getTpofNode(String srcNode, String srcTp, DataBroker dataBroker) {
+        InstanceIdentifier<TerminationPoint> iiTp = InstanceIdentifier.builder(Networks.class)
+            .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
+            .child(Node.class, new NodeKey(new NodeId(srcNode)))
+            .augmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
+                .Node1.class)
+            .child(TerminationPoint.class, new TerminationPointKey(new TpId(srcTp)))
+            .build();
+        @NonNull
+        ReadTransaction readTransaction = dataBroker.newReadOnlyTransaction();
+        @NonNull
+        FluentFuture<Optional<TerminationPoint>> tpFf = readTransaction.read(LogicalDatastoreType.CONFIGURATION, iiTp);
+        TerminationPoint tp = null;
+        if (tpFf.isDone()) {
+            Optional<TerminationPoint> tpOpt = null;
+            try {
+                tpOpt = tpFf.get();
+            } catch (InterruptedException | ExecutionException e) {
+                LOG.error("Impossible to get tp-id {} of node {} from {}", srcTp, srcNode,
+                    NetworkUtils.OVERLAY_NETWORK_ID);
+            }
+            if (tpOpt.isPresent()) {
+                tp = tpOpt.get();
+            }
+        }
+        return tp;
+    }
+
     private Rdm2XpdrLink() {
     }
 
diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/dto/OtnTopoNode.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/dto/OtnTopoNode.java
new file mode 100644 (file)
index 0000000..5fcaff3
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Copyright Â© 2020 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.networkmodel.dto;
+
+import java.util.Map;
+
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.XpdrNodeTypes;
+
+public class OtnTopoNode {
+    private String nodeId;
+    private String clli;
+    private XpdrNodeTypes nodeType;
+    private int xpdrNb;
+    private Map<String, String> xpdrNetConnectionMap;
+    private Map<String, String> xpdrCliConnectionMap;
+
+    public OtnTopoNode(String nodeid, String clli, int xpdrNb, XpdrNodeTypes xpdrNodeTypes,
+        Map<String, String> xpdrNetConnectionMap, Map<String, String> xpdrCliConnectionMap) {
+        super();
+        this.nodeId = nodeid;
+        this.clli = clli;
+        this.nodeType = xpdrNodeTypes;
+        this.xpdrNb = xpdrNb;
+        this.xpdrNetConnectionMap = xpdrNetConnectionMap;
+        this.xpdrCliConnectionMap = xpdrCliConnectionMap;
+    }
+
+    public String getNodeId() {
+        return nodeId;
+    }
+
+    public XpdrNodeTypes getNodeType() {
+        return nodeType;
+    }
+
+    public int getNbTpNetwork() {
+        return xpdrNetConnectionMap.size();
+    }
+
+    public int getNbTpClient() {
+        return xpdrCliConnectionMap.size();
+    }
+
+    public int getXpdrNb() {
+        return xpdrNb;
+    }
+
+    public String getClli() {
+        return clli;
+    }
+
+    public Map<String, String> getXpdrNetConnectionMap() {
+        return xpdrNetConnectionMap;
+    }
+
+    public Map<String, String> getXpdrCliConnectionMap() {
+        return xpdrCliConnectionMap;
+    }
+}
index 0b075e74018c958d13af1e6f98ccb1a3bd4ce6cb..4f86bdf1feec1492464d427446a214de63b0fa5e 100644 (file)
@@ -15,15 +15,14 @@ import java.util.concurrent.TimeoutException;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.NetworkUtils;
-import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.mapping.PortMapping;
 import org.opendaylight.transportpce.common.network.NetworkTransactionService;
 import org.opendaylight.transportpce.networkmodel.R2RLinkDiscovery;
 import org.opendaylight.transportpce.networkmodel.dto.TopologyShard;
 import org.opendaylight.transportpce.networkmodel.util.ClliNetwork;
-import org.opendaylight.transportpce.networkmodel.util.OpenRoadmFactory;
 import org.opendaylight.transportpce.networkmodel.util.OpenRoadmNetwork;
-import org.opendaylight.transportpce.networkmodel.util.OpenRoadmOtnTopology22;
+import org.opendaylight.transportpce.networkmodel.util.OpenRoadmOtnTopology;
+import org.opendaylight.transportpce.networkmodel.util.OpenRoadmTopology;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.NodeInfo;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.NodeInfo.OpenroadmVersion;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes;
@@ -48,20 +47,15 @@ public class NetworkModelServiceImpl implements NetworkModelService {
 
     private NetworkTransactionService networkTransactionService;
     private final R2RLinkDiscovery linkDiscovery;
-    private final DeviceTransactionManager deviceTransactionManager;
-    private final OpenRoadmFactory openRoadmFactory;
     private final PortMapping portMapping;
     private HashMap<String,TopologyShard> topologyShardMountedDevice;
     private HashMap<String,TopologyShard> otnTopologyShardMountedDevice;
 
     public NetworkModelServiceImpl(final NetworkTransactionService networkTransactionService,
-        final R2RLinkDiscovery linkDiscovery, DeviceTransactionManager deviceTransactionManager,
-            OpenRoadmFactory openRoadmFactory, PortMapping portMapping) {
+        final R2RLinkDiscovery linkDiscovery, PortMapping portMapping) {
 
         this.networkTransactionService = networkTransactionService;
         this.linkDiscovery = linkDiscovery;
-        this.deviceTransactionManager = deviceTransactionManager;
-        this.openRoadmFactory = openRoadmFactory;
         this.portMapping = portMapping;
         this.topologyShardMountedDevice = new HashMap<String,TopologyShard>();
         this.otnTopologyShardMountedDevice = new HashMap<String,TopologyShard>();
@@ -87,7 +81,7 @@ public class NetworkModelServiceImpl implements NetworkModelService {
             if (nodeInfo.getNodeType().getIntValue() == 1) {
                 this.linkDiscovery.readLLDP(new NodeId(nodeId), openRoadmVersion);
             }
-
+            // node creation in clli-network
             Node clliNode = ClliNetwork.createNode(nodeId, nodeInfo);
             InstanceIdentifier<Node> iiClliNode = InstanceIdentifier.builder(Networks.class)
                 .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.CLLI_NETWORK_ID)))
@@ -97,65 +91,73 @@ public class NetworkModelServiceImpl implements NetworkModelService {
             networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiClliNode, clliNode,
                 CREATE_MISSING_PARENTS);
 
-            Node openRoadmNode = OpenRoadmNetwork.createNode(nodeId, nodeInfo);
-            InstanceIdentifier<Node> iiOpenRoadmNode = InstanceIdentifier.builder(Networks.class)
+            // node creation in openroadm-network
+            Node openroadmNetworkNode = OpenRoadmNetwork.createNode(nodeId, nodeInfo);
+            InstanceIdentifier<Node> iiopenroadmNetworkNode = InstanceIdentifier.builder(Networks.class)
                 .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID)))
-                .child(Node.class, openRoadmNode.key())
+                .child(Node.class, openroadmNetworkNode.key())
                 .build();
             LOG.info("creating node in {}", NetworkUtils.UNDERLAY_NETWORK_ID);
-            networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOpenRoadmNode, openRoadmNode,
-                CREATE_MISSING_PARENTS);
+            networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiopenroadmNetworkNode,
+                openroadmNetworkNode, CREATE_MISSING_PARENTS);
 
-            TopologyShard topologyShard =
-                openRoadmFactory.createTopologyShardVersionControl(portMapping.getNode(nodeId));
-
-            if (topologyShard == null) {
-                LOG.error("Unable to create topology shard for node {}!", nodeId);
-                return;
-            }
-            this.topologyShardMountedDevice.put(nodeId, topologyShard);
-
-            for (Node openRoadmTopologyNode: topologyShard.getNodes()) {
-                LOG.info("creating node {} in {}", openRoadmTopologyNode.getNodeId().getValue(),
-                        NetworkUtils.OVERLAY_NETWORK_ID);
-                InstanceIdentifier<Node> iiOpenRoadmTopologyNode = InstanceIdentifier.builder(Networks.class)
-                    .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
-                    .child(Node.class, openRoadmTopologyNode.key())
-                    .build();
-                networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOpenRoadmTopologyNode,
-                    openRoadmTopologyNode, CREATE_MISSING_PARENTS);
-            }
-            for (Link openRoadmTopologyLink: topologyShard.getLinks()) {
-                LOG.info("creating link {} in {}", openRoadmTopologyLink.getLinkId().getValue(),
-                        NetworkUtils.OVERLAY_NETWORK_ID);
-                InstanceIdentifier<Link> iiOpenRoadmTopologyLink = InstanceIdentifier.builder(Networks.class)
-                    .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
-                    .augmentation(Network1.class)
-                    .child(Link.class, openRoadmTopologyLink.key())
-                    .build();
-                networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOpenRoadmTopologyLink,
-                    openRoadmTopologyLink, CREATE_MISSING_PARENTS);
-            }
-            if (nodeInfo.getNodeType().equals(NodeTypes.Xpdr) && (nodeInfo.getOpenroadmVersion().getIntValue() != 1)) {
-                TopologyShard otnTopologyShard = new OpenRoadmOtnTopology22(this.networkTransactionService,
-                    this.deviceTransactionManager).createTopologyShard(portMapping.getNode(nodeId));
-                if (otnTopologyShard == null) {
-                    LOG.error("Unable to create OTN topology shard for node {}!", nodeId);
-                    return;
+            // nodes/links creation in openroadm-topology
+            TopologyShard topologyShard = OpenRoadmTopology.createTopologyShard(portMapping.getNode(nodeId));
+            if (topologyShard != null) {
+                this.topologyShardMountedDevice.put(nodeId, topologyShard);
+                for (Node openRoadmTopologyNode: topologyShard.getNodes()) {
+                    LOG.info("creating node {} in {}", openRoadmTopologyNode.getNodeId().getValue(),
+                            NetworkUtils.OVERLAY_NETWORK_ID);
+                    InstanceIdentifier<Node> iiOpenRoadmTopologyNode = InstanceIdentifier.builder(Networks.class)
+                        .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
+                        .child(Node.class, openRoadmTopologyNode.key())
+                        .build();
+                    networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOpenRoadmTopologyNode,
+                        openRoadmTopologyNode, CREATE_MISSING_PARENTS);
                 }
-                this.otnTopologyShardMountedDevice.put(nodeId, otnTopologyShard);
+                for (Link openRoadmTopologyLink: topologyShard.getLinks()) {
+                    LOG.info("creating link {} in {}", openRoadmTopologyLink.getLinkId().getValue(),
+                            NetworkUtils.OVERLAY_NETWORK_ID);
+                    InstanceIdentifier<Link> iiOpenRoadmTopologyLink = InstanceIdentifier.builder(Networks.class)
+                        .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
+                        .augmentation(Network1.class)
+                        .child(Link.class, openRoadmTopologyLink.key())
+                        .build();
+                    networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOpenRoadmTopologyLink,
+                        openRoadmTopologyLink, CREATE_MISSING_PARENTS);
+                }
+            } else {
+                LOG.error("Unable to create openroadm-topology shard for node {}!", nodeId);
+            }
 
-                for (Node openRoadmOtnTopologyNode: otnTopologyShard.getNodes()) {
-                    LOG.info("creating node {} in {}", openRoadmOtnTopologyNode.getNodeId().getValue(),
-                            // NetworkUtils.OVERLAY_NETWORK_ID);
-                            NetworkUtils.OTN_NETWORK_ID);
-                    InstanceIdentifier<Node> iiOpenRoadmOtnTopologyNode = InstanceIdentifier.builder(Networks.class)
-                            // .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
+            // nodes/links creation in otn-topology
+            if (nodeInfo.getNodeType().getIntValue() == 2 && (nodeInfo.getOpenroadmVersion().getIntValue() != 1)) {
+                TopologyShard otnTopologyShard = OpenRoadmOtnTopology.createTopologyShard(portMapping.getNode(nodeId));
+                if (otnTopologyShard != null) {
+                    this.otnTopologyShardMountedDevice.put(nodeId, otnTopologyShard);
+                    for (Node otnTopologyNode: otnTopologyShard.getNodes()) {
+                        LOG.info("creating otn node {} in {}", otnTopologyNode.getNodeId().getValue(),
+                                NetworkUtils.OTN_NETWORK_ID);
+                        InstanceIdentifier<Node> iiOtnTopologyNode = InstanceIdentifier.builder(Networks.class)
+                                .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OTN_NETWORK_ID)))
+                                .child(Node.class, otnTopologyNode.key())
+                                .build();
+                        networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOtnTopologyNode,
+                            otnTopologyNode);
+                    }
+                    for (Link otnTopologyLink: otnTopologyShard.getLinks()) {
+                        LOG.info("creating otn link {} in {}", otnTopologyLink.getLinkId().getValue(),
+                                NetworkUtils.OVERLAY_NETWORK_ID);
+                        InstanceIdentifier<Link> iiOtnTopologyLink = InstanceIdentifier.builder(Networks.class)
                             .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OTN_NETWORK_ID)))
-                            .child(Node.class, openRoadmOtnTopologyNode.key())
+                            .augmentation(Network1.class)
+                            .child(Link.class, otnTopologyLink.key())
                             .build();
-                    networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOpenRoadmOtnTopologyNode,
-                            openRoadmOtnTopologyNode);
+                        networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOtnTopologyLink,
+                            otnTopologyLink, CREATE_MISSING_PARENTS);
+                    }
+                } else {
+                    LOG.error("Unable to create OTN topology shard for node {}!", nodeId);
                 }
             }
             networkTransactionService.commit().get();
@@ -163,7 +165,6 @@ public class NetworkModelServiceImpl implements NetworkModelService {
         } catch (InterruptedException | ExecutionException e) {
             LOG.error("ERROR: ", e);
         }
-
     }
 
     @Override
@@ -186,26 +187,20 @@ public class NetworkModelServiceImpl implements NetworkModelService {
     @Override
     public void deleteOpenRoadmnode(String nodeId) {
         try {
-            @Nullable
-            OpenroadmVersion deviceVersion = this.portMapping.getNode(nodeId).getNodeInfo().getOpenroadmVersion();
-            LOG.info("deleteOpenROADMnode: {} version {}", nodeId, deviceVersion.getName());
-            this.portMapping.deleteMappingData(nodeId);
-
             NodeKey nodeIdKey = new NodeKey(new NodeId(nodeId));
 
             LOG.info("deleting node in {}", NetworkUtils.UNDERLAY_NETWORK_ID);
-            InstanceIdentifier<Node> iiOpenRoadmNode = InstanceIdentifier.builder(Networks.class)
+            InstanceIdentifier<Node> iiopenroadmNetworkNode = InstanceIdentifier.builder(Networks.class)
                 .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID)))
                 .child(Node.class, nodeIdKey)
                 .build();
-            this.networkTransactionService.delete(LogicalDatastoreType.CONFIGURATION, iiOpenRoadmNode);
+            this.networkTransactionService.delete(LogicalDatastoreType.CONFIGURATION, iiopenroadmNetworkNode);
 
             TopologyShard topologyShard = this.topologyShardMountedDevice.get(nodeId);
             if (topologyShard != null) {
-                LOG.info("TopologyShard for node '{}' is present", nodeId);
                 for (Node openRoadmTopologyNode: topologyShard .getNodes()) {
                     LOG.info("deleting node {} in {}", openRoadmTopologyNode.getNodeId().getValue(),
-                            NetworkUtils.OVERLAY_NETWORK_ID);
+                        NetworkUtils.OVERLAY_NETWORK_ID);
                     InstanceIdentifier<Node> iiOpenRoadmTopologyNode = InstanceIdentifier.builder(Networks.class)
                         .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
                         .child(Node.class, openRoadmTopologyNode.key())
@@ -214,7 +209,7 @@ public class NetworkModelServiceImpl implements NetworkModelService {
                 }
                 for (Link openRoadmTopologyLink: topologyShard.getLinks()) {
                     LOG.info("deleting link {} in {}", openRoadmTopologyLink.getLinkId().getValue(),
-                            NetworkUtils.OVERLAY_NETWORK_ID);
+                        NetworkUtils.OVERLAY_NETWORK_ID);
                     InstanceIdentifier<Link> iiOpenRoadmTopologyLink = InstanceIdentifier.builder(Networks.class)
                         .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
                         .augmentation(Network1.class)
@@ -225,6 +220,39 @@ public class NetworkModelServiceImpl implements NetworkModelService {
             } else {
                 LOG.warn("TopologyShard for node '{}' is not present", nodeId);
             }
+            @Nullable
+            OpenroadmVersion deviceVersion = this.portMapping.getNode(nodeId).getNodeInfo().getOpenroadmVersion();
+            @Nullable
+            NodeTypes nodeType = this.portMapping.getNode(nodeId).getNodeInfo().getNodeType();
+            if (nodeType.getIntValue() == 2 && deviceVersion.getIntValue() != 1) {
+                TopologyShard otnTopologyShard = this.otnTopologyShardMountedDevice.get(nodeId);
+                LOG.info("suppression de otnTopologyShard = {}", otnTopologyShard.toString());
+                if (otnTopologyShard != null) {
+                    for (Node otnTopologyNode: otnTopologyShard .getNodes()) {
+                        LOG.info("deleting node {} in {}", otnTopologyNode.getNodeId().getValue(),
+                            NetworkUtils.OTN_NETWORK_ID);
+                        InstanceIdentifier<Node> iiotnTopologyNode = InstanceIdentifier.builder(Networks.class)
+                            .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OTN_NETWORK_ID)))
+                            .child(Node.class, otnTopologyNode.key())
+                            .build();
+                        this.networkTransactionService.delete(LogicalDatastoreType.CONFIGURATION, iiotnTopologyNode);
+                    }
+                    for (Link otnTopologyLink: otnTopologyShard.getLinks()) {
+                        LOG.info("deleting link {} in {}", otnTopologyLink.getLinkId().getValue(),
+                            NetworkUtils.OTN_NETWORK_ID);
+                        InstanceIdentifier<Link> iiotnTopologyLink = InstanceIdentifier.builder(Networks.class)
+                            .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OTN_NETWORK_ID)))
+                            .augmentation(Network1.class)
+                            .child(Link.class, otnTopologyLink.key())
+                            .build();
+                        this.networkTransactionService.delete(LogicalDatastoreType.CONFIGURATION, iiotnTopologyLink);
+                    }
+                }
+            }
+
+            LOG.info("deleteOpenROADMnode: {} version {}", nodeId, deviceVersion.getName());
+            this.portMapping.deleteMappingData(nodeId);
+
             this.networkTransactionService.commit().get(1, TimeUnit.SECONDS);
             LOG.info("all nodes and links deleted ! ");
         } catch (InterruptedException | ExecutionException | TimeoutException e) {
index 248fb4581959f7c4ea2816fed1cbf5df3749465d..7965d9c3b1d2ee63339005b43b00397554b3202d 100644 (file)
@@ -8,31 +8,13 @@
 
 package org.opendaylight.transportpce.networkmodel.util;
 
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.WriteTransaction;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.NodeInfo;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.NetworkTypes1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.NetworkTypes1Builder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.Node1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.Node1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.networks.network.network.types.ClliNetworkBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NetworkTypesBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -41,26 +23,6 @@ public final class ClliNetwork {
     private static final Logger LOG = LoggerFactory.getLogger(ClliNetwork.class);
 
     private ClliNetwork() {
-        // utility class
-    }
-
-    /**
-     * This public method creates the CLLI Layer and posts it to the controller.
-     *
-     * @param controllerdb   controller Databroker
-     */
-    public static void createClliLayer(DataBroker controllerdb) {
-        try {
-            Network clliNetwork = createNetwork();
-            InstanceIdentifierBuilder<Network> nwIID = InstanceIdentifier.builder(Networks.class).child(Network.class,
-                new NetworkKey(new NetworkId(NetworkUtils.CLLI_NETWORK_ID)));
-            WriteTransaction wrtx = controllerdb.newWriteOnlyTransaction();
-            wrtx.put(LogicalDatastoreType.CONFIGURATION, nwIID.build(), clliNetwork);
-            wrtx.commit().get(1, TimeUnit.SECONDS);
-            LOG.info("CLLI-Network created successfully.");
-        } catch (ExecutionException | TimeoutException | InterruptedException e) {
-            LOG.warn("Failed to create CLLI-Network", e);
-        }
     }
 
     /**
@@ -72,40 +34,27 @@ public final class ClliNetwork {
      * @return node builder status
      */
     public static Node createNode(String deviceId, NodeInfo nodeInfo) {
-        String clli = nodeInfo.getNodeClli();
         /*
          * Create node in the CLLI layer of the network model
          * with nodeId equal to the clli attribute in the device
          * model's info subtree
          */
         NodeBuilder nodeBldr = new NodeBuilder();
-        NodeId nwNodeId = new NodeId(clli);
-        nodeBldr.setNodeId(nwNodeId);
-        nodeBldr.withKey(new NodeKey(nwNodeId));
         /*
          * create clli node augmentation
          * defined in openroadm-clli-network.yang
          */
-        Node1Builder clliAugmentationBldr = new Node1Builder();
-        clliAugmentationBldr.setClli(clli);
-        nodeBldr.addAugmentation(Node1.class, clliAugmentationBldr.build());
-        return nodeBldr.build();
-    }
 
-    /**
-     * Create empty CLLI network.
-     */
-    private static Network createNetwork() {
-        NetworkBuilder nwBuilder = new NetworkBuilder();
-        NetworkId nwId = new NetworkId(NetworkUtils.CLLI_NETWORK_ID);
-        nwBuilder.setNetworkId(nwId);
-        nwBuilder.withKey(new NetworkKey(nwId));
-        //set network type to clli
-        NetworkTypes1Builder clliNetworkTypesBldr = new NetworkTypes1Builder();
-        clliNetworkTypesBldr.setClliNetwork(new ClliNetworkBuilder().build());
-        NetworkTypesBuilder nwTypeBuilder = new NetworkTypesBuilder();
-        nwTypeBuilder.addAugmentation(NetworkTypes1.class, clliNetworkTypesBldr.build());
-        nwBuilder.setNetworkTypes(nwTypeBuilder.build());
-        return nwBuilder.build();
+        if (nodeInfo.getNodeClli() != null) {
+            nodeBldr.setNodeId(new NodeId(nodeInfo.getNodeClli()))
+                .withKey(new NodeKey(new NodeId(nodeInfo.getNodeClli())));
+            Node1 clliAugmentation = new Node1Builder()
+                .setClli(nodeInfo.getNodeClli())
+                .build();
+            nodeBldr.addAugmentation(Node1.class, clliAugmentation);
+        } else {
+            LOG.warn("No CLLI configured in configuration of {}", deviceId);
+        }
+        return nodeBldr.build();
     }
 }
diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmFactory.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmFactory.java
deleted file mode 100644 (file)
index da4cb0c..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright Â© 2019 AT&T 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.networkmodel.util;
-
-import org.opendaylight.transportpce.common.mapping.MappingUtils;
-import org.opendaylight.transportpce.common.network.NetworkTransactionService;
-import org.opendaylight.transportpce.networkmodel.dto.TopologyShard;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.Nodes;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class OpenRoadmFactory {
-    private static final Logger LOG = LoggerFactory.getLogger(OpenRoadmFactory.class);
-    OpenRoadmTopology22 openRoadmTopology22;
-    OpenRoadmOtnTopology22 openRoadmOtnTopology22;
-    private final MappingUtils mappingUtils;
-
-    public OpenRoadmFactory(MappingUtils mappingUtils, OpenRoadmTopology22 openRoadmTopology22,
-        OpenRoadmOtnTopology22 openRoadmOtnTopology22) {
-        this.mappingUtils = mappingUtils;
-        this.openRoadmTopology22 = openRoadmTopology22;
-        this.openRoadmOtnTopology22 = openRoadmOtnTopology22;
-    }
-
-    public void createTopoLayerVersionControl(NetworkTransactionService networkTransactionService) {
-        openRoadmTopology22.createTopoLayer();
-    }
-
-    public void createOtnTopoLayerVersionControl(NetworkTransactionService networkTransactionService) {
-        openRoadmOtnTopology22.createTopoLayer();
-    }
-
-    public TopologyShard createTopologyShardVersionControl(Nodes mappingNode) {
-        return openRoadmTopology22.createTopologyShard(mappingNode);
-    }
-
-    public TopologyShard createOtnTopologyShardVersionControl(Nodes mappingNode) {
-        return openRoadmOtnTopology22.createTopologyShard(mappingNode);
-    }
-
-    public boolean deleteLink(String srcNode, String dstNode, String srcTp, String destTp,
-                                                              NetworkTransactionService networkTransactionService) {
-
-        return TopologyUtils.deleteLink(srcNode, dstNode, srcTp, destTp, networkTransactionService);
-    }
-
-    public LinkBuilder createLink(String srcNode, String dstNode, String srcTp, String destTp) {
-        return TopologyUtils.createLink(srcNode,dstNode,srcTp,destTp);
-
-    }
-}
index 5ce3167c37e864873b5f28723bc3f4d15c8feec9..d3ee6f00c2412289ece2f7f7dc3b94849db745fc 100644 (file)
@@ -9,35 +9,19 @@
 package org.opendaylight.transportpce.networkmodel.util;
 
 import com.google.common.collect.ImmutableList;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.WriteTransaction;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.NodeInfo;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.NetworkTypes1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.NetworkTypes1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.networks.network.network.types.OpenroadmCommonNetworkBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.rev181130.Node1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.rev181130.Node1Builder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NetworkTypesBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNode;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNodeKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -50,26 +34,6 @@ public final class OpenRoadmNetwork {
         // utility class
     }
 
-    /**
-     * This public method creates the OpenRoadmNetwork Layer and posts it to the
-     * controller.
-     *
-     * @param controllerdb controller databroker
-     */
-    public static void createOpenRoadmNetworkLayer(DataBroker controllerdb) {
-        try {
-            Network openRoadmNetwork = createOpenRoadmNetwork();
-            InstanceIdentifierBuilder<Network> nwIID = InstanceIdentifier.builder(Networks.class).child(Network.class,
-                new NetworkKey(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID)));
-            WriteTransaction wrtx = controllerdb.newWriteOnlyTransaction();
-            wrtx.put(LogicalDatastoreType.CONFIGURATION, nwIID.build(), openRoadmNetwork);
-            wrtx.commit().get(1, TimeUnit.SECONDS);
-            LOG.info("OpenRoadm-Network created successfully.");
-        } catch (ExecutionException | TimeoutException | InterruptedException e) {
-            LOG.warn("Failed to create OpenRoadm-Network", e);
-        }
-    }
-
     /**
      * Create single node entry for OpenRoadmNetwork.
      *
@@ -80,12 +44,8 @@ public final class OpenRoadmNetwork {
      */
     public static Node createNode(String nodeId, NodeInfo nodeInfo) {
 
-        NodeBuilder nodeBldr = new NodeBuilder();
-        NodeId nwNodeId = new NodeId(nodeId);
-        nodeBldr.setNodeId(nwNodeId);
-        nodeBldr.withKey(new NodeKey(nwNodeId));
-        Node1Builder node1bldr = new Node1Builder();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder node2bldr =
+        Node1Builder node1Bldr = new Node1Builder();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder node2Bldr =
             new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder();
 
         /*
@@ -93,10 +53,10 @@ public final class OpenRoadmNetwork {
          */
         switch (nodeInfo.getNodeType().getIntValue()) {
             case 1:
-                node2bldr.setNodeType(OpenroadmNodeType.ROADM);
+                node2Bldr.setNodeType(OpenroadmNodeType.ROADM);
                 break;
             case 2:
-                node2bldr.setNodeType(OpenroadmNodeType.XPONDER);
+                node2Bldr.setNodeType(OpenroadmNodeType.XPONDER);
                 break;
             default:
                 LOG.error("No correponsding type for the value: {}", nodeInfo.getNodeType().getName());
@@ -105,45 +65,31 @@ public final class OpenRoadmNetwork {
 
         // Sets IP, Model and Vendor information fetched from the deviceInfo
         if (nodeInfo.getNodeIpAddress() != null) {
-            node1bldr.setIp(nodeInfo.getNodeIpAddress());
+            node1Bldr.setIp(nodeInfo.getNodeIpAddress());
         }
         if (nodeInfo.getNodeModel() != null) {
-            node1bldr.setModel(nodeInfo.getNodeModel());
+            node1Bldr.setModel(nodeInfo.getNodeModel());
         }
         if (nodeInfo.getNodeVendor() != null) {
-            node1bldr.setVendor(nodeInfo.getNodeVendor());
+            node1Bldr.setVendor(nodeInfo.getNodeVendor());
         }
 
         // Sets the value of Network-ref and Node-ref as a part of the supporting node
         // attribute
-        SupportingNodeBuilder supportbldr = new SupportingNodeBuilder();
-        supportbldr.withKey(new SupportingNodeKey(new NetworkId(NetworkUtils.CLLI_NETWORK_ID),
-            new NodeId(nodeInfo.getNodeClli())));
-        supportbldr.setNetworkRef(new NetworkId(NetworkUtils.CLLI_NETWORK_ID));
-        supportbldr.setNodeRef(new NodeId(nodeInfo.getNodeClli()));
-        nodeBldr.setSupportingNode(ImmutableList.of(supportbldr.build()));
-
-        // Augment to the main node builder
-        nodeBldr.addAugmentation(Node1.class, node1bldr.build());
-        nodeBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class,
-            node2bldr.build());
-        return nodeBldr.build();
-    }
+        SupportingNode supportingNode = new SupportingNodeBuilder()
+            .setNetworkRef(new NetworkId(NetworkUtils.CLLI_NETWORK_ID))
+            .setNodeRef(new NodeId(nodeInfo.getNodeClli()))
+            .withKey(new SupportingNodeKey(new NetworkId(NetworkUtils.CLLI_NETWORK_ID),
+                new NodeId(nodeInfo.getNodeClli())))
+            .build();
 
-    /**
-     * Create empty OpenROADM network.
-     */
-    private static Network createOpenRoadmNetwork() {
-        NetworkBuilder openrdmnwBuilder = new NetworkBuilder();
-        NetworkId nwId = new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID);
-        openrdmnwBuilder.setNetworkId(nwId);
-        openrdmnwBuilder.withKey(new NetworkKey(nwId));
-        // sets network type to OpenRoadmNetwork
-        NetworkTypes1Builder openRoadmNetworkTypesBldr = new NetworkTypes1Builder();
-        openRoadmNetworkTypesBldr.setOpenroadmCommonNetwork(new OpenroadmCommonNetworkBuilder().build());
-        NetworkTypesBuilder openrdmnwTypeBuilder = new NetworkTypesBuilder();
-        openrdmnwTypeBuilder.addAugmentation(NetworkTypes1.class, openRoadmNetworkTypesBldr.build());
-        openrdmnwBuilder.setNetworkTypes(openrdmnwTypeBuilder.build());
-        return openrdmnwBuilder.build();
+        return new NodeBuilder()
+            .setNodeId(new NodeId(nodeId))
+            .withKey(new NodeKey(new NodeId(nodeId)))
+            .setSupportingNode(ImmutableList.of(supportingNode))
+            .addAugmentation(Node1.class, node1Bldr.build())
+            .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class,
+                node2Bldr.build())
+            .build();
     }
 }
diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopology.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopology.java
new file mode 100644 (file)
index 0000000..6e0a4f8
--- /dev/null
@@ -0,0 +1,427 @@
+/*
+ * Copyright Â© 2020 Orange. 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.networkmodel.util;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import org.opendaylight.transportpce.common.NetworkUtils;
+import org.opendaylight.transportpce.networkmodel.dto.OtnTopoNode;
+import org.opendaylight.transportpce.networkmodel.dto.TopologyShard;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.Nodes;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.XpdrNodeTypes;
+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.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.network.types.rev181130.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.ODU0;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.ODU2e;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.ODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.OduRateIdentity;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.networks.network.node.SwitchingPools;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.networks.network.node.SwitchingPoolsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.networks.network.node.TpBandwidthSharing;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.networks.network.node.TpBandwidthSharingBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.networks.network.node.XpdrAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.networks.network.node.XpdrAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.networks.network.node.termination.point.TpSupportedInterfaces;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.networks.network.node.termination.point.TpSupportedInterfacesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.networks.network.node.termination.point.XpdrTpPortConnectionAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.If100GE;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.If100GEODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.If10GEODU2e;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.IfOCHOTU4ODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.SupportedIfCapability;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.switching.pool.types.rev181130.SwitchingPoolTypes;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNode;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNodeBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNodeKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPoint;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.termination.point.SupportingTerminationPoint;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.termination.point.SupportingTerminationPointBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public final class OpenRoadmOtnTopology {
+
+    private static final Logger LOG = LoggerFactory.getLogger(OpenRoadmOtnTopology.class);
+
+    private OpenRoadmOtnTopology() {
+    }
+
+    public static TopologyShard createTopologyShard(Nodes mappingNode) {
+        List<Node> nodes = new ArrayList<>();
+        List<Link> links = new ArrayList<>();
+        Map<Integer, OtnTopoNode> xpdrMap = convertPortMappingToOtnNodeList(mappingNode);
+        for (OtnTopoNode node : xpdrMap.values()) {
+            switch (node.getNodeType()) {
+                case Tpdr:
+                    nodes.add(createTpdr(node));
+                    break;
+                case Mpdr:
+                    nodes.add(createMuxpdr(node));
+                    break;
+                case Switch:
+                    nodes.add(createSwitch(node));
+                    break;
+                default:
+                    LOG.error("unknown otn node type {}", node.getNodeType().getName());
+                    return null;
+            }
+        }
+        return new TopologyShard(nodes, links);
+    }
+
+    private static Map<Integer, OtnTopoNode> convertPortMappingToOtnNodeList(Nodes mappingNode) {
+        List<Mapping> networkMappings = mappingNode.getMapping().stream().filter(k -> k.getLogicalConnectionPoint()
+            .contains("NETWORK")).collect(Collectors.toList());
+        Map<Integer, OtnTopoNode> xpdrMap = new HashMap<>();
+        for (Mapping mapping : networkMappings) {
+            Integer xpdrNb = Integer.parseInt(mapping.getLogicalConnectionPoint().split("XPDR")[1].split("-")[0]);
+            if (!xpdrMap.containsKey(xpdrNb)) {
+                List<Mapping> xpdrNetMaps = mappingNode.getMapping().stream().filter(k -> k.getLogicalConnectionPoint()
+                    .contains("XPDR" + xpdrNb + "-NETWORK")).collect(Collectors.toList());
+                List<Mapping> xpdrClMaps = mappingNode.getMapping().stream().filter(k -> k.getLogicalConnectionPoint()
+                    .contains("XPDR" + xpdrNb + "-CLIENT")).collect(Collectors.toList());
+                OtnTopoNode otnNode = null;
+                if (mapping.getXponderType() != null) {
+                    otnNode = new OtnTopoNode(mappingNode.getNodeId(), mappingNode.getNodeInfo().getNodeClli(), xpdrNb,
+                        mapping.getXponderType(), fillConnectionMapLcp(xpdrNetMaps), fillConnectionMapLcp(xpdrClMaps));
+                } else {
+                    otnNode = new OtnTopoNode(mappingNode.getNodeId(), mappingNode.getNodeInfo().getNodeClli(), xpdrNb,
+                        XpdrNodeTypes.Tpdr, fillConnectionMapLcp(xpdrNetMaps), fillConnectionMapLcp(xpdrClMaps));
+                }
+                xpdrMap.put(xpdrNb, otnNode);
+            }
+        }
+        LOG.debug("there are {} xpdr to build", xpdrMap.size());
+        xpdrMap.forEach((k, v) -> LOG.debug("xpdr {} = {} - {} - {} - {}", k, v.getNodeId(), v.getNodeType(),
+            v.getNbTpClient(), v.getNbTpNetwork()));
+        return xpdrMap;
+    }
+
+    private static Map<String, String> fillConnectionMapLcp(List<Mapping> mappingList) {
+        Map<String, String> xpdrConnectionMap = new HashMap<>();
+        for (Mapping map : mappingList) {
+            if (map.getConnectionMapLcp() != null) {
+                xpdrConnectionMap.put(map.getLogicalConnectionPoint(), map.getConnectionMapLcp());
+            } else {
+                xpdrConnectionMap.put(map.getLogicalConnectionPoint(), null);
+            }
+        }
+        return xpdrConnectionMap;
+    }
+
+    private static Node createTpdr(OtnTopoNode node) {
+        //create otn-topology node augmentation
+        XpdrAttributes xpdrAttr = new XpdrAttributesBuilder()
+            .setXpdrNumber(Integer.valueOf(node.getXpdrNb()))
+            .build();
+        Node1 otnNodeAug = new Node1Builder()
+            .setXpdrAttributes(xpdrAttr)
+            .build();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 ocnNodeAug =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder()
+            .setNodeType(OpenroadmNodeType.TPDR).build();
+        //create ietf node augmentation to add TP list
+        List<TerminationPoint> tpList = new ArrayList<>();
+        // creation of tps
+        createTP(tpList, node, OpenroadmTpType.XPONDERCLIENT, If100GE.class, false);
+        createTP(tpList, node, OpenroadmTpType.XPONDERNETWORK, IfOCHOTU4ODU4.class, true);
+
+        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 ietfNodeAug =
+            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder()
+            .setTerminationPoint(tpList)
+            .build();
+
+        //return ietfNode
+        return new NodeBuilder()
+            .setNodeId(new NodeId(node.getNodeId() + "-XPDR" + node.getXpdrNb()))
+            .withKey(new NodeKey(new NodeId(node.getNodeId() + "-XPDR" + node.getXpdrNb())))
+            .setSupportingNode(createSupportingNodes(node))
+            .addAugmentation(Node1.class, otnNodeAug)
+            .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class,
+                ocnNodeAug)
+            .addAugmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
+                .Node1.class, ietfNodeAug)
+            .build();
+    }
+
+    private static Node createMuxpdr(OtnTopoNode node) {
+        //create otn-topology node augmentation
+        TpBandwidthSharing tpBwSh = new TpBandwidthSharingBuilder().build();    // to be completed
+        XpdrAttributes xpdrAttr = new XpdrAttributesBuilder()
+            .setXpdrNumber(Integer.valueOf(node.getXpdrNb()))
+            .build();
+
+        List<NonBlockingList> nblList = new ArrayList<>();
+        for (int i = 1; i <= node.getNbTpClient(); i++) {
+            List<TpId> tpList = new ArrayList<>();
+            TpId tpId = new TpId("XPDR" + node.getXpdrNb() + "-CLIENT" + i);
+            tpList.add(tpId);
+            tpId = new TpId("XPDR" + node.getXpdrNb() + "-NETWORK1");
+            tpList.add(tpId);
+            NonBlockingList nbl = new NonBlockingListBuilder()
+                .setNblNumber(i)
+                .setTpList(tpList)
+                .setAvailableInterconnectBandwidth(Long.valueOf(node.getNbTpNetwork() * 10))
+                .setInterconnectBandwidthUnit(Long.valueOf(1000000000))
+                .build();
+            nblList.add(nbl);
+        }
+        OduSwitchingPools oduSwitchPool = new OduSwitchingPoolsBuilder()
+            .setSwitchingPoolNumber(Integer.valueOf(1))
+            .setSwitchingPoolType(SwitchingPoolTypes.NonBlocking)
+            .setNonBlockingList(nblList)
+            .build();
+        List<OduSwitchingPools> oduSwitchPoolList = new ArrayList<>();
+        oduSwitchPoolList.add(oduSwitchPool);
+        SwitchingPools switchingPools = new SwitchingPoolsBuilder()
+            .setOduSwitchingPools(oduSwitchPoolList)
+            .build();
+        Node1 otnNodeAug = new Node1Builder()
+            .setTpBandwidthSharing(tpBwSh)
+            .setXpdrAttributes(xpdrAttr)
+            .setSwitchingPools(switchingPools)
+            .build();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 ocnNodeAug =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder()
+            .setNodeType(OpenroadmNodeType.MUXPDR).build();
+
+        //create ietf node augmentation to add TP list
+        List<TerminationPoint> tpList = new ArrayList<>();
+        // creation of tps
+        createTP(tpList, node, OpenroadmTpType.XPONDERCLIENT, If10GEODU2e.class, true);
+        createTP(tpList, node, OpenroadmTpType.XPONDERNETWORK, IfOCHOTU4ODU4.class, true);
+
+        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 ietfNodeAug =
+            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder()
+            .setTerminationPoint(tpList)
+            .build();
+
+        //return ietfNode
+        return new NodeBuilder()
+            .setNodeId(new NodeId(node.getNodeId() + "-XPDR" + node.getXpdrNb()))
+            .withKey(new NodeKey(new NodeId(node.getNodeId() + "-XPDR" + node.getXpdrNb())))
+            .setSupportingNode(createSupportingNodes(node))
+            .addAugmentation(Node1.class, otnNodeAug)
+            .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class,
+                ocnNodeAug)
+            .addAugmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
+                .Node1.class, ietfNodeAug)
+            .build();
+    }
+
+    private static Node createSwitch(OtnTopoNode node) {
+        List<TpId> tpl = new ArrayList<>();
+        TpId tpId = null;
+        for (int i = 1; i <= node.getNbTpClient(); i++) {
+            tpId = new TpId("XPDR" + node.getXpdrNb() + "-CLIENT" + i);
+            tpl.add(tpId);
+        }
+        for (int i = 1; i <= node.getNbTpNetwork(); i++) {
+            tpId = new TpId("XPDR" + node.getXpdrNb() + "-NETWORK" + i);
+            tpl.add(tpId);
+        }
+        List<NonBlockingList> nblList = new ArrayList<>();
+        NonBlockingList nbl = new NonBlockingListBuilder()
+            .setNblNumber(Integer.valueOf(1))
+            .setTpList(tpl)
+            .build();
+        nblList.add(nbl);
+
+        OduSwitchingPools oduSwitchPool = new OduSwitchingPoolsBuilder()
+            .setSwitchingPoolNumber(Integer.valueOf(1))
+            .setSwitchingPoolType(SwitchingPoolTypes.NonBlocking)
+            .setNonBlockingList(nblList)
+            .build();
+        List<OduSwitchingPools> oduSwitchPoolList = new ArrayList<>();
+        oduSwitchPoolList.add(oduSwitchPool);
+        SwitchingPools switchingPools = new SwitchingPoolsBuilder()
+            .setOduSwitchingPools(oduSwitchPoolList)
+            .build();
+
+        //create otn-topology node augmentation
+        TpBandwidthSharing tpBwSh = new TpBandwidthSharingBuilder().build();    // to be completed
+        XpdrAttributes xpdrAttr = new XpdrAttributesBuilder()
+            .setXpdrNumber(Integer.valueOf(node.getXpdrNb()))
+            .build();
+
+        Node1 otnNodeAug = new Node1Builder()
+            .setTpBandwidthSharing(tpBwSh)
+            .setXpdrAttributes(xpdrAttr)
+            .setSwitchingPools(switchingPools)
+            .build();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 ocnNodeAug =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder()
+            .setNodeType(OpenroadmNodeType.SWITCH).build();
+
+        //create ietf node augmentation to add TP list
+        List<TerminationPoint> tpList = new ArrayList<>();
+        // creation of tps
+        createTP(tpList, node, OpenroadmTpType.XPONDERCLIENT, If100GEODU4.class, true);
+        createTP(tpList, node, OpenroadmTpType.XPONDERNETWORK, IfOCHOTU4ODU4.class, true);
+        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 ietfNodeAug =
+            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder()
+            .setTerminationPoint(tpList)
+            .build();
+
+        //return ietfNode
+        return new NodeBuilder()
+            .setNodeId(new NodeId(node.getNodeId() + "-XPDR" + node.getXpdrNb()))
+            .withKey(new NodeKey(new NodeId(node.getNodeId() + "-XPDR" + node.getXpdrNb())))
+            .setSupportingNode(createSupportingNodes(node))
+            .addAugmentation(Node1.class, otnNodeAug)
+            .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class,
+                ocnNodeAug)
+            .addAugmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
+                .Node1.class, ietfNodeAug)
+            .build();
+    }
+
+    private static void createTP(List<TerminationPoint> tpList, OtnTopoNode node, OpenroadmTpType tpType,
+        Class<? extends SupportedIfCapability> ifCapType, boolean withRate) {
+        long nbTps = 0;
+        if (OpenroadmTpType.XPONDERCLIENT.equals(tpType)) {
+            nbTps = node.getNbTpClient();
+        } else if (OpenroadmTpType.XPONDERNETWORK.equals(tpType)) {
+            nbTps = node.getNbTpNetwork();
+        } else {
+            LOG.warn("Wrong tp-type {}, cannot create tp {}", tpType.getName());
+        }
+
+        for (int i = 1; i <= nbTps; i++) {
+            //openroadm-otn-topoology augmentation
+            SupportedInterfaceCapability supIfCapa = new SupportedInterfaceCapabilityBuilder()
+                .setIfCapType(ifCapType)
+                .build();
+            List<SupportedInterfaceCapability> supIfCapaList = new ArrayList<>();
+            supIfCapaList.add(supIfCapa);
+            TpSupportedInterfaces tpSupIf = new TpSupportedInterfacesBuilder()
+                .setSupportedInterfaceCapability(supIfCapaList)
+                .build();
+
+            XpdrTpPortConnectionAttributesBuilder xtpcaBldr = new XpdrTpPortConnectionAttributesBuilder();
+            if (withRate) {
+                xtpcaBldr.setRate(fixRate(ifCapType));
+            }
+            TerminationPoint1 otnTp1 = new TerminationPoint1Builder()
+                .setTpSupportedInterfaces(tpSupIf)
+                .setXpdrTpPortConnectionAttributes(xtpcaBldr.build())
+                .build();
+            org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123.TerminationPoint1Builder tpceTp1Bldr =
+                new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123.TerminationPoint1Builder();
+            if (OpenroadmTpType.XPONDERNETWORK.equals(tpType)) {
+                TpId tpId = new TpId("XPDR" + node.getXpdrNb() + "-NETWORK" + i);
+                if (node.getXpdrNetConnectionMap().get(tpId.getValue()) != null) {
+                    tpceTp1Bldr.setAssociatedConnectionMapPort(node.getXpdrNetConnectionMap().get(tpId.getValue()));
+                }
+                SupportingTerminationPoint stp = new SupportingTerminationPointBuilder()
+                    .setNetworkRef(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))
+                    .setNodeRef(new NodeId(node.getNodeId() + "-XPDR" + node.getXpdrNb()))
+                    .setTpRef("XPDR" + node.getXpdrNb() + "-NETWORK" + i)
+                    .build();
+                List<SupportingTerminationPoint> supportTpList = new ArrayList<>();
+                supportTpList.add(stp);
+                tpList.add(buildIetfTp(tpceTp1Bldr, otnTp1, tpType, tpId, supportTpList));
+            } else if (OpenroadmTpType.XPONDERCLIENT.equals(tpType)) {
+                TpId tpId = new TpId("XPDR" + node.getXpdrNb() + "-CLIENT" + i);
+                if (node.getXpdrCliConnectionMap().get(tpId.getValue()) != null) {
+                    tpceTp1Bldr.setAssociatedConnectionMapPort(node.getXpdrCliConnectionMap().get(tpId.getValue()));
+                }
+                tpList.add(buildIetfTp(tpceTp1Bldr, otnTp1, tpType, tpId, null));
+            }
+        }
+    }
+
+    private static Class<? extends OduRateIdentity> fixRate(Class<? extends SupportedIfCapability> ifCapaType) {
+        switch (ifCapaType.getSimpleName()) {
+            case "If100GEODU4":
+            case "IfOCHOTU4ODU4":
+                return ODU4.class;
+            case "If1GEODU0":
+                return ODU0.class;
+            case "If10GEODU2e":
+                return ODU2e.class;
+            default:
+                return null;
+        }
+    }
+
+    private static List<SupportingNode> createSupportingNodes(OtnTopoNode node) {
+        SupportingNode suppNode1 = new SupportingNodeBuilder()
+            .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
+            .setNodeRef(new NodeId(node.getNodeId()))
+            .withKey(new SupportingNodeKey(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID),
+                new NodeId(node.getNodeId())))
+            .build();
+        SupportingNode suppNode2 = new SupportingNodeBuilder()
+            .setNetworkRef(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))
+            .setNodeRef(new NodeId(node.getNodeId() + "-XPDR" + node.getXpdrNb()))
+            .withKey(new SupportingNodeKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID),
+                new NodeId(node.getNodeId() + "-XPDR" + node.getXpdrNb())))
+            .build();
+        SupportingNode suppNode3 = new SupportingNodeBuilder()
+            .setNetworkRef(new NetworkId(NetworkUtils.CLLI_NETWORK_ID))
+            .setNodeRef(new NodeId(node.getClli()))
+            .withKey(new SupportingNodeKey(new NetworkId(NetworkUtils.CLLI_NETWORK_ID),
+                new NodeId(node.getClli())))
+            .build();
+        List<SupportingNode> suppNodeList = new ArrayList<>();
+        suppNodeList.add(suppNode1);
+        suppNodeList.add(suppNode2);
+        suppNodeList.add(suppNode3);
+        return suppNodeList;
+    }
+
+    private static TerminationPoint buildIetfTp(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123
+        .TerminationPoint1Builder tpceTp1Bldr, TerminationPoint1 otnTp1, OpenroadmTpType tpType, TpId tpId,
+        List<SupportingTerminationPoint> supportTpList) {
+
+        TerminationPointBuilder ietfTpBldr = new TerminationPointBuilder();
+        if (tpceTp1Bldr.getAssociatedConnectionMapPort() != null) {
+            ietfTpBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123
+                .TerminationPoint1.class, tpceTp1Bldr.build());
+        }
+        if (supportTpList != null) {
+            ietfTpBldr.setSupportingTerminationPoint(supportTpList);
+        }
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1 ocnTp =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+            .TerminationPoint1Builder().setTpType(tpType).build();
+
+        ietfTpBldr.setTpId(tpId)
+            .withKey(new TerminationPointKey(tpId))
+            .addAugmentation(TerminationPoint1.class, otnTp1)
+            .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                .TerminationPoint1.class, ocnTp);
+        return ietfTpBldr.build();
+    }
+}
diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopology22.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopology22.java
deleted file mode 100644 (file)
index 95017da..0000000
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- * Copyright Â© 2016 AT&T 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.networkmodel.util;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.stream.Collectors;
-import java.util.stream.IntStream;
-
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.transportpce.common.NetworkUtils;
-import org.opendaylight.transportpce.common.Timeouts;
-import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
-import org.opendaylight.transportpce.common.network.NetworkTransactionService;
-import org.opendaylight.transportpce.networkmodel.dto.TopologyShard;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.Nodes;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.Mapping;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.NetworkTypes1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.NetworkTypes1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.networks.network.network.types.OpenroadmCommonNetworkBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.NodeTypes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.XpdrNodeTypes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.OrgOpenroadmDevice;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.Xponder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.odu.switching.pools.non.blocking.list.PortList;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.xponder.XpdrPort;
-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.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.otn.common.types.rev181130.ODU0;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.ODU2e;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.ODU4;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Link1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Link1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.TerminationPoint1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.TerminationPoint1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.networks.network.node.SwitchingPoolsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.networks.network.node.termination.point.XpdrTpPortConnectionAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.switching.pool.types.rev181130.SwitchingPoolTypes;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NetworkTypesBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNode;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNodeKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.LinkId;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1Builder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.DestinationBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.SourceBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPoint;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class OpenRoadmOtnTopology22 {
-
-    private static final Logger LOG = LoggerFactory.getLogger(OpenRoadmTopology22.class);
-
-    private NetworkTransactionService networkTransactionService;
-    private final DeviceTransactionManager deviceTransactionManager;
-
-    public OpenRoadmOtnTopology22(NetworkTransactionService networkTransactionService,
-                               DeviceTransactionManager deviceTransactionManager) {
-        this.networkTransactionService = networkTransactionService;
-        this.deviceTransactionManager = deviceTransactionManager;
-    }
-
-    /**
-     * This public method creates the OTN OpenROADM Topology
-     * Layer and posts it to the controller.
-     */
-    public void createTopoLayer() {
-        try {
-            Network openRoadmOtnTopology = createOpenRoadmOtnTopology();
-            InstanceIdentifierBuilder<Network> nwIID = InstanceIdentifier.builder(Networks.class).child(Network.class,
-                    new NetworkKey(new NetworkId(NetworkUtils.OTN_NETWORK_ID)));
-
-            this.networkTransactionService.put(LogicalDatastoreType.CONFIGURATION, nwIID.build(), openRoadmOtnTopology);
-            this.networkTransactionService.commit().get(1, TimeUnit.SECONDS);
-            LOG.info("OpenRoadm-OTN-Topology created successfully.");
-        } catch (ExecutionException | TimeoutException | InterruptedException e) {
-            LOG.warn("Failed to create OpenRoadm-OTN-Topology", e);
-        }
-    }
-
-    /**
-     * Create empty OpenROADM topology.
-     */
-    private Network createOpenRoadmOtnTopology() {
-        NetworkId nwId = new NetworkId(NetworkUtils.OTN_NETWORK_ID);
-        NetworkTypes1Builder topoNetworkTypesBldr = new NetworkTypes1Builder()
-                .setOpenroadmCommonNetwork(new OpenroadmCommonNetworkBuilder().build());
-        NetworkTypesBuilder nwTypeBuilder = new NetworkTypesBuilder()
-                .addAugmentation(NetworkTypes1.class, topoNetworkTypesBldr.build());
-        // Array to store nodes in the topolayer of a roadm/Xponder
-        Network1Builder nwBldr1 = new Network1Builder()
-                // adding expressLinks
-                .setLink(Collections.emptyList());
-        NetworkBuilder nwBuilder = new NetworkBuilder()
-                .setNetworkId(nwId)
-                .withKey(new NetworkKey(nwId))
-                .setNetworkTypes(nwTypeBuilder.build())
-                .addAugmentation(Network1.class, nwBldr1.build())
-                .setNode(Collections.emptyList());
-        return nwBuilder.build();
-    }
-
-    public TopologyShard createTopologyShard(Nodes mappingNode) {
-        List<Node> nodes = new ArrayList<>();
-
-        LOG.info("Topology create request received for Node {}",mappingNode.getNodeId());
-        InstanceIdentifier<OrgOpenroadmDevice> deviceIID = InstanceIdentifier.create(OrgOpenroadmDevice.class);
-        //  .child(Xponder.class,new XponderKey(2));
-        Optional<OrgOpenroadmDevice> deviceOptional = deviceTransactionManager
-            .getDataFromDevice(mappingNode.getNodeId(),LogicalDatastoreType.OPERATIONAL, deviceIID,
-            Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
-        OrgOpenroadmDevice device;
-        List<Xponder> xponders;
-        if (deviceOptional.isPresent()) {
-            device = deviceOptional.get();
-            xponders = device.getXponder();
-        } else {
-            LOG.error("Unable to get xponder for the device {}", mappingNode.getNodeId());
-            return null;
-        }
-        LOG.info("Xponder subtree is found and now calling create XPDR");
-        if (NodeTypes.Xpdr.getIntValue() ==  mappingNode.getNodeInfo().getNodeType().getIntValue()) {
-            // Check if node is XPONDER
-            LOG.info("creating xpdr node in openroadmotntopology for node {}", mappingNode.getNodeId());
-            if (xponders != null) {
-                for (Xponder xponder: xponders) {
-                    LOG.info("Calling create XPDR for xponder number {}",xponder.getXpdrNumber());
-                    NodeBuilder ietfNode = createXpdr(xponder,mappingNode);
-                    nodes.add(ietfNode.build());
-                }
-            }
-            LOG.info("Coming to return topology");
-            return new TopologyShard(nodes, null);
-        }
-        LOG.error("Device node Type not managed yet");
-        return null;
-    }
-
-    private NodeBuilder createXpdr(Xponder xponder,Nodes mappingNode) {
-        // set node-id
-        String nodeIdtopo = new StringBuilder().append(mappingNode.getNodeId()).append("-XPDR" + xponder
-            .getXpdrNumber()).toString();
-        LOG.info("Node is {}",nodeIdtopo);
-
-        // Create ietf node setting supporting-node data
-        NodeBuilder ietfNodeBldr = createOtnTopoLayerNode(mappingNode.getNodeId())
-            .setNodeId(new NodeId(nodeIdtopo))
-            .withKey((new NodeKey(new NodeId(nodeIdtopo))));
-        // Create openroadm-network-topo augmentation to set node type to Xponder
-        Node1Builder ontNode1Bldr = new Node1Builder()
-            .setNodeType(OpenroadmNodeType.XPONDER);
-        if (xponder.getXpdrType().equals(XpdrNodeTypes.Switch)) {
-            LOG.info("Xponder type is OTN switch and it is calling switching pool");
-            SwitchingPoolsBuilder switchingPoolsBuilder = new SwitchingPoolsBuilder()
-                .setOduSwitchingPools(getSwitchingPools(mappingNode.getNodeId(), mappingNode));
-            ontNode1Bldr.setSwitchingPools(switchingPoolsBuilder.build());
-            LOG.info("Switching pool object is created {}",
-                switchingPoolsBuilder.build().getOduSwitchingPools().size());
-        }
-        ietfNodeBldr.addAugmentation(Node1.class, ontNode1Bldr.build());
-
-        // Create tp-list
-        LOG.info("Now createing TP list");
-        List<TerminationPoint> tpList = new ArrayList<>();
-        TerminationPointBuilder ietfTpBldr;
-
-        for (XpdrPort xponderPort: xponder.getXpdrPort()) {
-            Mapping ma = mappingNode.getMapping().stream().filter(x -> x.getSupportingCircuitPackName()
-                    .equals(xponderPort.getCircuitPackName()) && x.getSupportingPort()
-                    .equals(xponderPort.getPortName())).collect(Collectors.toList()).get(0);
-            ietfTpBldr = createTpBldr(ma.getLogicalConnectionPoint());
-            TerminationPoint1Builder ontTp1Bldr = new TerminationPoint1Builder();
-            if (ma.getPortQual().equals("xpdr-network") || ma.getPortQual().equals("switch-network")) {
-                ontTp1Bldr.setTpType(OpenroadmTpType.XPONDERNETWORK);
-                XpdrTpPortConnectionAttributesBuilder xpdrTpBuilder = new XpdrTpPortConnectionAttributesBuilder();
-                if (ma.getPortQual().equals("switch-network") && ma.getRate() != null) {
-                    if (ma.getRate().equals("10G")) {
-                        xpdrTpBuilder.setRate(ODU2e.class);
-                    }
-                    else if (ma.getRate().equals("1G")) {
-                        xpdrTpBuilder.setRate(ODU0.class);
-                    }
-                    else if (ma.getRate().equals("100G")) {
-                        xpdrTpBuilder.setRate(ODU4.class);
-                        List<Integer> tpSlots = new ArrayList<Integer>();
-                        IntStream.range(1, 81).forEach(nbr -> tpSlots.add(nbr));
-                        xpdrTpBuilder.setTsPool(tpSlots);
-                    }
-                } else {
-                    LOG.warn("no rate in portmapping for lcp {} of {}", ma.getLogicalConnectionPoint(),
-                        mappingNode.getNodeId());
-                }
-                xpdrTpBuilder.setTailEquipmentId(ma.getConnectionMapLcp());
-                ontTp1Bldr.setXpdrTpPortConnectionAttributes(xpdrTpBuilder.build());
-                ietfTpBldr.addAugmentation(TerminationPoint1.class, ontTp1Bldr.build());
-                tpList.add(ietfTpBldr.build());
-            } else if (ma.getPortQual().equals("xpdr-client") || ma.getPortQual().equals("switch-client")) {
-                ontTp1Bldr.setTpType(OpenroadmTpType.XPONDERCLIENT);
-                XpdrTpPortConnectionAttributesBuilder xpdrTpBuilder = new XpdrTpPortConnectionAttributesBuilder();
-                if (ma.getPortQual().equals("switch-client") && ma.getRate() != null) {
-                    if (ma.getRate().equals("10G")) {
-                        xpdrTpBuilder.setRate(ODU2e.class);
-                    }
-                    else if (ma.getRate().equals("1G")) {
-                        xpdrTpBuilder.setRate(ODU0.class);
-                    }
-                    else if (ma.getRate().equals("100G")) {
-                        xpdrTpBuilder.setRate(ODU4.class);
-                    }
-                } else {
-                    LOG.warn("no rate in portmapping for lcp {} of {}", ma.getLogicalConnectionPoint(),
-                        mappingNode.getNodeId());
-                }
-                xpdrTpBuilder.setTailEquipmentId(ma.getConnectionMapLcp());
-                ontTp1Bldr.setXpdrTpPortConnectionAttributes(xpdrTpBuilder.build());
-                ietfTpBldr.addAugmentation(TerminationPoint1.class, ontTp1Bldr.build());
-                tpList.add(ietfTpBldr.build());
-            }
-        }
-        for (int i = 0;i < tpList.size();i++) {
-            LOG.info("Tps are {},{}",tpList.get(i).getTpId());
-        }
-        // Create ietf node augmentation to support ietf tp-list
-        org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder tpNode1 =
-            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder();
-        tpNode1.setTerminationPoint(tpList);
-        ietfNodeBldr.addAugmentation(
-            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class,
-            tpNode1.build());
-
-        /**Node1Builder ietfNode1 = new Node1Builder();
-        ietfNodeBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class,
-                ietfNode1.build());**/
-        LOG.info("Now all TPS and network node is ready and calling return");
-        return ietfNodeBldr;
-    }
-
-    private NodeBuilder createOtnTopoLayerNode(String nodeId) {
-        // Sets the value of Network-ref and Node-ref as a part of the supporting node
-        // attribute
-        LOG.info("Settting up supporting node and interface");
-        SupportingNodeBuilder supportbldr = new SupportingNodeBuilder()
-            .withKey(new SupportingNodeKey(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID), new NodeId(nodeId)))
-            .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
-            .setNodeRef(new NodeId(nodeId));
-        ArrayList<SupportingNode> supportlist = new ArrayList<>();
-        supportlist.add(supportbldr.build());
-        NodeBuilder nodebldr = new NodeBuilder()
-            .setSupportingNode(supportlist);
-        LOG.info("Returning node builder");
-        return nodebldr;
-    }
-
-    // This method returns a generic termination point builder for a given tpid
-    private TerminationPointBuilder createTpBldr(String tpId) {
-        return new TerminationPointBuilder()
-            .withKey(new TerminationPointKey(new TpId(tpId)))
-            .setTpId(new TpId(tpId));
-    }
-
-    private LinkBuilder createLink(String srcNode, String destNode, String srcTp, String destTp) {
-        //create source link
-        SourceBuilder ietfSrcLinkBldr = new SourceBuilder()
-            .setSourceNode(new NodeId(srcNode))
-            .setSourceTp(srcTp);
-        //create destination link
-        DestinationBuilder ietfDestLinkBldr = new DestinationBuilder()
-            .setDestNode(new NodeId(destNode))
-            .setDestTp(destTp);
-
-        LinkBuilder ietfLinkBldr = new LinkBuilder()
-            .setSource(ietfSrcLinkBldr.build())
-            .setDestination(ietfDestLinkBldr.build())
-            .setLinkId(LinkIdUtil.buildLinkId(srcNode, srcTp, destNode, destTp));
-        return ietfLinkBldr.withKey(new LinkKey(ietfLinkBldr.getLinkId()));
-    }
-
-    private List<OduSwitchingPools> getSwitchingPools(String nodeId,Nodes mappingNode) {
-        InstanceIdentifier<OrgOpenroadmDevice> deviceIID = InstanceIdentifier.create(OrgOpenroadmDevice.class);
-        //  .child(Xponder.class,new XponderKey(2));
-        Optional<OrgOpenroadmDevice> deviceOptional = deviceTransactionManager.getDataFromDevice(nodeId,
-            LogicalDatastoreType.OPERATIONAL, deviceIID, Timeouts.DEVICE_READ_TIMEOUT,
-            Timeouts.DEVICE_READ_TIMEOUT_UNIT);
-        OrgOpenroadmDevice device;
-        List<OduSwitchingPools> oduSwitchingPools = new ArrayList<>();
-        if (deviceOptional.isPresent()) {
-            device = deviceOptional.get();
-            for (org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org
-                .openroadm.device.OduSwitchingPools odupool:device.getOduSwitchingPools()) {
-                OduSwitchingPoolsBuilder oduSwitchingPoolsBuilder = new OduSwitchingPoolsBuilder();
-                List<NonBlockingList> nonBlockingLists = new ArrayList<>();
-                for (org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org
-                    .openroadm.device.odu.switching.pools.NonBlockingList nbList: odupool.getNonBlockingList()) {
-                    NonBlockingListBuilder nonBlockingListBuilder = new NonBlockingListBuilder()
-                        .setNblNumber(nbList.getNblNumber())
-                        .setAvailableInterconnectBandwidth(nbList.getInterconnectBandwidth())
-                        .setInterconnectBandwidthUnit(nbList.getInterconnectBandwidth());
-                    List<TpId> tpList = new ArrayList<>();
-                    if (nbList.getPortList() != null) {
-                        for (PortList portList:nbList.getPortList()) {
-                            LOG.info("Inside switching pool now collecting ports {},{},{}", portList.getPortName(),
-                                portList.getCircuitPackName(), nbList.getNblNumber());
-                            Mapping mapping = mappingNode.getMapping().stream()
-                                .filter(x -> x.getSupportingCircuitPackName().equals(portList.getCircuitPackName())
-                                && x.getSupportingPort().equals(portList.getPortName()))
-                                .collect(Collectors.toList()).get(0);
-                            LOG.info("Mapping TP is coming is {}",mapping);
-                            tpList.add(new TpId(mapping.getLogicalConnectionPoint()));
-                        }
-                        nonBlockingListBuilder.setTpList(tpList);
-                        nonBlockingLists.add(nonBlockingListBuilder.build());
-                    } else {
-                        LOG.warn("no portList for non-blocking-list {} of {}", nbList.getNblNumber(), nodeId);
-                    }
-                }
-                oduSwitchingPoolsBuilder.setNonBlockingList(nonBlockingLists)
-                    .setSwitchingPoolNumber(odupool.getSwitchingPoolNumber())
-                    .setSwitchingPoolType(SwitchingPoolTypes.forValue(odupool.getSwitchingPoolType().getIntValue()));
-                oduSwitchingPools.add(oduSwitchingPoolsBuilder.build());
-            }
-            return oduSwitchingPools;
-        } else {
-            LOG.error("Unable to get xponder for the device {}", nodeId);
-            return null;
-        }
-    }
-
-    // This method returns the linkBuilder object for given source and destination
-    public static boolean deleteLink(String srcNode, String dstNode, String srcTp, String destTp,
-                                     NetworkTransactionService networkTransactionService) {
-        LOG.info("deleting link for {}-{}", srcNode, dstNode);
-        LinkId linkId = LinkIdUtil.buildLinkId(srcNode, srcTp, dstNode, destTp);
-        if (deleteLinkLinkId(linkId, networkTransactionService)) {
-            LOG.debug("Link Id {} updated to have admin state down");
-            return true;
-        } else {
-            LOG.debug("Link Id not found for Source {} and Dest {}", srcNode, dstNode);
-            return false;
-        }
-    }
-
-    // This method returns the linkBuilder object for given source and destination
-    public static boolean deleteLinkLinkId(LinkId linkId , NetworkTransactionService networkTransactionService) {
-        LOG.info("deleting link for LinkId: {}", linkId);
-        try {
-            InstanceIdentifierBuilder<Link> linkIID = InstanceIdentifier.builder(Networks.class).child(Network.class,
-                new NetworkKey(new NetworkId(NetworkUtils.OTN_NETWORK_ID))).augmentation(Network1.class)
-                .child(Link.class, new LinkKey(linkId));
-            java.util.Optional<Link> link =
-                networkTransactionService.read(LogicalDatastoreType.CONFIGURATION,linkIID.build()).get();
-            if (link.isPresent()) {
-                Link1Builder link1Builder = new Link1Builder().setAdministrativeState(State.OutOfService);
-                LinkBuilder linkBuilder = new LinkBuilder(link.get())
-                    .removeAugmentation(Link1.class)
-                    .addAugmentation(Link1.class,link1Builder.build());
-                networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, linkIID.build(),
-                    linkBuilder.build());
-                networkTransactionService.commit().get(1, TimeUnit.SECONDS);
-                return true;
-            } else {
-                LOG.error("No link found for given LinkId: {}", linkId);
-                return false;
-            }
-        } catch (InterruptedException | ExecutionException | TimeoutException e) {
-            LOG.error(e.getMessage(), e);
-            return false;
-        }
-    }
-}
similarity index 59%
rename from networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmTopology22.java
rename to networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmTopology.java
index f0ca0bd1b40b3f49ddcb70248036fcdab0af6287..621125fb9527439b38e52a432fee131d539a2573 100644 (file)
@@ -9,7 +9,6 @@
 package org.opendaylight.transportpce.networkmodel.util;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
@@ -27,22 +26,18 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200113.network.nodes.Mapping;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.NetworkTypes1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.NetworkTypes1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.networks.network.network.types.OpenroadmCommonNetworkBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.NodeTypes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.XpdrNodeTypes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengths;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengthsBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengthsKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.DegreeAttributes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.SrgAttributes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.SrgAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrClientAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
 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;
@@ -50,9 +45,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NetworkTypesBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey;
@@ -61,7 +54,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNodeKey;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.LinkId;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1Builder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkBuilder;
@@ -76,57 +68,14 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdenti
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class OpenRoadmTopology22 {
+public final class OpenRoadmTopology {
 
-    private static final Logger LOG = LoggerFactory.getLogger(OpenRoadmTopology22.class);
+    private static final Logger LOG = LoggerFactory.getLogger(OpenRoadmTopology.class);
 
-    private NetworkTransactionService networkTransactionService;
-
-    public OpenRoadmTopology22(NetworkTransactionService networkTransactionService) {
-        this.networkTransactionService = networkTransactionService;
+    private OpenRoadmTopology() {
     }
 
-    /**
-     * This public method creates the OpenROADM Topology
-     * Layer and posts it to the controller.
-     */
-    public void createTopoLayer() {
-        try {
-            Network openRoadmTopology = createOpenRoadmTopology();
-            InstanceIdentifierBuilder<Network> nwIID = InstanceIdentifier.builder(Networks.class).child(Network.class,
-                new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)));
-
-            this.networkTransactionService.put(LogicalDatastoreType.CONFIGURATION, nwIID.build(), openRoadmTopology);
-            this.networkTransactionService.commit().get(1, TimeUnit.SECONDS);
-            LOG.info("OpenRoadm-Topology created successfully.");
-        } catch (ExecutionException | TimeoutException | InterruptedException e) {
-            LOG.warn("Failed to create OpenRoadm-Topology", e);
-        }
-    }
-
-    /**
-     * Create empty OpenROADM topology.
-     */
-    private Network createOpenRoadmTopology() {
-        NetworkId nwId = new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID);
-        NetworkTypes1Builder topoNetworkTypesBldr = new NetworkTypes1Builder()
-            .setOpenroadmCommonNetwork(new OpenroadmCommonNetworkBuilder().build());
-        NetworkTypesBuilder nwTypeBuilder = new NetworkTypesBuilder()
-            .addAugmentation(NetworkTypes1.class, topoNetworkTypesBldr.build());
-        // Array to store nodes in the topolayer of a roadm/Xponder
-        Network1Builder nwBldr1 = new Network1Builder()
-            .setLink(Collections.emptyList());
-        NetworkBuilder nwBuilder = new NetworkBuilder()
-            .setNetworkId(nwId)
-            .withKey(new NetworkKey(nwId))
-            .setNetworkTypes(nwTypeBuilder.build())
-            // adding expressLinks
-            .addAugmentation(Network1.class, nwBldr1.build())
-            .setNode(Collections.emptyList());
-        return nwBuilder.build();
-    }
-
-    public TopologyShard createTopologyShard(Nodes mappingNode) {
+    public static TopologyShard createTopologyShard(Nodes mappingNode) {
         int numOfDegrees;
         int numOfSrgs;
         List<Node> nodes = new ArrayList<>();
@@ -162,12 +111,14 @@ public class OpenRoadmTopology22 {
             }
             // create degree nodes
             for (String k : mapDeg.keySet()) {
-                NodeBuilder ietfNode = createDegree(k, mapDeg.get(k), mappingNode.getNodeId());
+                NodeBuilder ietfNode = createDegree(k, mapDeg.get(k), mappingNode.getNodeId(),
+                    mappingNode.getNodeInfo().getNodeClli());
                 nodes.add(ietfNode.build());
             }
             // create srg nodes
             for (String k : mapSrg.keySet()) {
-                NodeBuilder ietfNode = createSrg(k, mapSrg.get(k), mappingNode.getNodeId());
+                NodeBuilder ietfNode = createSrg(k, mapSrg.get(k), mappingNode.getNodeId(),
+                    mappingNode.getNodeInfo().getNodeClli());
                 nodes.add(ietfNode.build());
             }
 
@@ -179,89 +130,124 @@ public class OpenRoadmTopology22 {
             LOG.info("created nodes/links: {}/{}", nodes.size(), links.size());
             return new TopologyShard(nodes, links);
         } else if (NodeTypes.Xpdr.getIntValue() ==  mappingNode.getNodeInfo().getNodeType().getIntValue()) {
-            // Check if node is XPONDER
-            LOG.info("creating xpdr node in openroadmtopology for node {}", mappingNode.getNodeId());
-            NodeBuilder ietfNode = createXpdr(mappingNode);
-            nodes.add(ietfNode.build());
-            return new TopologyShard(nodes, links);
+            // Check if node is Xpdr is a Transponder
+            List<Mapping> networkMappings = mappingNode.getMapping().stream().filter(k -> k.getLogicalConnectionPoint()
+                .contains("NETWORK")).collect(Collectors.toList());
+            List<Integer> tpdrList = new ArrayList<>();
+            for (Mapping mapping : networkMappings) {
+                List<Mapping> extractedMappings = null;
+                Integer xpdrNb = Integer.parseInt(mapping.getLogicalConnectionPoint().split("XPDR")[1].split("-")[0]);
+                if (!tpdrList.contains(xpdrNb)) {
+                    tpdrList.add(xpdrNb);
+                    extractedMappings = mappingNode.getMapping().stream().filter(lcp -> lcp
+                        .getLogicalConnectionPoint().contains("XPDR" + xpdrNb)).collect(Collectors.toList());
+                    NodeBuilder ietfNode;
+                    if (mapping.getXponderType() == null
+                        || XpdrNodeTypes.Tpdr.getIntValue() == mapping.getXponderType().getIntValue()) {
+                        LOG.info("creating xpdr node {} of type Tpdr in openroadm-topology",
+                            mappingNode.getNodeId() + "-XPDR" + xpdrNb);
+                        ietfNode = createXpdr(mappingNode.getNodeId(), mappingNode.getNodeInfo().getNodeClli(), xpdrNb,
+                            extractedMappings, false);
+                        nodes.add(ietfNode.build());
+                    } else if (XpdrNodeTypes.Mpdr.getIntValue() == mapping.getXponderType().getIntValue()
+                        || XpdrNodeTypes.Switch.getIntValue() == mapping.getXponderType().getIntValue()) {
+                        LOG.info("creating xpdr node {} of type {} in openroadm-topology",
+                            mappingNode.getNodeId() + "-XPDR" + xpdrNb, mapping.getXponderType().getName());
+                        ietfNode = createXpdr(mappingNode.getNodeId(), mappingNode.getNodeInfo().getNodeClli(), xpdrNb,
+                            extractedMappings, true);
+                        nodes.add(ietfNode.build());
+                    }
+                }
+            }
+            if (nodes.isEmpty()) {
+                return null;
+            } else {
+                return new TopologyShard(nodes, links);
+            }
         }
         LOG.error("Device node Type not managed yet");
         return null;
     }
 
-    private NodeBuilder createXpdr(Nodes mappingNode) {
-        // set node-id
-        String nodeIdtopo = new StringBuilder().append(mappingNode.getNodeId()).append("-XPDR1").toString();
+    private static NodeBuilder createXpdr(String nodeId, String clli, Integer xpdrNb, List<Mapping> mappings,
+        boolean isOtn) {
         // Create openroadm-network-topo augmentation to set node type to Xponder
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
-            .Node1Builder ocnNode1Bldr = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
-            .Node1Builder().setNodeType(OpenroadmNodeType.XPONDER);
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 ocnNode1 =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder()
+            .setNodeType(OpenroadmNodeType.XPONDER).build();
         // Create ietf node setting supporting-node data
-        NodeBuilder ietfNodeBldr = createTopoLayerNode(mappingNode.getNodeId())
-                .setNodeId(new NodeId(nodeIdtopo))
-                .withKey((new NodeKey(new NodeId(nodeIdtopo))))
-                .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
-                    .Node1.class, ocnNode1Bldr.build());
+        NodeBuilder ietfNodeBldr = createTopoLayerNode(nodeId, clli);
+        // set node-id
+        String nodeIdtopo = new StringBuilder().append(nodeId).append("-XPDR").append(xpdrNb).toString();
+        ietfNodeBldr.setNodeId(new NodeId(nodeIdtopo))
+            .withKey((new NodeKey(new NodeId(nodeIdtopo))))
+            .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                .Node1.class, ocnNode1);
 
         // Create tp-list
         List<TerminationPoint> tpList = new ArrayList<>();
         TerminationPointBuilder ietfTpBldr;
-        for (Mapping m : mappingNode.getMapping()) {
-            ietfTpBldr = createTpBldr(m.getLogicalConnectionPoint());
-            // Add openroadm-network-topology tp augmentations
-            TerminationPoint1Builder ontTp1Bldr = new TerminationPoint1Builder();
-            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
-                .TerminationPoint1Builder ocnTp1Bldr = new org.opendaylight.yang.gen.v1.http.org.openroadm.common
-                .network.rev181130.TerminationPoint1Builder();
-            if (m.getPortQual().equals("xpdr-network")) {
-                XpdrNetworkAttributesBuilder xpdrNwAttrBldr = new XpdrNetworkAttributesBuilder()
-                        .setTailEquipmentId(m.getConnectionMapLcp());
-                ontTp1Bldr.setXpdrNetworkAttributes(xpdrNwAttrBldr.build());
-                ocnTp1Bldr.setTpType(OpenroadmTpType.XPONDERNETWORK);
-                org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123.TerminationPoint1Builder tpceTp1Bldr =
-                    new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123.TerminationPoint1Builder()
-                        .setAssociatedConnectionMapPort(m.getConnectionMapLcp());
-                ietfTpBldr.addAugmentation(TerminationPoint1.class, ontTp1Bldr.build())
-                    .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
-                        .TerminationPoint1.class, ocnTp1Bldr.build())
-                    .addAugmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123
-                        .TerminationPoint1.class, tpceTp1Bldr.build());
-                tpList.add(ietfTpBldr.build());
-            } else if (m.getPortQual().equals("xpdr-client")) {
-                XpdrClientAttributesBuilder xpdrNwAttrBldr = new XpdrClientAttributesBuilder()
-                        .setTailEquipmentId(m.getConnectionMapLcp());
-                ontTp1Bldr.setXpdrClientAttributes(xpdrNwAttrBldr.build());
-                ocnTp1Bldr.setTpType(OpenroadmTpType.XPONDERCLIENT);
-                org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123.TerminationPoint1Builder tpceTp1Bldr =
-                    new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123.TerminationPoint1Builder()
-                        .setAssociatedConnectionMapPort(m.getConnectionMapLcp());
-                ietfTpBldr.addAugmentation(TerminationPoint1.class, ontTp1Bldr.build())
-                    .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
-                        .TerminationPoint1.class, ocnTp1Bldr.build())
-                    .addAugmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123
-                        .TerminationPoint1.class, tpceTp1Bldr.build());
-                tpList.add(ietfTpBldr.build());
+        for (Mapping m : mappings) {
+            if (!isOtn) {
+                ietfTpBldr = createTpBldr(m.getLogicalConnectionPoint());
+                // Add openroadm-network-topology tp augmentations
+                org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                    .TerminationPoint1Builder ocnTp1Bldr = new org.opendaylight.yang.gen.v1.http.org.openroadm
+                    .common.network.rev181130.TerminationPoint1Builder();
+                if (m.getPortQual().equals("xpdr-network")) {
+                    ocnTp1Bldr.setTpType(OpenroadmTpType.XPONDERNETWORK);
+                    org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123.TerminationPoint1 tpceTp1 =
+                        new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123
+                        .TerminationPoint1Builder().setAssociatedConnectionMapPort(m.getConnectionMapLcp()).build();
+                    ietfTpBldr
+                        .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network
+                            .rev181130.TerminationPoint1.class, ocnTp1Bldr.build())
+                        .addAugmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123
+                            .TerminationPoint1.class, tpceTp1);
+                    tpList.add(ietfTpBldr.build());
+                } else if (m.getPortQual().equals("xpdr-client")) {
+                    ocnTp1Bldr.setTpType(OpenroadmTpType.XPONDERCLIENT);
+                    org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123.TerminationPoint1 tpceTp1 =
+                        new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123
+                        .TerminationPoint1Builder().setAssociatedConnectionMapPort(m.getConnectionMapLcp()).build();
+                    ietfTpBldr
+                        .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                            .TerminationPoint1.class, ocnTp1Bldr.build())
+                        .addAugmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123
+                            .TerminationPoint1.class, tpceTp1);
+                    tpList.add(ietfTpBldr.build());
+                }
+            } else {
+                if (m.getPortQual().equals("xpdr-network") || m.getPortQual().equals("switch-network")) {
+                    ietfTpBldr = createTpBldr(m.getLogicalConnectionPoint());
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                        .TerminationPoint1Builder ocnTp1Bldr = new org.opendaylight.yang.gen.v1.http.org.openroadm
+                        .common.network.rev181130.TerminationPoint1Builder().setTpType(OpenroadmTpType.XPONDERNETWORK);
+                    ietfTpBldr
+                        .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network
+                            .rev181130.TerminationPoint1.class, ocnTp1Bldr.build());
+                    tpList.add(ietfTpBldr.build());
+                }
             }
         }
-
         // Create ietf node augmentation to support ietf tp-list
         org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
-            .Node1Builder ietfNode1 =
-            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder()
-                .setTerminationPoint(tpList);
+            .Node1Builder ietfNode1 = new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology
+            .rev180226.Node1Builder()
+            .setTerminationPoint(tpList);
         ietfNodeBldr.addAugmentation(
             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class,
             ietfNode1.build());
         return ietfNodeBldr;
     }
 
-    private NodeBuilder createDegree(String degNb, List<Mapping> degListMap, String nodeId) {
+    private static NodeBuilder createDegree(String degNb, List<Mapping> degListMap, String nodeId, String clli) {
         // Create tp-list
         List<TerminationPoint> tpList = new ArrayList<>();
         TerminationPointBuilder ietfTpBldr;
         for (Mapping m : degListMap) {
             ietfTpBldr = createTpBldr(m.getLogicalConnectionPoint());
-            // Add openroadm-network-topology tp augmentations
+            // Add openroadm-common-network tp type augmentations
             org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
                 .TerminationPoint1Builder ocnTp1Bldr = new org.opendaylight.yang.gen.v1.http.org.openroadm.common
                 .network.rev181130.TerminationPoint1Builder();
@@ -283,52 +269,48 @@ public class OpenRoadmTopology22 {
             tpList.add(ietfTpBldr.build());
         }
         // Add CTP to tp-list
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder ocnTp1Bldr =
+        ietfTpBldr = createTpBldr(degNb + "-CTP-TXRX");
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1 ocnTp1 =
             new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder()
-            .setTpType(OpenroadmTpType.DEGREETXRXCTP);
-        ietfTpBldr = createTpBldr(degNb + "-CTP-TXRX").addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm
-            .common.network.rev181130.TerminationPoint1.class, ocnTp1Bldr.build());
+            .setTpType(OpenroadmTpType.DEGREETXRXCTP).build();
+        ietfTpBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+            .TerminationPoint1.class, ocnTp1);
         tpList.add(ietfTpBldr.build());
-
+        // set degree-attributes
+        DegreeAttributes degAtt = new DegreeAttributesBuilder()
+            .setDegreeNumber(Integer.valueOf(degNb.split("DEG")[1]))
+            .setAvailableWavelengths(create96AvalWaveDegree()).build();
         // Create ietf node augmentation to support ietf tp-list
         org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
-            .Node1Builder ietfNode1 =
-            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder()
-                .setTerminationPoint(tpList);
-
+            .Node1Builder ietfNode1 = new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology
+            .rev180226.Node1Builder()
+            .setTerminationPoint(tpList);
         // set node-id
         String nodeIdtopo = new StringBuilder().append(nodeId).append("-").append(degNb).toString();
-        // set degree-attributes
-        DegreeAttributesBuilder degAttBldr = new DegreeAttributesBuilder()
-                .setDegreeNumber(new Integer(degNb.split("DEG")[1]))
-                .setAvailableWavelengths(create96AvalWaveDegree());
-        // Create openroadm-network-topo augmentation to set node type to DEGREE
-        Node1Builder ontNode1Bldr = new Node1Builder()
-                .setDegreeAttributes(degAttBldr.build());
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder ocnNode1Bldr =
+        Node1 ontNode1 = new Node1Builder().setDegreeAttributes(degAtt).build();
+        // Create openroadm-common-network augmentation to set node type to DEGREE
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 ocnNode1 =
             new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder()
-            .setNodeType(OpenroadmNodeType.DEGREE);
-
+            .setNodeType(OpenroadmNodeType.DEGREE).build();
         // Create ietf node setting supporting-node data
-        NodeBuilder ietfNodeBldr = createTopoLayerNode(nodeId)
+        return createTopoLayerNode(nodeId, clli)
             .setNodeId(new NodeId(nodeIdtopo))
             .withKey((new NodeKey(new NodeId(nodeIdtopo))))
-            .addAugmentation(Node1.class, ontNode1Bldr.build())
+            .addAugmentation(Node1.class, ontNode1)
             .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
-                .Node1.class, ocnNode1Bldr.build())
-            .addAugmentation(
-                org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class,
-                ietfNode1.build());
-        return ietfNodeBldr;
+                .Node1.class, ocnNode1)
+            .addAugmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology
+                .rev180226.Node1.class,
+            ietfNode1.build());
     }
 
-    private NodeBuilder createSrg(String srgNb, List<Mapping> srgListMap, String nodeId) {
+    private static NodeBuilder createSrg(String srgNb, List<Mapping> srgListMap, String nodeId, String clli) {
         // Create tp-list
         List<TerminationPoint> tpList = new ArrayList<>();
         TerminationPointBuilder ietfTpBldr;
         for (Mapping m : srgListMap) {
             ietfTpBldr = createTpBldr(m.getLogicalConnectionPoint());
-            // Add openroadm-network-topology tp augmentations
+            // Add openroadm-common-network tp type augmentations
             org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
                 .TerminationPoint1Builder ocnTp1Bldr = new org.opendaylight.yang.gen.v1.http.org.openroadm.common
                 .network.rev181130.TerminationPoint1Builder();
@@ -350,81 +332,76 @@ public class OpenRoadmTopology22 {
             tpList.add(ietfTpBldr.build());
         }
         // Add CP to tp-list
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder ocnTp1Bldr =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder()
-            .setTpType(OpenroadmTpType.SRGTXRXCP);
-        ietfTpBldr = createTpBldr(srgNb + "-CP-TXRX").addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm
-            .common.network.rev181130.TerminationPoint1.class, ocnTp1Bldr.build());
+        ietfTpBldr = createTpBldr(srgNb + "-CP-TXRX");
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+            .TerminationPoint1 ocnTp1 = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network
+            .rev181130.TerminationPoint1Builder().setTpType(OpenroadmTpType.SRGTXRXCP).build();
+        ietfTpBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+            .TerminationPoint1.class, ocnTp1);
         tpList.add(ietfTpBldr.build());
-
+        // Create openroadm-common-network augmentation to set node type to SRG
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 ocnNode1 =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder()
+            .setNodeType(OpenroadmNodeType.SRG).build();
+        // set srg-attributes
+        SrgAttributes srgAttr = new SrgAttributesBuilder().setAvailableWavelengths(create96AvalWaveSrg()).build();
+        Node1 ontNode1 = new Node1Builder().setSrgAttributes(srgAttr).build();
         // Create ietf node augmentation to support ietf tp-list
         org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
-            .Node1Builder ietfNode1 =
-            new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder()
-                .setTerminationPoint(tpList);
-
-        // set node-id
-        String nodeIdtopo = new StringBuilder().append(nodeId).append("-").append(srgNb).toString();
-        // set srg-attributes
-        SrgAttributesBuilder srgAttrBldr = new SrgAttributesBuilder().setAvailableWavelengths(create96AvalWaveSrg());
-        // Create openroadm-network-topo augmentation to set node type to DEGREE
-        Node1Builder ontNode1Bldr = new Node1Builder()
-                .setSrgAttributes(srgAttrBldr.build());
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder ocnNode1Bldr =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder()
-            .setNodeType(OpenroadmNodeType.SRG);
-
+            .Node1Builder ietfNode1 = new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology
+            .rev180226.Node1Builder()
+            .setTerminationPoint(tpList);
         // Create ietf node setting supporting-node data
-        NodeBuilder ietfNodeBldr = createTopoLayerNode(nodeId)
+        String nodeIdtopo = new StringBuilder().append(nodeId).append("-").append(srgNb).toString();
+        return createTopoLayerNode(nodeId, clli)
             .setNodeId(new NodeId(nodeIdtopo))
             .withKey((new NodeKey(new NodeId(nodeIdtopo))))
-            .addAugmentation(Node1.class, ontNode1Bldr.build())
-            .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class,
-                ocnNode1Bldr.build())
-            .addAugmentation(
-                org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class,
-                ietfNode1.build());
-        return ietfNodeBldr;
+            .addAugmentation(Node1.class, ontNode1)
+            .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                .Node1.class, ocnNode1)
+            .addAugmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
+                .Node1.class, ietfNode1.build());
     }
 
-    private NodeBuilder createTopoLayerNode(String nodeId) {
+    private static NodeBuilder createTopoLayerNode(String nodeId, String clli) {
         // Sets the value of Network-ref and Node-ref as a part of the supporting node
         // attribute
-        SupportingNodeBuilder supportbldr = new SupportingNodeBuilder()
-                .withKey(new SupportingNodeKey(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID), new NodeId(nodeId)))
-                .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
-                .setNodeRef(new NodeId(nodeId));
+        SupportingNodeBuilder support1bldr = new SupportingNodeBuilder()
+            .withKey(new SupportingNodeKey(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID), new NodeId(nodeId)))
+            .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
+            .setNodeRef(new NodeId(nodeId));
+        SupportingNodeBuilder support2bldr = new SupportingNodeBuilder()
+            .withKey(new SupportingNodeKey(new NetworkId(NetworkUtils.CLLI_NETWORK_ID), new NodeId(clli)))
+            .setNetworkRef(new NetworkId(NetworkUtils.CLLI_NETWORK_ID))
+            .setNodeRef(new NodeId(clli));
         ArrayList<SupportingNode> supportlist = new ArrayList<>();
-        supportlist.add(supportbldr.build());
-        NodeBuilder nodebldr = new NodeBuilder().setSupportingNode(supportlist);
-        return nodebldr;
+        supportlist.add(support1bldr.build());
+        supportlist.add(support2bldr.build());
+        return new NodeBuilder().setSupportingNode(supportlist);
     }
 
 
     // This method returns a generic termination point builder for a given tpid
-    private TerminationPointBuilder createTpBldr(String tpId) {
+    private static TerminationPointBuilder createTpBldr(String tpId) {
         TpId tp = new TpId(tpId);
-        TerminationPointKey tpKey = new TerminationPointKey(tp);
-        TerminationPointBuilder tpBldr = new TerminationPointBuilder().withKey(tpKey).setTpId(tp);
-        return tpBldr;
+        return new TerminationPointBuilder().withKey(new TerminationPointKey(tp)).setTpId(tp);
     }
 
-    private LinkBuilder createLink(String srcNode, String destNode, String srcTp, String destTp) {
+    private static LinkBuilder createLink(String srcNode, String destNode, String srcTp, String destTp) {
         //create source link
         SourceBuilder ietfSrcLinkBldr = new SourceBuilder().setSourceNode(new NodeId(srcNode)).setSourceTp(srcTp);
         //create destination link
-        DestinationBuilder ietfDestLinkBldr = new DestinationBuilder()
-                .setDestNode(new NodeId(destNode))
-                .setDestTp(destTp);
-        LinkBuilder ietfLinkBldr = new LinkBuilder()
-                .setSource(ietfSrcLinkBldr.build())
-                .setDestination(ietfDestLinkBldr.build())
-                .setLinkId(LinkIdUtil.buildLinkId(srcNode, srcTp, destNode, destTp));
-        ietfLinkBldr.withKey(new LinkKey(ietfLinkBldr.getLinkId()));
-        return ietfLinkBldr;
+        DestinationBuilder ietfDestLinkBldr = new DestinationBuilder().setDestNode(new NodeId(destNode))
+            .setDestTp(destTp);
+        LinkId linkId = LinkIdUtil.buildLinkId(srcNode, srcTp, destNode, destTp);
+        return new LinkBuilder()
+            .setSource(ietfSrcLinkBldr.build())
+            .setDestination(ietfDestLinkBldr.build())
+            .setLinkId(linkId)
+            .withKey(new LinkKey(linkId));
     }
 
-    private List<Link> createNewLinks(List<Node> nodes) {
+    private static List<Link> createNewLinks(List<Node> nodes) {
         List<Link> links = new ArrayList<>();
         String srcNode;
         String destNode;
@@ -448,10 +425,6 @@ public class OpenRoadmTopology22 {
                     .network.rev181130.Node1.class).getNodeType().getIntValue();
                 int destNodeType = nodes.get(j).augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common
                     .network.rev181130.Node1.class).getNodeType().getIntValue();
-                //The previous 2 lines generate warnings.
-                //Casting (nodes.get(i or j).augmentation(Node1.class)) to
-                //(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1)
-                //breaks the portmapping
                 if (srcNodeType == 11 && destNodeType == 11) {
                     ocnAzLinkBldr.setLinkType(OpenroadmLinkType.EXPRESSLINK);
                 } else if (srcNodeType == 11 && destNodeType == 12) {
@@ -476,9 +449,7 @@ public class OpenRoadmTopology22 {
                 LinkBuilder ietfAzLinkBldr = createLink(srcNode, destNode, srcTp, destTp);
                 LinkBuilder ietfZaLinkBldr = createLink(destNode, srcNode, destTp, srcTp);
                 ocnAzLinkBldr.setOppositeLink(ietfZaLinkBldr.getLinkId());
-                ietfAzLinkBldr.addAugmentation(Link1.class, ocnAzLinkBldr.build())
-                    .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
-                        .Link1.class, ocnAzLinkBldr.build());
+                ietfAzLinkBldr.addAugmentation(Link1.class, ocnAzLinkBldr.build());
                 ocnZaLinkBldr.setOppositeLink(ietfAzLinkBldr.getLinkId());
                 ietfZaLinkBldr.addAugmentation(Link1.class, ocnZaLinkBldr.build());
                 links.add(ietfAzLinkBldr.build());
@@ -513,12 +484,14 @@ public class OpenRoadmTopology22 {
                     networkTransactionService.read(LogicalDatastoreType.CONFIGURATION,linkIID.build()).get();
             if (link.isPresent()) {
                 LinkBuilder linkBuilder = new LinkBuilder(link.get());
-                org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
-                    .Link1Builder link1Builder = new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology
-                    .rev181130.Link1Builder(linkBuilder.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm
-                    .network.topology.rev181130.Link1.class)).setAdministrativeState(State.OutOfService);
-                linkBuilder.removeAugmentation(Link1.class).addAugmentation(org.opendaylight.yang.gen.v1.http.org
-                    .openroadm.network.topology.rev181130.Link1.class,link1Builder.build());
+                org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1Builder link1Builder =
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1Builder(
+                    linkBuilder.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
+                    .Link1.class))
+                    .setAdministrativeState(State.OutOfService);
+                linkBuilder.removeAugmentation(Link1.class)
+                    .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
+                        .Link1.class,link1Builder.build());
                 networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, linkIID.build(),
                         linkBuilder.build());
                 networkTransactionService.commit().get(1, TimeUnit.SECONDS);
@@ -535,38 +508,34 @@ public class OpenRoadmTopology22 {
         }
     }
 
-    private List<AvailableWavelengths> create96AvalWaveDegree() {
+    private static List<AvailableWavelengths> create96AvalWaveDegree() {
         List<AvailableWavelengths> waveList = new ArrayList<>();
 
         for (int i = 1; i < 97; i++) {
             AvailableWavelengthsBuilder avalBldr = new AvailableWavelengthsBuilder()
-                    .setIndex((long) i)
-                    .withKey(new AvailableWavelengthsKey((long) i));
+                .setIndex((long) i)
+                .withKey(new AvailableWavelengthsKey((long) i));
             waveList.add(avalBldr.build());
         }
 
         return waveList;
     }
 
-    private List<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node
+    private static List<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node
             .attributes.AvailableWavelengths> create96AvalWaveSrg() {
 
         List<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                .AvailableWavelengths> waveList =
-                new ArrayList<>();
+            .AvailableWavelengths> waveList = new ArrayList<>();
 
         for (int i = 1; i < 97; i++) {
             org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                .AvailableWavelengthsBuilder avalBldr =
-                    new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                        .AvailableWavelengthsBuilder()
-                        .setIndex((long) i)
-                        .withKey(
-                            new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                                .AvailableWavelengthsKey((long) i));
+                .AvailableWavelengthsBuilder avalBldr = new org.opendaylight.yang.gen.v1.http.org.openroadm.srg
+                .rev181130.srg.node.attributes.AvailableWavelengthsBuilder()
+                .setIndex((long) i)
+                .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
+                    .AvailableWavelengthsKey((long) i));
             waveList.add(avalBldr.build());
         }
-
         return waveList;
     }
 }
diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/TpceNetwork.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/TpceNetwork.java
new file mode 100644 (file)
index 0000000..c6a9ab3
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ * Copyright Â© 2020 ORANGE.  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.networkmodel.util;
+
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.transportpce.common.NetworkUtils;
+import org.opendaylight.transportpce.common.network.NetworkTransactionService;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.NetworkTypes1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.NetworkTypes1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.networks.network.network.types.ClliNetworkBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.networks.network.network.types.OpenroadmCommonNetworkBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NetworkTypes;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NetworkTypesBuilder;
+import org.opendaylight.yangtools.yang.binding.Augmentation;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class TpceNetwork {
+
+    private static final Logger LOG = LoggerFactory.getLogger(TpceNetwork.class);
+
+    private NetworkTransactionService networkTransactionService;
+
+    public TpceNetwork(NetworkTransactionService networkTransactionService) {
+        this.networkTransactionService = networkTransactionService;
+    }
+
+    /**
+     * This public method creates the adequate openroadm layer and posts it to the controller.
+     *
+     * @param networkId   defines the network layer
+     */
+    public void createLayer(String networkId) {
+        try {
+            Network network = createNetwork(networkId);
+            InstanceIdentifierBuilder<Network> nwIID = InstanceIdentifier.builder(Networks.class).child(Network.class,
+                new NetworkKey(new NetworkId(networkId)));
+            networkTransactionService.put(LogicalDatastoreType.CONFIGURATION, nwIID.build(), network);
+            this.networkTransactionService.commit().get(1, TimeUnit.SECONDS);
+            LOG.info("{} network layer created successfully.", networkId);
+        } catch (ExecutionException | TimeoutException | InterruptedException e) {
+            LOG.error("Failed to create {} network layer", networkId, e);
+        }
+    }
+
+
+    /**
+     * Create empty CLLI network.
+     */
+    private static Network createNetwork(String networkId) {
+        NetworkTypesBuilder networkTypesBldr = new NetworkTypesBuilder();
+        switch (networkId) {
+            case NetworkUtils.CLLI_NETWORK_ID:
+                Augmentation<NetworkTypes> ordClli = new NetworkTypes1Builder()
+                    .setClliNetwork(new ClliNetworkBuilder().build())
+                    .build();
+                networkTypesBldr.addAugmentation(NetworkTypes1.class, ordClli);
+                break;
+            case NetworkUtils.UNDERLAY_NETWORK_ID:
+            case NetworkUtils.OVERLAY_NETWORK_ID:
+            case NetworkUtils.OTN_NETWORK_ID:
+                Augmentation<NetworkTypes> ordTopology = new org.opendaylight.yang.gen.v1.http.org.openroadm.common
+                    .network.rev181130.NetworkTypes1Builder()
+                    .setOpenroadmCommonNetwork(new OpenroadmCommonNetworkBuilder().build())
+                    .build();
+                networkTypesBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network
+                    .rev181130.NetworkTypes1.class, ordTopology);
+                break;
+            default:
+                LOG.error("Unknown network type");
+                break;
+        }
+        return new NetworkBuilder()
+            .setNetworkId(new NetworkId(networkId))
+            .withKey(new NetworkKey(new NetworkId(networkId)))
+            .setNetworkTypes(networkTypesBldr.build())
+            .build();
+    }
+}
index de182178d6f6e308f6ffd3b43c76cecd29254595..2d1097941e78f5ec75d9212e8b50eafb54139865 100644 (file)
     <reference id="networkTransactionImpl" interface="org.opendaylight.transportpce.common.network.NetworkTransactionService" />
     <reference id="mappingUtils" interface="org.opendaylight.transportpce.common.mapping.MappingUtils" />
 
-    <bean id="openRoadmFactory" class="org.opendaylight.transportpce.networkmodel.util.OpenRoadmFactory">
-        <argument ref="mappingUtils" />
-        <argument ref="openRoadmTopology22" />
-        <argument ref="openRoadmOtnTopology22" />
-    </bean>
-
-    <bean id="openRoadmTopology22" class="org.opendaylight.transportpce.networkmodel.util.OpenRoadmTopology22">
-        <argument ref="networkTransactionImpl" />
-    </bean>
-
-    <bean id="openRoadmOtnTopology22" class="org.opendaylight.transportpce.networkmodel.util.OpenRoadmOtnTopology22">
-        <argument ref="networkTransactionImpl" />
-        <argument ref="deviceTransactionManager" />
-    </bean>
-
     <bean id="networkModelService" class="org.opendaylight.transportpce.networkmodel.service.NetworkModelServiceImpl">
         <argument ref="networkTransactionImpl" />
         <argument ref="linkDiscoveryImpl" />
-        <argument ref="deviceTransactionManager" />
-        <argument ref="openRoadmFactory" />
         <argument ref="portMapping" />
     </bean>
 
@@ -43,7 +26,6 @@
         <argument ref="rpcProviderService" />
         <argument ref="networkutilsServiceImpl" />
         <argument ref="netconfTopologyListener" />
-        <argument ref="openRoadmFactory" />
     </bean>
 
     <bean id="netconfTopologyListener" class="org.opendaylight.transportpce.networkmodel.NetConfTopologyListener">
 
     <bean id="networkutilsServiceImpl" class="org.opendaylight.transportpce.networkmodel.NetworkUtilsImpl">
         <argument ref="dataBroker" />
-        <argument ref="openRoadmFactory" />
     </bean>
 
     <bean id="linkDiscoveryImpl" class="org.opendaylight.transportpce.networkmodel.R2RLinkDiscovery">
         <argument ref="dataBroker" />
         <argument ref="deviceTransactionManager" />
-        <argument ref="openRoadmFactory" />
         <argument ref="networkTransactionImpl" />
    </bean>
 
index de9f0e72431b697637f36e54890d53c1daff6505..e6b9e3a4c06309e63a5f42fd5c2a7bb78e5efd3c 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.transportpce.pce.networkanalyzer;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-
+import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.transportpce.pce.constraints.PceConstraints;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenation;
@@ -18,6 +18,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attri
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.Span;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNode;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.LinkId;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link;
 import org.slf4j.Logger;
@@ -92,8 +93,13 @@ public final class MapUtils {
     }
 
     public static String getSupNode(Node node) {
-        // TODO: supporting IDs exist as a List. this code takes just the first element
-        return node.getSupportingNode().get(0).getNodeRef().getValue();
+        List<SupportingNode> supNodes = node.getSupportingNode();
+        for (SupportingNode snode : supNodes) {
+            if (NetworkUtils.UNDERLAY_NETWORK_ID.equals(snode.getNetworkRef().getValue())) {
+                return snode.getNodeRef().getValue();
+            }
+        }
+        return null;
     }
 
     public static OpenroadmLinkType calcType(Link link) {
index c06654416d13307dfb7da9dd7c547c28bbb53e3d..c869f16757d785ad0995bd092fd89ecaa9209ef8 100644 (file)
@@ -208,14 +208,17 @@ public class PceNode {
                 .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
                 .TerminationPoint1.class);
             if (cntp1.getTpType() == OpenroadmTpType.XPONDERNETWORK) {
-                if (nttp1.getXpdrNetworkAttributes().getWavelength() != null) {
+                if (nttp1 != null && nttp1.getXpdrNetworkAttributes().getWavelength() != null) {
                     this.usedXpndrNWTps.add(tp.getTpId().getValue());
-                    LOG.debug("initXndrTps: XPONDER tp = {} is used", tp.getTpId().getValue());
+                    LOG.info("initXndrTps: XPONDER tp = {} is used", tp.getTpId().getValue());
                 } else {
                     this.valid = true;
                 }
                 // find Client of this network TP
-                String client = nttp1.getXpdrNetworkAttributes().getTailEquipmentId();
+                org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123.TerminationPoint1 tpceTp1 =
+                    tp.augmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200123
+                        .TerminationPoint1.class);
+                String client = tpceTp1.getAssociatedConnectionMapPort();
                 if ((client.equals("")) || (client == null)) {
                     LOG.error("initXndrTps: XPONDER {} NW TP doesn't have defined Client {}", this.toString(), tp
                             .getTpId().getValue());
@@ -276,14 +279,14 @@ public class PceNode {
     }
 
     private String getSupNodeId(Node inputNode) {
-        String tempSupId = "";
         // TODO: supporting IDs exist as a List. this code takes just the
         // first element
-        tempSupId = MapUtils.getSupNode(inputNode);
-        if (tempSupId.equals("")) {
+        if (MapUtils.getSupNode(inputNode) != null) {
+            return MapUtils.getSupNode(inputNode);
+        } else {
             LOG.error("getSupNodeId: Empty Supporting node for node: [{}]. Node is ignored", inputNode.getNodeId());
+            return "";
         }
-        return tempSupId;
     }
 
     public void validateAZxponder(String anodeId, String znodeId) {
index 67d90913e289d26e8d3af2ff65edc14e98a1d9d4..e79275c45dc3efd5bc01975182910dc28107bf4f 100644 (file)
@@ -18,7 +18,8 @@
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli11</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-1-1-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
@@ -37,7 +38,8 @@
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli11</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-1-1-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli11</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-1-1-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli11</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>1</index> </available-wavelengths>
         <available-wavelengths> <index>2</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-1-1</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-1-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-1-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE1</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-1-2-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli12</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-1-2-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli12</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-1-2-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli12</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-1-2-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli12</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>1</index> </available-wavelengths>
         <available-wavelengths> <index>2</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-1-2</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-1-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-1-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE1</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-1-3-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli13</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-1-3-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli13</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-1-3-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli13</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-1-3-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-3</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-3</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli13</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>1</index> </available-wavelengths>
         <available-wavelengths> <index>2</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-1-3</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-1-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-1-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE1</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-1-4-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli14</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-1-4-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli14</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-1-4-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli14</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-1-4-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-4</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-4</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli14</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>1</index> </available-wavelengths>
         <available-wavelengths> <index>2</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-1-4</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-1-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-1-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE1</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-2-1-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>4</index> </available-wavelengths>
         <available-wavelengths> <index>5</index> </available-wavelengths>
          </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli21</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-2-1-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>4</index> </available-wavelengths>
         <available-wavelengths> <index>5</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli21</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-2-1-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>4</index> </available-wavelengths>
         <available-wavelengths> <index>5</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli21</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-2-1-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli21</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>2</index> </available-wavelengths>
         <available-wavelengths> <index>3</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-2-1</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-2-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-2-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE2</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-2-2-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>4</index> </available-wavelengths>
         <available-wavelengths> <index>5</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli22</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-2-2-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>4</index> </available-wavelengths>
         <available-wavelengths> <index>5</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli22</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-2-2-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>4</index> </available-wavelengths>
         <available-wavelengths> <index>5</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli22</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-2-2-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli22</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>2</index> </available-wavelengths>
         <available-wavelengths> <index>3</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-2-2</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-2-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-2-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE2</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-2-3-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>4</index> </available-wavelengths>
         <available-wavelengths> <index>5</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli23</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-2-3-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>4</index> </available-wavelengths>
         <available-wavelengths> <index>5</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli23</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-2-3-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>4</index> </available-wavelengths>
         <available-wavelengths> <index>5</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli23</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-2-3-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-3</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-3</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli23</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>2</index> </available-wavelengths>
         <available-wavelengths> <index>3</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-2-3</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-2-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-2-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE2</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-2-4-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>4</index> </available-wavelengths>
         <available-wavelengths> <index>5</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli24</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-2-4-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>4</index> </available-wavelengths>
         <available-wavelengths> <index>5</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli24</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-2-4-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>4</index> </available-wavelengths>
         <available-wavelengths> <index>5</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli24</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-2-4-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-4</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-4</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli24</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>2</index> </available-wavelengths>
         <available-wavelengths> <index>3</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-2-4</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-2-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-2-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE2</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-3-1-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli31</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-3-1-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli31</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-3-1-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli31</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-3-1-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli31</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>5</index> </available-wavelengths>
         <available-wavelengths> <index>6</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-3-1</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-3-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-3-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE3</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-3-2-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli32</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-3-2-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli32</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-3-2-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli32</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-3-2-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli32</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>5</index> </available-wavelengths>
         <available-wavelengths> <index>6</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-3-2</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-3-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-3-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE3</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-3-3-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli33</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-3-3-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli33</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-3-3-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli33</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-3-3-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-3</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli33</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>5</index> </available-wavelengths>
         <available-wavelengths> <index>6</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-3-3</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-3-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-3-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE3</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-3-4-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli34</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-3-4-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli34</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-3-4-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli34</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-3-4-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-4</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-4</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli34</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>5</index> </available-wavelengths>
         <available-wavelengths> <index>6</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-3-4</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-3-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-3-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE3</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-4-1-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli41</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-4-1-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli41</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-4-1-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli41</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-4-1-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli41</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>7</index> </available-wavelengths>
         <available-wavelengths> <index>8</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-4-1</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-4-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-4-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE4</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-4-2-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli42</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-4-2-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli42</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-4-2-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli42</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-4-2-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli42</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>7</index> </available-wavelengths>
         <available-wavelengths> <index>8</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-4-2</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-4-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-4-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE4</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-4-3-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli43</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-4-3-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli43</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-4-3-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli43</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-4-3-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-3</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-3</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli43</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>7</index> </available-wavelengths>
         <available-wavelengths> <index>8</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-4-3</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-4-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-4-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE4</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-4-4-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli44</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-4-4-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli44</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-4-4-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli44</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-4-4-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-4</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-4</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli44</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>7</index> </available-wavelengths>
         <available-wavelengths> <index>8</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-4-4</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-4-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-4-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE4</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-5-1-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli51</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-5-1-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli51</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-5-1-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli51</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-5-1-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli51</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-5-1</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-5-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-5-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE5</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-5-2-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli52</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-5-2-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli52</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-5-2-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli52</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-5-2-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli52</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-5-2</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-5-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-5-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE5</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-5-3-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli53</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-5-3-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli53</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-5-3-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-3</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli53</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-5-3-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-3</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-3</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli53</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-5-3</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-5-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-5-3</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE5</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-5-4-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli54</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-5-4-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli54</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-5-4-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-CTP</tp-type> </termination-point>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-4</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli54</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-5-4-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-4</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-4</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli54</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP4-TX</tp-id>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-5-4</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-5-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-5-4</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE5</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
 </node>
     <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">        <link-id>OpenROADM-1-1-DEG1-DEG1-CTP-TXtoOpenROADM-1-1-DEG2-DEG2-CTP-RX</link-id>
         <source><source-node>OpenROADM-1-1-DEG1</source-node><source-tp>DEG1-CTP-TX</source-tp></source>        <destination><dest-node>OpenROADM-1-1-DEG2</dest-node><dest-tp>DEG2-CTP-RX</dest-tp></destination>
         </span>
     </OMS-attributes>
 </link>
-</network>
+</network>
\ No newline at end of file
index cb2297a7f6203f166c0fc7b6b7059ad904ba2258..90be88ecaefa92644244960e2308fc51d246a236 100644 (file)
@@ -22,7 +22,8 @@
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli11</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-1-1-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
@@ -45,7 +46,8 @@
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli11</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-1-1-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli11</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-1-1-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli11</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>1</index> </available-wavelengths>
         <available-wavelengths> <index>2</index> </available-wavelengths>
 <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">                   <tp-id>SRG1-PP5-TX</tp-id>  <pp-attributes xmlns="http://org/openroadm/network/topology"></pp-attributes>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-TX-PP</tp-type>               </termination-point>
 </node>
-<node>        <node-id>XPONDER-1-1</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-1-1</node-ref>    </supporting-node>
+<node>
+    <node-id>XPONDER-1-1</node-id>
+    <supporting-node>
+        <network-ref>Transport-underlay</network-ref>
+        <node-ref>XPONDER-1-1</node-ref>
+    </supporting-node>
+    <supporting-node>
+        <network-ref>clli-network</network-ref>
+        <node-ref>ORANGE1</node-ref>
+    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-1</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-2</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-3</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-4</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-RX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-TX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-5</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-1</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-2</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-3</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-4</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-5</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW5</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-1-2-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli12</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-1-2-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli12</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-1-2-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli12</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-1-2-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-1-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli12</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>1</index> </available-wavelengths>
         <available-wavelengths> <index>2</index> </available-wavelengths>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-TX-PP</tp-type>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-1-2</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-1-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-1-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE1</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id>
-</xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-1</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-2</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-3</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-4</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-RX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-TX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-5</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-1</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-2</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-3</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-4</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-5</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW5</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-2-1-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli21</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-2-1-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli21</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-2-1-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli21</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-2-1-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli21</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>3</index> </available-wavelengths>
         <available-wavelengths> <index>4</index> </available-wavelengths>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-TX-PP</tp-type>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-2-1</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-2-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-2-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE2</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-1</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-2</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-3</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-4</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-RX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-TX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-5</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-1</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-2</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-3</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-4</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-5</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW5</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-2-2-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli22</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-2-2-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli22</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-2-2-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>11</index> </available-wavelengths>
         <available-wavelengths> <index>12</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli22</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-2-2-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-2-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli22</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>3</index> </available-wavelengths>
         <available-wavelengths> <index>4</index> </available-wavelengths>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-TX-PP</tp-type>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-2-2</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-2-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-2-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE2</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-1</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-2</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-3</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-4</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-RX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-TX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-5</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-1</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-2</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-3</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-4</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-5</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW5</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-3-1-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli31</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-3-1-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli31</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-3-1-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli31</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-3-1-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli31</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>5</index> </available-wavelengths>
         <available-wavelengths> <index>6</index> </available-wavelengths>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-TX-PP</tp-type>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-3-1</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-3-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-3-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE3</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-1</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-2</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-3</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-4</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-RX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-TX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-5</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-1</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-2</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-3</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-4</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-5</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW5</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-3-2-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli32</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-3-2-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli32</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-3-2-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>13</index> </available-wavelengths>
         <available-wavelengths> <index>14</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli32</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-3-2-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-3-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli32</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>5</index> </available-wavelengths>
         <available-wavelengths> <index>6</index> </available-wavelengths>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-TX-PP</tp-type>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-3-2</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-3-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-3-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE3</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-1</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-2</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-3</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-4</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-RX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-TX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-5</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-1</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-2</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-3</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-4</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-5</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW5</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-4-1-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>15</index> </available-wavelengths>
         <available-wavelengths> <index>16</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli41</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-4-1-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>15</index> </available-wavelengths>
         <available-wavelengths> <index>16</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli41</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-4-1-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>15</index> </available-wavelengths>
         <available-wavelengths> <index>16</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli41</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-4-1-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli41</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>7</index> </available-wavelengths>
         <available-wavelengths> <index>8</index> </available-wavelengths>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-TX-PP</tp-type>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-4-1</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-4-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-4-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE4</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-1</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-2</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-3</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-4</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-RX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-TX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-5</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-1</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-2</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-3</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-4</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-5</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW5</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-4-2-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>15</index> </available-wavelengths>
         <available-wavelengths> <index>16</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli42</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-4-2-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>15</index> </available-wavelengths>
         <available-wavelengths> <index>16</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli42</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-4-2-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>15</index> </available-wavelengths>
         <available-wavelengths> <index>16</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli42</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-4-2-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-4-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli42</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>7</index> </available-wavelengths>
         <available-wavelengths> <index>8</index> </available-wavelengths>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-TX-PP</tp-type>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-4-2</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-4-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-4-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE4</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-1</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-2</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-3</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-4</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-RX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-TX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-5</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-1</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-2</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-3</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-4</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-5</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW5</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-5-1-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>17</index> </available-wavelengths>
         <available-wavelengths> <index>18</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli51</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-5-1-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>17</index> </available-wavelengths>
         <available-wavelengths> <index>18</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli51</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-5-1-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>17</index> </available-wavelengths>
         <available-wavelengths> <index>18</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli51</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-5-1-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-1</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli51</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-TX-PP</tp-type>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-5-1</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-5-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-5-1</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE5</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-TX</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>Client-1</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-1</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-RX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW2-TX</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>Client-2</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-2</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW2</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-RX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW3-TX</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>Client-3</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-3</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW3</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-RX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW4-TX</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>Client-4</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-4</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW4</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-RX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW5-TX</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>Client-5</tail-equipment-id></xpdr-network-attributes>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5-TX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>Client-5</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-        <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW5</tail-equipment-id>        </xpdr-client-attributes> </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW1-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-1</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW1</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW2-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-2</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW2</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW3-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-3</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW3</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW4-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-4</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW4</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-RX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>XPDR-NW5-TX</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">Client-5</associated-connection-map-port>
+    </termination-point>
+    <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
+        <tp-id>Client-5</tp-id>
+        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
+        <associated-connection-map-port xmlns="http://transportpce/topology">XPDR-NW5</associated-connection-map-port>
+    </termination-point>
 </node>
 <node>    <node-id>OpenROADM-5-2-DEG1</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
         <available-wavelengths> <index>17</index> </available-wavelengths>
         <available-wavelengths> <index>18</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli52</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-5-2-DEG2</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>17</index> </available-wavelengths>
         <available-wavelengths> <index>18</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli52</node-ref>    </supporting-node></node>
 <node>    <node-id>OpenROADM-5-2-DEG3</node-id>
     <node-type xmlns="http://org/openroadm/common/network">DEGREE</node-type>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-TX</tp-id>  <ctp-attributes xmlns="http://org/openroadm/network/topology"></ctp-attributes>
         <available-wavelengths> <index>17</index> </available-wavelengths>
         <available-wavelengths> <index>18</index> </available-wavelengths>
         </degree-attributes>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node></node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>clli52</node-ref>    </supporting-node></node>
 <node>   <node-id>OpenROADM-5-2-SRG1</node-id>     <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
-        <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>openroadm-network</network-ref><node-ref>OpenROADM-5-2</node-ref>    </supporting-node>
+        <supporting-node><network-ref>clli-network</network-ref><node-ref>clli52</node-ref>    </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
         <available-wavelengths> <index>9</index> </available-wavelengths>
         <available-wavelengths> <index>10</index> </available-wavelengths>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-TX-PP</tp-type>               </termination-point>
 </node>
 <node>        <node-id>XPONDER-5-2</node-id>
-    <supporting-node><network-ref>Transport-underlay</network-ref><node-ref>XPONDER-5-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>openroadm-network</network-ref><node-ref>XPONDER-5-2</node-ref>    </supporting-node>
+    <supporting-node><network-ref>clli-network</network-ref><node-ref>ORANGE5</node-ref>    </supporting-node>
     <node-type xmlns="http://org/openroadm/common/network">XPONDER</node-type>
-<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</tp-id>        <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
+<termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    <tp-id>XPDR-NW1-RX</tp-id>        <tp-type xmlns="http://org/openroadm/network/topology">XPONDER-NETWORK</tp-type>
         <xpdr-network-attributes xmlns="http://org/openroadm/network/topology">
         <tail-equipment-id>Client-1</tail-equipment-id></xpdr-network-attributes>
         <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">        <tail-equipment-id>XPDR-NW1-RX</tail-equipment-id>        </xpdr-client-attributes></termination-point>
         </span>
     </OMS-attributes>
 </link>
-</network>
+</network>
\ No newline at end of file
index 93fab7da375199f61f8f6528794aa84f048e1804..14035e6e0080ae243bb473ea1a7f3c5ff567d98a 100644 (file)
                     "ietf-network-topology:termination-point": [
                         {
                             "tp-id": "XPDR-NW1-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-1"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-1",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW5-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-5"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-5",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW4-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-4"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-4",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW2-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-2"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-2",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW1-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-1"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-1",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW3-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-3"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-3",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW2-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-2"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-2",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW5-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-5"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-5",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW3-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-3"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-3",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW4-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-4"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-4",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "Client-4",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-5",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-1",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-2",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-3",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         }
                     ],
                     "ietf-network-topology:termination-point": [
                         {
                             "tp-id": "XPDR-NW1-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-1"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-1",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW5-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-5"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-5",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW4-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-4"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-4",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW2-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-2"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-2",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW1-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-1"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-1",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW3-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-3"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-3",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW2-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-2"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-2",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW5-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-5"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-5",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW3-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-3"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-3",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW4-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-4"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-4",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "Client-4",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-5",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-1",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-2",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-3",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         }
                     ],
                     "ietf-network-topology:termination-point": [
                         {
                             "tp-id": "XPDR-NW1-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-1"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-1",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW5-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-5"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-5",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW4-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-4"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-4",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW2-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-2"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-2",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW1-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-1"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-1",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW3-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-3"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-3",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW2-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-2"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-2",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW5-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-5"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-5",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW3-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-3"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-3",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW4-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-4"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-4",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "Client-4",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-5",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-1",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-2",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-3",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         }
                     ],
                     "ietf-network-topology:termination-point": [
                         {
                             "tp-id": "XPDR-NW1-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-1"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-1",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW5-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-5"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-5",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW4-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-4"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-4",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW2-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-2"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-2",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW1-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-1"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-1",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW3-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-3"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-3",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW2-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-2"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-2",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW5-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-5"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-5",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW3-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-3"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-3",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW4-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-4"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-4",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "Client-4",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-5",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-1",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-2",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-3",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         }
                     ],
                     "ietf-network-topology:termination-point": [
                         {
                             "tp-id": "XPDR-NW1-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-1"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-1",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW5-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-5"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-5",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW4-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-4"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-4",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW2-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-2"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-2",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW1-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-1"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-1",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW3-RX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3-RX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-3"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-3",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW2-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-2"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-2",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW5-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-5"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-5",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW3-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-3"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-3",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "XPDR-NW4-TX",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4-TX"
-                            },
-                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK",
-                            "org-openroadm-network-topology:xpdr-network-attributes": {
-                                "tail-equipment-id": "Client-4"
-                            }
+                            "transportpce-topology:associated-connection-map-port": "Client-4",
+                            "org-openroadm-common-network:tp-type": "XPONDER-NETWORK"
                         },
                         {
                             "tp-id": "Client-4",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW4"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-5",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW5"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-1",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW1"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-2",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW2"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         },
                         {
                             "tp-id": "Client-3",
-                            "org-openroadm-network-topology:xpdr-client-attributes": {
-                                "tail-equipment-id": "XPDR-NW3"
-                            },
                             "org-openroadm-common-network:tp-type": "XPONDER-CLIENT"
                         }
                     ],
             ]
         }
     ]
-}
+}
\ No newline at end of file
index 8798b8b96adb3a587ec8e3008b828ed1777698e5..2a616bbb72b1ae745fe31d6c76075f41f4db5398 100644 (file)
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
             <tp-id>XPDR1-NETWORK2</tp-id>
             <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
-            <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">
-                <tail-equipment-id>XPDR1-NETWORK1</tail-equipment-id>
-            </xpdr-client-attributes>
-            <xpdr-network-attributes xmlns="http://org/openroadm/network/topology">
-                <tail-equipment-id>XPDR1-CLIENT2</tail-equipment-id>
-            </xpdr-network-attributes>
+            <associated-connection-map-port xmlns="http://transportpce/topology">XPDR1-CLIENT2</associated-connection-map-port>
         </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
             <tp-id>XPDR1-CLIENT2</tp-id>
             <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-            <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">
-                <tail-equipment-id>XPDR1-NETWORK2</tail-equipment-id>
-            </xpdr-client-attributes>
+            <associated-connection-map-port xmlns="http://transportpce/topology">XPDR1-NETWORK2</associated-connection-map-port>
         </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
             <tp-id>XPDR1-CLIENT1</tp-id>
             <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-            <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">
-                <tail-equipment-id>XPDR1-NETWORK1</tail-equipment-id>
-            </xpdr-client-attributes>
+            <associated-connection-map-port xmlns="http://transportpce/topology">XPDR1-NETWORK1</associated-connection-map-port>
         </termination-point>
         <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-client-attributes xmlns="http://org/openroadm/network/topology">
-                <tail-equipment-id>XPDR1-NETWORK1</tail-equipment-id>
-            </xpdr-client-attributes>
-            <xpdr-network-attributes xmlns="http://org/openroadm/network/topology">
-                <tail-equipment-id>XPDR1-CLIENT1</tail-equipment-id>
-            </xpdr-network-attributes>
+            <associated-connection-map-port xmlns="http://transportpce/topology">XPDR1-CLIENT1</associated-connection-map-port>
         </termination-point>
         <supporting-node>
             <network-ref>openroadm-network</network-ref>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
             <tp-id>XPDR1-NETWORK2</tp-id>
             <tp-type xmlns="http://org/openroadm/common/network">XPONDER-NETWORK</tp-type>
-            <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">
-                <tail-equipment-id>XPDR1-NETWORK1</tail-equipment-id>
-            </xpdr-client-attributes>
-            <xpdr-network-attributes xmlns="http://org/openroadm/network/topology">
-                <tail-equipment-id>XPDR1-CLIENT2</tail-equipment-id>
-            </xpdr-network-attributes>
+            <associated-connection-map-port xmlns="http://transportpce/topology">XPDR1-CLIENT2</associated-connection-map-port>
         </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
             <tp-id>XPDR1-CLIENT2</tp-id>
             <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-            <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">
-                <tail-equipment-id>XPDR1-NETWORK2</tail-equipment-id>
-            </xpdr-client-attributes>
+            <associated-connection-map-port xmlns="http://transportpce/topology">XPDR1-NETWORK2</associated-connection-map-port>
         </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
             <tp-id>XPDR1-CLIENT1</tp-id>
             <tp-type xmlns="http://org/openroadm/common/network">XPONDER-CLIENT</tp-type>
-            <xpdr-client-attributes xmlns="http://org/openroadm/network/topology">
-                <tail-equipment-id>XPDR1-NETWORK1</tail-equipment-id>
-            </xpdr-client-attributes>
+            <associated-connection-map-port xmlns="http://transportpce/topology">XPDR1-NETWORK1</associated-connection-map-port>
         </termination-point>
         <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-client-attributes xmlns="http://org/openroadm/network/topology">
-                <tail-equipment-id>XPDR1-NETWORK1</tail-equipment-id>
-            </xpdr-client-attributes>
-            <xpdr-network-attributes xmlns="http://org/openroadm/network/topology">
-                <tail-equipment-id>XPDR1-CLIENT1</tail-equipment-id>
-            </xpdr-network-attributes>
+            <associated-connection-map-port xmlns="http://transportpce/topology">XPDR1-CLIENT1</associated-connection-map-port>
         </termination-point>
         <supporting-node>
             <network-ref>openroadm-network</network-ref>
index 4c44655306c39d2085a5a252610cd422be353c32..4727ae3b0174d6e76867d6a2551023cbcb0ac3db 100644 (file)
@@ -490,9 +490,9 @@ class TransportPCEFulltesting(unittest.TestCase):
                 self.assertEqual({u'frequency': 196.1, u'width': 40},
                                  ele['org-openroadm-network-topology:xpdr-network-attributes']['wavelength'])
             if ele['tp-id'] == 'XPDR1-CLIENT1' or ele['tp-id'] == 'XPDR1-CLIENT3':
-                self.assertNotIn('wavelength', dict.keys(ele['org-openroadm-network-topology:xpdr-client-attributes']))
+                self.assertNotIn('org-openroadm-network-topology:xpdr-client-attributes', dict.keys(ele))
             if ele['tp-id'] == 'XPDR1-NETWORK2':
-                self.assertNotIn('wavelength', dict.keys(ele['org-openroadm-network-topology:xpdr-network-attributes']))
+                self.assertNotIn('org-openroadm-network-topology:xpdr-network-attributes', dict.keys(ele))
         time.sleep(3)
 
     def test_16_check_topo_ROADMA_SRG1(self):
@@ -784,7 +784,7 @@ class TransportPCEFulltesting(unittest.TestCase):
                 self.assertEqual({u'frequency': 196.05, u'width': 40},
                                   ele['org-openroadm-network-topology:xpdr-network-attributes']['wavelength'])
             if ele['tp-id'] == 'XPDR1-CLIENT1' or ele['tp-id'] == 'XPDR1-CLIENT3':
-                self.assertNotIn('wavelength', dict.keys(ele['org-openroadm-network-topology:xpdr-client-attributes']))
+                self.assertNotIn('org-openroadm-network-topology:xpdr-client-attributes', dict.keys(ele))
         time.sleep(10)
 
     def test_26_check_topo_ROADMA_SRG1(self):
@@ -1031,6 +1031,7 @@ class TransportPCEFulltesting(unittest.TestCase):
         self.assertNotIn('roadm-connections', dict.keys(res['org-openroadm-device']))
         time.sleep(2)
 
+    @unittest.skip("Skip this test until tail-equipment-id deletion is finished.")
     def test_33_check_topo_XPDRA(self):
         url1 = ("{}/config/ietf-network:networks/network/openroadm-topology/node/XPDRA01-XPDR1"
                .format(self.restconf_baseurl))
@@ -1042,10 +1043,10 @@ class TransportPCEFulltesting(unittest.TestCase):
         for ele in liste_tp:
             if ((ele[u'org-openroadm-common-network:tp-type'] == 'XPONDER-CLIENT')
                 and (ele['tp-id'] == 'XPDR1-CLIENT1' or ele['tp-id'] == 'XPDR1-CLIENT3')):
-                self.assertNotIn('wavelength', dict.keys(ele['org-openroadm-network-topology:xpdr-client-attributes']))
+                self.assertNotIn('org-openroadm-network-topology:xpdr-client-attributes', dict.keys(ele))
             elif ((ele[u'org-openroadm-common-network:tp-type'] == 'XPONDER-NETWORK')
                 and (ele['tp-id'] == 'XPDR1-CLIENT1' or ele['tp-id'] == 'XPDR1-CLIENT3')):
-                self.assertNotIn('wavelength', dict.keys(ele['org-openroadm-network-topology:xpdr-network-attributes']))
+                self.assertNotIn('org-openroadm-network-topology:xpdr-network-attributes', dict.keys(ele))
         time.sleep(10)
 
     def test_34_check_topo_ROADMA_SRG1(self):
index e87f078bb5f618b5ebe50b4f721b26f852b3e5b3..5e8aed0af5b5af564b0922fe24f1f84cb91d4670 100644 (file)
@@ -87,7 +87,7 @@ class TransportPCETopologyTesting(unittest.TestCase):
         cls.honeynode_process4.wait()
 
     def setUp(self):
-        time.sleep(30)
+        time.sleep(5)
 
 #END_IGNORE_XTESTING
 
@@ -197,6 +197,10 @@ class TransportPCETopologyTesting(unittest.TestCase):
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                 self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'},
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
+                self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'},
+                              res['network'][0]['node'][i]['supporting-node'])
+                self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'},
+                              res['network'][0]['node'][i]['supporting-node'])
                 listNode.remove(nodeId)
             elif(nodeId=='ROADMA01-SRG3'):
                 #Test related to SRG1
@@ -206,6 +210,10 @@ class TransportPCETopologyTesting(unittest.TestCase):
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                 self.assertIn({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'},
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
+                self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'},
+                              res['network'][0]['node'][i]['supporting-node'])
+                self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'},
+                              res['network'][0]['node'][i]['supporting-node'])
                 listNode.remove(nodeId)
             elif(nodeId=='ROADMA01-DEG1'):
                 #Test related to DEG1
@@ -215,6 +223,10 @@ class TransportPCETopologyTesting(unittest.TestCase):
                 self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'},
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                 listNode.remove(nodeId)
+                self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'},
+                              res['network'][0]['node'][i]['supporting-node'])
+                self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'},
+                              res['network'][0]['node'][i]['supporting-node'])
             elif(nodeId=='ROADMA01-DEG2'):
                 #Test related to DEG2
                 self.assertEqual(nodeType,'DEGREE')
@@ -222,6 +234,10 @@ class TransportPCETopologyTesting(unittest.TestCase):
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                 self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'},
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
+                self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'},
+                              res['network'][0]['node'][i]['supporting-node'])
+                self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADMA01'},
+                              res['network'][0]['node'][i]['supporting-node'])
                 listNode.remove(nodeId)
             else:
                 self.assertFalse(True)
@@ -299,6 +315,8 @@ class TransportPCETopologyTesting(unittest.TestCase):
              if(nodeId=='XPDRA01-XPDR1'):
                  self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'XPDRA01'},
                                res['network'][0]['node'][i]['supporting-node'])
+                 self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'},
+                               res['network'][0]['node'][i]['supporting-node'])
                  self.assertEqual(nodeType,'XPONDER')
                  nbTps=len(res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                  client = 0
@@ -365,7 +383,7 @@ class TransportPCETopologyTesting(unittest.TestCase):
 
     #Connect the tail XPDRA to ROADMA and vice versa
     def test_10_connect_tail_xpdr_rdm(self):
-         #Connect the tail: XPDRA to ROADMA
+        #Connect the tail: XPDRA to ROADMA
         url = ("{}/operations/transportpce-networkutils:init-xpdr-rdm-links"
                 .format(self.restconf_baseurl))
         data = {"networkutils:input": {
@@ -384,29 +402,27 @@ class TransportPCETopologyTesting(unittest.TestCase):
               "POST", url, data=json.dumps(data), headers=headers,
               auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.ok)
-        time.sleep(10)
 
     def test_11_connect_tail_rdm_xpdr(self):
-         #Connect the tail: ROADMA to XPDRA
-         url = ("{}/operations/transportpce-networkutils:init-rdm-xpdr-links"
-                 .format(self.restconf_baseurl))
-         data = {"networkutils:input": {
-              "networkutils:links-input": {
-                "networkutils:xpdr-node": "XPDRA01",
-                "networkutils:xpdr-num": "1",
-                "networkutils:network-num": "1",
-                "networkutils:rdm-node": "ROADMA01",
-                "networkutils:srg-num": "1",
-                "networkutils:termination-point-num": "SRG1-PP1-TXRX"
-             }
+        #Connect the tail: ROADMA to XPDRA
+        url = ("{}/operations/transportpce-networkutils:init-rdm-xpdr-links"
+                .format(self.restconf_baseurl))
+        data = {"networkutils:input": {
+             "networkutils:links-input": {
+               "networkutils:xpdr-node": "XPDRA01",
+               "networkutils:xpdr-num": "1",
+               "networkutils:network-num": "1",
+               "networkutils:rdm-node": "ROADMA01",
+               "networkutils:srg-num": "1",
+               "networkutils:termination-point-num": "SRG1-PP1-TXRX"
             }
-         }
-         headers = {'content-type': 'application/json'}
-         response = requests.request(
-               "POST", url, data=json.dumps(data), headers=headers,
-               auth=('admin', 'admin'))
-         self.assertEqual(response.status_code, requests.codes.ok)
-         time.sleep(10)
+          }
+        }
+        headers = {'content-type': 'application/json'}
+        response = requests.request(
+              "POST", url, data=json.dumps(data), headers=headers,
+              auth=('admin', 'admin'))
+        self.assertEqual(response.status_code, requests.codes.ok)
 
     def test_12_getLinks_OpenRoadmTopology(self):
         url = ("{}/config/ietf-network:networks/network/openroadm-topology"
@@ -475,7 +491,7 @@ class TransportPCETopologyTesting(unittest.TestCase):
              "PUT", url, data=json.dumps(data), headers=headers,
              auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.created)
-        time.sleep(30)
+        time.sleep(20)
 
     def test_14_omsAttributes_ROADMA_ROADMC(self):
         # Config ROADMA-ROADMC oms-attributes
@@ -789,7 +805,7 @@ class TransportPCETopologyTesting(unittest.TestCase):
              "PUT", url, data=json.dumps(data), headers=headers,
              auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.created)
-        time.sleep(30)
+        time.sleep(20)
 
     def test_22_omsAttributes_ROADMA_ROADMB(self):
         # Config ROADMA-ROADMB oms-attributes
@@ -896,7 +912,6 @@ class TransportPCETopologyTesting(unittest.TestCase):
             else:
                 self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'],'NodeC')
             listNode.remove(nodeId)
-
         self.assertEqual(len(listNode),0)
 
     def test_27_verifyDegree(self):
@@ -960,7 +975,6 @@ class TransportPCETopologyTesting(unittest.TestCase):
                 self.assertEqual(oppLink_type, 'XPONDER-OUTPUT')
             elif link_type=='XPONDER-OUTPUT':
                 self.assertEqual(oppLink_type, 'XPONDER-INPUT')
-        time.sleep(5)
 
     def test_29_getLinkOmsAttributesOpenRoadmTopology(self):
         url = ("{}/config/ietf-network:networks/network/openroadm-topology"
@@ -1057,9 +1071,12 @@ class TransportPCETopologyTesting(unittest.TestCase):
                     if (tpid == 'XPDR1-CLIENT1'):
                         self.assertEqual(res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
                                          ['org-openroadm-common-network:tp-type'], 'XPONDER-CLIENT')
+                    if (tpid == 'XPDR1-NETWORK1'):
+                        self.assertEqual(res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
+                                         ['org-openroadm-common-network:tp-type'], 'XPONDER-NETWORK')
                         self.assertEqual(res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
-                                         ['org-openroadm-network-topology:xpdr-client-attributes']['tail-equipment-id'],
-                                         'XPDR1-NETWORK1')
+                                         ['org-openroadm-network-topology:xpdr-network-attributes']['tail-equipment-id'],
+                                         'ROADMA01-SRG1--SRG1-PP1-TXRX')
                 self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'XPDRA01'},
                     res['network'][0]['node'][i]['supporting-node'])
                 listNode.remove(nodeId)
index 10d66d0de0511e904b31fd96bca53ad4f2d786a8..a0e5de6353b6d4c9298adf04b3a552649da2738c 100644 (file)
@@ -214,7 +214,6 @@ class TransportPCEFulltesting(unittest.TestCase):
         self.assertIn('Roadm Xponder links created successfully', res["output"]["result"])
         time.sleep(2)
 
-
     def test_07_connect_xprdC_N1_to_roadmC_PP1(self):
         url = "{}/operations/transportpce-networkutils:init-xpdr-rdm-links".format(self.restconf_baseurl)
         data = {
@@ -238,7 +237,6 @@ class TransportPCEFulltesting(unittest.TestCase):
         self.assertIn('Xponder Roadm Link created successfully', res["output"]["result"])
         time.sleep(2)
 
-
     def test_08_connect_roadmC_PP1_to_xpdrC_N1(self):
         url = "{}/operations/transportpce-networkutils:init-rdm-xpdr-links".format(self.restconf_baseurl)
         data = {
@@ -308,7 +306,6 @@ class TransportPCEFulltesting(unittest.TestCase):
             auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.created)
 
-
 #test service-create for Eth service from xpdr to xpdr
     def test_11_create_eth_service1(self):
         url = ("{}/operations/org-openroadm-service:service-create"
@@ -491,9 +488,9 @@ class TransportPCEFulltesting(unittest.TestCase):
                                   u'width': 40},
                                   ele['org-openroadm-network-topology:xpdr-network-attributes']['wavelength'])
             if ele['tp-id'] == 'XPDR1-CLIENT2' or ele['tp-id'] == 'XPDR1-CLIENT1':
-                self.assertNotIn('wavelength', dict.keys(ele['org-openroadm-network-topology:xpdr-client-attributes']))
+                self.assertNotIn('org-openroadm-network-topology:xpdr-client-attributes', dict.keys(ele))
             if ele['tp-id'] == 'XPDR1-NETWORK2':
-                self.assertNotIn('wavelength', dict.keys(ele['org-openroadm-network-topology:xpdr-network-attributes']))
+                self.assertNotIn('org-openroadm-network-topology:xpdr-network-attributes', dict.keys(ele))
         time.sleep(3)
 
     def test_16_check_topo_ROADMA_SRG1(self):
@@ -789,7 +786,7 @@ class TransportPCEFulltesting(unittest.TestCase):
                                   u'width': 40},
                                   ele['org-openroadm-network-topology:xpdr-network-attributes']['wavelength'])
             if ele['tp-id'] == 'XPDR1-CLIENT1' or ele['tp-id'] == 'XPDR1-CLIENT2':
-                self.assertNotIn('wavelength', dict.keys(ele['org-openroadm-network-topology:xpdr-client-attributes']))
+                self.assertNotIn('org-openroadm-network-topology:xpdr-client-attributes', dict.keys(ele))
         time.sleep(10)
 
     def test_26_check_topo_ROADMA_SRG1(self):
@@ -820,7 +817,6 @@ class TransportPCEFulltesting(unittest.TestCase):
                 self.assertNotIn('org-openroadm-network-topology:pp-attributes', dict.keys(ele))
         time.sleep(10)
 
-
     def test_27_check_topo_ROADMA_DEG2(self):
         url1 = ("{}/config/ietf-network:networks/network/openroadm-topology/node/ROADM-A1-DEG2"
                .format(self.restconf_baseurl))
@@ -1042,6 +1038,7 @@ class TransportPCEFulltesting(unittest.TestCase):
         self.assertNotIn('roadm-connections', dict.keys(res['org-openroadm-device']))
         time.sleep(2)
 
+    @unittest.skip("Skip this test until tail-equipment-id deletion is finished.")
     def test_33_check_topo_XPDRA(self):
         url1 = ("{}/config/ietf-network:networks/network/openroadm-topology/node/XPDR-A1-XPDR1"
                .format(self.restconf_baseurl))
@@ -1052,9 +1049,9 @@ class TransportPCEFulltesting(unittest.TestCase):
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele[u'org-openroadm-common-network:tp-type'] == 'XPONDER-CLIENT':
-                self.assertNotIn('wavelength', dict.keys(ele['org-openroadm-network-topology:xpdr-client-attributes']))
+                self.assertNotIn('org-openroadm-network-topology:xpdr-client-attributes', dict.keys(ele))
             elif ele[u'org-openroadm-common-network:tp-type'] == 'XPONDER-NETWORK':
-                self.assertNotIn('wavelength', dict.keys(ele['org-openroadm-network-topology:xpdr-network-attributes']))
+                self.assertNotIn('org-openroadm-network-topology:xpdr-network-attributes', dict.keys(ele))
         time.sleep(10)
 
     def test_34_check_topo_ROADMA_SRG1(self):
@@ -1091,7 +1088,6 @@ class TransportPCEFulltesting(unittest.TestCase):
                 self.assertNotIn('org-openroadm-network-topology:tx-ttp-attributes', dict.keys(ele))
         time.sleep(10)
 
-
 # test service-create for Optical Channel (OC) service from srg-pp to srg-pp
     def test_36_create_oc_service1(self):
         url = ("{}/operations/org-openroadm-service:service-create"
@@ -1411,7 +1407,6 @@ class TransportPCEFulltesting(unittest.TestCase):
         self.test_27_check_topo_ROADMA_DEG2()
         time.sleep(3)
 
-
     def test_44_delete_oc_service1(self):
         url = ("{}/operations/org-openroadm-service:service-delete"
               .format(self.restconf_baseurl))
@@ -1546,7 +1541,6 @@ class TransportPCEFulltesting(unittest.TestCase):
             print ("oc service deletion\n")
             self.test_44_delete_oc_service1()
 
-
     def test_51_disconnect_XPDRA(self):
         url = ("{}/config/network-topology:"
                 "network-topology/topology/topology-netconf/node/XPDR-A1"
index 6a74896348f21248255ab08f493701a6f40ed493..bdeacdd8072a7097398b4468dd0fcd9a787b542c 100644 (file)
@@ -138,40 +138,44 @@ class TransportPCEtesting(unittest.TestCase):
             self.assertEqual(nbNode, 2)
             listNode = ['SPDR-SA1-XPDR1', 'SPDR-SA1-XPDR2']
             for i in range(0, nbNode):
-                nodeType = res['network'][0]['node'][i]['org-openroadm-network-topology:node-type']
+                nodeType = res['network'][0]['node'][i]['org-openroadm-common-network:node-type']
                 nodeId = res['network'][0]['node'][i]['node-id']
-                if(nodeId == 'SPDR-SA1-XPDR1'):
+                if (nodeId == 'SPDR-SA1-XPDR1'):
                     self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'SPDR-SA1'},
                                   res['network'][0]['node'][i]['supporting-node'])
+                    self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeSA'},
+                                  res['network'][0]['node'][i]['supporting-node'])
                     self.assertEqual(nodeType, 'XPONDER')
                     nbTps = len(res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                     client = 0
                     network = 0
                     for j in range(0, nbTps):
-                        tpType = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['org-openroadm-network-topology:tp-type']
+                        tpType = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['org-openroadm-common-network:tp-type']
                         tpId = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['tp-id']
                         if (tpType == 'XPONDER-CLIENT'):
                             client += 1
                         elif (tpType == 'XPONDER-NETWORK'):
                             network += 1
-                    self.assertTrue(client == 4)
+                    self.assertTrue(client == 0)
                     self.assertTrue(network == 1)
                     listNode.remove(nodeId)
-                if(nodeId == 'SPDR-SA1-XPDR2'):
+                elif (nodeId == 'SPDR-SA1-XPDR2'):
                     self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'SPDR-SA1'},
                                   res['network'][0]['node'][i]['supporting-node'])
+                    self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeSA'},
+                                  res['network'][0]['node'][i]['supporting-node'])
                     self.assertEqual(nodeType, 'XPONDER')
                     nbTps = len(res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                     client = 0
                     network = 0
                     for j in range(0, nbTps):
-                        tpType = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['org-openroadm-network-topology:tp-type']
+                        tpType = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['org-openroadm-common-network:tp-type']
                         tpId = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['tp-id']
                         if (tpType == 'XPONDER-CLIENT'):
                             client += 1
                         elif (tpType == 'XPONDER-NETWORK'):
                             network += 1
-                    self.assertTrue(client == 4)
+                    self.assertTrue(client == 0)
                     self.assertTrue(network == 4)
                     listNode.remove(nodeId)
                 else:
@@ -202,18 +206,20 @@ class TransportPCEtesting(unittest.TestCase):
         for i in range(0, nbNode):
             nodeId = res['network'][0]['node'][i]['node-id']
             if(nodeId == 'SPDR-SA1-XPDR1'):
-                nodeType = res['network'][0]['node'][i]['org-openroadm-otn-network-topology:node-type']
+                nodeType = res['network'][0]['node'][i]['org-openroadm-common-network:node-type']
                 self.assertEqual(nodeType, 'MUXPDR')
                 self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'SPDR-SA1'},
                               res['network'][0]['node'][i]['supporting-node'])
                 self.assertIn({'network-ref': 'openroadm-topology', 'node-ref': 'SPDR-SA1-XPDR1'},
                               res['network'][0]['node'][i]['supporting-node'])
+                self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeSA'},
+                              res['network'][0]['node'][i]['supporting-node'])
                 self.assertEqual(res['network'][0]['node'][i]['org-openroadm-otn-network-topology:xpdr-attributes']['xpdr-number'], 1)
                 nbTps = len(res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                 client = 0
                 network = 0
                 for j in range(0, nbTps):
-                    tpType = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['org-openroadm-otn-network-topology:tp-type']
+                    tpType = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['org-openroadm-common-network:tp-type']
                     tpId = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['tp-id']
                     if (tpType == 'XPONDER-CLIENT'):
                         client += 1
@@ -240,18 +246,20 @@ class TransportPCEtesting(unittest.TestCase):
                         self.assertIn('XPDR1-CLIENT1', nbl['tp-list'])
                         self.assertNotIn('XPDR1-CLIENT2', nbl['tp-list'])
             elif(nodeId == 'SPDR-SA1-XPDR2'):
-                nodeType = res['network'][0]['node'][i]['org-openroadm-otn-network-topology:node-type']
+                nodeType = res['network'][0]['node'][i]['org-openroadm-common-network:node-type']
                 self.assertEqual(nodeType, 'SWITCH')
                 self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'SPDR-SA1'},
                               res['network'][0]['node'][i]['supporting-node'])
                 self.assertIn({'network-ref': 'openroadm-topology', 'node-ref': 'SPDR-SA1-XPDR2'},
                               res['network'][0]['node'][i]['supporting-node'])
+                self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeSA'},
+                              res['network'][0]['node'][i]['supporting-node'])
                 self.assertEqual(res['network'][0]['node'][i]['org-openroadm-otn-network-topology:xpdr-attributes']['xpdr-number'], 2)
                 nbTps = len(res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                 client = 0
                 network = 0
                 for j in range(0, nbTps):
-                    tpType = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['org-openroadm-otn-network-topology:tp-type']
+                    tpType = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['org-openroadm-common-network:tp-type']
                     tpId = res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]['tp-id']
                     if (tpType == 'XPONDER-CLIENT'):
                         client += 1
index b5a4e4738da13d6e3e4c4bc7e365db0e7503a697..df4e0f2b99b609cb22cbc850828d1831d61727a7 100644 (file)
@@ -236,7 +236,8 @@ class TransportPCEPortMappingTesting(unittest.TestCase):
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
         self.assertIn(
-            {'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/1-PLUG-NET',
+            {'supported-interface-capability': ['org-openroadm-port-types:if-OCH'],
+             'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/1-PLUG-NET',
              'logical-connection-point': 'XPDR1-NETWORK1', 'port-qual': 'xpdr-network',
              'port-direction': 'bidirectional', 'connection-map-lcp': 'XPDR1-CLIENT1'},
             res['mapping'])
@@ -251,7 +252,8 @@ class TransportPCEPortMappingTesting(unittest.TestCase):
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
         self.assertIn(
-            {'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/2-PLUG-NET',
+            {'supported-interface-capability': ['org-openroadm-port-types:if-OCH'],
+             'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/2-PLUG-NET',
              'logical-connection-point': 'XPDR1-NETWORK2', 'port-direction': 'bidirectional',
              'connection-map-lcp': 'XPDR1-CLIENT2', 'port-qual': 'xpdr-network'},
             res['mapping'])
@@ -266,7 +268,8 @@ class TransportPCEPortMappingTesting(unittest.TestCase):
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
         self.assertIn(
-            {'supporting-port': 'C1',
+            {'supported-interface-capability': ['org-openroadm-port-types:if-100GE'],
+             'supporting-port': 'C1',
              'supporting-circuit-pack-name': '1/0/1-PLUG-CLIENT',
              'logical-connection-point': 'XPDR1-CLIENT1', 'port-direction': 'bidirectional',
              'connection-map-lcp': 'XPDR1-NETWORK1', 'port-qual': 'xpdr-client'},
@@ -282,10 +285,11 @@ class TransportPCEPortMappingTesting(unittest.TestCase):
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
         self.assertIn(
-            {'supporting-port': 'C1',
-                 'supporting-circuit-pack-name': '1/0/2-PLUG-CLIENT',
-                 'logical-connection-point': 'XPDR1-CLIENT2', 'port-direction': 'bidirectional',
-                 'connection-map-lcp': 'XPDR1-NETWORK2', 'port-qual': 'xpdr-client'},
+            {'supported-interface-capability': ['org-openroadm-port-types:if-100GE'],
+             'supporting-port': 'C1',
+             'supporting-circuit-pack-name': '1/0/2-PLUG-CLIENT',
+             'logical-connection-point': 'XPDR1-CLIENT2', 'port-direction': 'bidirectional',
+             'connection-map-lcp': 'XPDR1-NETWORK2', 'port-qual': 'xpdr-client'},
             res['mapping'])
 
     def test_15_xpdr_device_disconnected(self):
index 436e769db09b84e3413e11f57a17ccd21be08ff3..c145ff7ca62faf484e27ab6482d9b8ee21049540 100644 (file)
@@ -137,12 +137,14 @@ class TransportPCERendererTesting(unittest.TestCase):
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
         self.assertIn(
-             {'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/1-PLUG-NET',
+             {'supported-interface-capability': ['org-openroadm-port-types:if-OCH'],
+              'supporting-port': '1', 'supporting-circuit-pack-name': '1/0/1-PLUG-NET',
               'logical-connection-point': 'XPDR1-NETWORK1', 'port-qual': 'xpdr-network',
               'port-direction': 'bidirectional', 'connection-map-lcp': 'XPDR1-CLIENT1'},
              res['nodes'][0]['mapping'])
         self.assertIn(
-             {'supporting-port': 'C1',
+             {'supported-interface-capability': ['org-openroadm-port-types:if-100GE'],
+              'supporting-port': 'C1',
               'supporting-circuit-pack-name': '1/0/1-PLUG-CLIENT',
               'logical-connection-point': 'XPDR1-CLIENT1', 'port-direction': 'bidirectional',
               'connection-map-lcp': 'XPDR1-NETWORK1', 'port-qual': 'xpdr-client'},
index b5ae52b2bdfaed266575a9dd2e3fd1b91bc371ac..ac0838cff22eee09402a45af7f619c4407f2b4eb 100644 (file)
@@ -86,7 +86,7 @@ class TransportPCEtesting(unittest.TestCase):
 
 
     def setUp(self):
-        time.sleep(30)
+        time.sleep(5)
 
 #END_IGNORE_XTESTING
 
@@ -202,6 +202,10 @@ class TransportPCEtesting(unittest.TestCase):
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                 self.assertIn({'tp-id': 'SRG1-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'},
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
+                self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'},
+                              res['network'][0]['node'][i]['supporting-node'])
+                self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'},
+                              res['network'][0]['node'][i]['supporting-node'])
                 listNode.remove(nodeId)
             elif(nodeId=='ROADM-A1-SRG3'):
                 #Test related to SRG1
@@ -211,6 +215,10 @@ class TransportPCEtesting(unittest.TestCase):
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                 self.assertIn({'tp-id': 'SRG3-PP1-TXRX', 'org-openroadm-common-network:tp-type': 'SRG-TXRX-PP'},
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
+                self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'},
+                              res['network'][0]['node'][i]['supporting-node'])
+                self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'},
+                              res['network'][0]['node'][i]['supporting-node'])
                 listNode.remove(nodeId)
             elif(nodeId=='ROADM-A1-DEG1'):
                 #Test related to DEG1
@@ -219,6 +227,10 @@ class TransportPCEtesting(unittest.TestCase):
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                 self.assertIn({'tp-id': 'DEG1-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'},
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
+                self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'},
+                              res['network'][0]['node'][i]['supporting-node'])
+                self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'},
+                              res['network'][0]['node'][i]['supporting-node'])
                 listNode.remove(nodeId)
             elif(nodeId=='ROADM-A1-DEG2'):
                 #Test related to DEG2
@@ -227,6 +239,10 @@ class TransportPCEtesting(unittest.TestCase):
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                 self.assertIn({'tp-id': 'DEG2-CTP-TXRX', 'org-openroadm-common-network:tp-type': 'DEGREE-TXRX-CTP'},
                               res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
+                self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'},
+                              res['network'][0]['node'][i]['supporting-node'])
+                self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'ROADM-A1'},
+                              res['network'][0]['node'][i]['supporting-node'])
                 listNode.remove(nodeId)
             else:
                 self.assertFalse(True)
@@ -304,6 +320,8 @@ class TransportPCEtesting(unittest.TestCase):
              if(nodeId=='XPDR-A1-XPDR1'):
                  self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'XPDR-A1'},
                                res['network'][0]['node'][i]['supporting-node'])
+                 self.assertIn({'network-ref': 'clli-network', 'node-ref': 'NodeA'},
+                               res['network'][0]['node'][i]['supporting-node'])
                  self.assertEqual(nodeType,'XPONDER')
                  nbTps=len(res['network'][0]['node'][i]['ietf-network-topology:termination-point'])
                  client = 0
@@ -392,7 +410,6 @@ class TransportPCEtesting(unittest.TestCase):
               "POST", url, data=json.dumps(data), headers=headers,
               auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.ok)
-        time.sleep(10)
 
     def test_11_connect_tail_rdm_xpdr(self):
          #Connect the tail: ROADMA to XPDRA
@@ -407,14 +424,13 @@ class TransportPCEtesting(unittest.TestCase):
                 "networkutils:srg-num": "1",
                 "networkutils:termination-point-num": "SRG1-PP1-TXRX"
              }
-            }
+           }
          }
          headers = {'content-type': 'application/json'}
          response = requests.request(
                "POST", url, data=json.dumps(data), headers=headers,
                auth=('admin', 'admin'))
          self.assertEqual(response.status_code, requests.codes.ok)
-         time.sleep(10)
 
     def test_12_getLinks_OpenRoadmTopology(self):
         url = ("{}/config/ietf-network:networks/network/openroadm-topology"
@@ -483,7 +499,7 @@ class TransportPCEtesting(unittest.TestCase):
              "PUT", url, data=json.dumps(data), headers=headers,
              auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.created)
-        time.sleep(30)
+        time.sleep(20)
 
     def test_14_getClliNetwork(self):
         url = ("{}/config/ietf-network:networks/network/clli-network"
@@ -504,7 +520,6 @@ class TransportPCEtesting(unittest.TestCase):
             else:
                 self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'],'NodeC')
             listNode.remove(nodeId)
-
         self.assertEqual(len(listNode),0)
 
     def test_15_getOpenRoadmNetwork(self):
@@ -727,7 +742,7 @@ class TransportPCEtesting(unittest.TestCase):
              "PUT", url, data=json.dumps(data), headers=headers,
              auth=('admin', 'admin'))
         self.assertEqual(response.status_code, requests.codes.created)
-        time.sleep(30)
+        time.sleep(20)
 
     def test_19_getClliNetwork(self):
         url = ("{}/config/ietf-network:networks/network/clli-network"
@@ -750,7 +765,6 @@ class TransportPCEtesting(unittest.TestCase):
             else:
                 self.assertEqual(res['network'][0]['node'][i]['org-openroadm-clli-network:clli'],'NodeC')
             listNode.remove(nodeId)
-
         self.assertEqual(len(listNode),0)
 
     def test_20_verifyDegree(self):
@@ -814,7 +828,6 @@ class TransportPCEtesting(unittest.TestCase):
                 self.assertEqual(oppLink_type, 'XPONDER-OUTPUT')
             elif link_type=='XPONDER-OUTPUT':
                 self.assertEqual(oppLink_type, 'XPONDER-INPUT')
-        time.sleep(5)
 
     def test_22_disconnect_ROADMB(self):
         #Delete in the topology-netconf
@@ -940,9 +953,12 @@ class TransportPCEtesting(unittest.TestCase):
                     if (tpid == 'XPDR1-CLIENT1'):
                         self.assertEqual(res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
                                          ['org-openroadm-common-network:tp-type'], 'XPONDER-CLIENT')
+                    if (tpid == 'XPDR1-NETWORK1'):
+                        self.assertEqual(res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
+                                         ['org-openroadm-common-network:tp-type'], 'XPONDER-NETWORK')
                         self.assertEqual(res['network'][0]['node'][i]['ietf-network-topology:termination-point'][j]
-                                         ['org-openroadm-network-topology:xpdr-client-attributes']['tail-equipment-id'],
-                                         'XPDR1-NETWORK1')
+                                         ['org-openroadm-network-topology:xpdr-network-attributes']['tail-equipment-id'],
+                                         'ROADM-A1-SRG1--SRG1-PP1-TXRX')
                 self.assertIn({'network-ref': 'openroadm-network', 'node-ref': 'XPDR-A1'},
                     res['network'][0]['node'][i]['supporting-node'])
                 listNode.remove(nodeId)