Upgrade to OpenROADM 7.1.0 network models 45/93745/10
authormanuedelf <emmanuelle.delfour@orange.com>
Wed, 4 Nov 2020 08:10:37 +0000 (09:10 +0100)
committermanuedelf <emmanuelle.delfour@orange.com>
Fri, 4 Dec 2020 09:39:53 +0000 (10:39 +0100)
- Replace existing OpenROADM network models with version 7.1.0
- New version of transportpce-topology model to suppport 7.1.0 models
- common module: add constants to manage fixed and flex grid,
  add GridUtils class to init frequencies map
- update networkmodel module: update import version, update unit tests
- update renderer module: update import version, replace wavelength
  with frequencies map, update unit tests
- update olm module: update import version
- update pce module: update import version, replace wavelength with
  frequencies map (from 7.1 models), update unit tests and data test
  files
- update tapi module: update import version and data test file
- update lighty module: update import version
- update functional tests: update response check, add constants and
  functions to compute freq map, update data test files

Note that in pce, tapi modules and functional tests, there is
a major update in test data files: replacement of
available-wavelength
with avail-freq-maps which contains a base64 encoded 96 bytes
representing available frequency

JIRA: TRNSPRTPCE-259
Signed-off-by: manuedelf <emmanuelle.delfour@orange.com>
Change-Id: Iaf95e04232283f6adf08ef41b394c1cd0fca2354

78 files changed:
common/src/main/java/org/opendaylight/transportpce/common/fixedflex/FixedGridConstant.java [new file with mode: 0644]
common/src/main/java/org/opendaylight/transportpce/common/fixedflex/GridConstant.java [new file with mode: 0644]
common/src/main/java/org/opendaylight/transportpce/common/fixedflex/GridUtils.java [new file with mode: 0644]
lighty/src/main/java/io/lighty/controllers/tpce/utils/TPCEUtils.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/OrdLink.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/Rdm2XpdrLink.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/service/NetworkModelService.java
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/OpenRoadmNetwork.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopology.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmTopology.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/TopologyUtils.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/TpceNetwork.java
networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/ClliNetworkTest.java
networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmNetworkTest.java
networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopologyTest.java
networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmTopologyTest.java
networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/TpceNetworkTest.java
networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/test/NetworkmodelTestUtil.java
olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java
olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmPowerServiceRpcImplUtil.java
olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmTransactionUtils.java
olm/src/test/java/org/opendaylight/transportpce/olm/util/TransactionUtils.java
ordmodels/network/src/main/yang/org-openroadm-amplifier@2019-11-29.yang [moved from ordmodels/network/src/main/yang/org-openroadm-amplifier@2018-11-30.yang with 92% similarity]
ordmodels/network/src/main/yang/org-openroadm-clli-network@2019-11-29.yang [moved from ordmodels/network/src/main/yang/org-openroadm-clli-network@2018-11-30.yang with 95% similarity]
ordmodels/network/src/main/yang/org-openroadm-common-network@2020-05-29.yang [moved from ordmodels/network/src/main/yang/org-openroadm-common-network@2018-11-30.yang with 75% similarity]
ordmodels/network/src/main/yang/org-openroadm-degree@2020-05-29.yang [moved from ordmodels/network/src/main/yang/org-openroadm-degree@2018-11-30.yang with 85% similarity]
ordmodels/network/src/main/yang/org-openroadm-external-pluggable@2020-05-29.yang [moved from ordmodels/network/src/main/yang/org-openroadm-external-pluggable@2018-11-30.yang with 90% similarity]
ordmodels/network/src/main/yang/org-openroadm-link@2020-05-29.yang [moved from ordmodels/network/src/main/yang/org-openroadm-link@2018-11-30.yang with 87% similarity]
ordmodels/network/src/main/yang/org-openroadm-network-topology-types@2020-03-27.yang [moved from ordmodels/network/src/main/yang/org-openroadm-network-topology-types@2018-11-30.yang with 82% similarity]
ordmodels/network/src/main/yang/org-openroadm-network-topology@2018-11-30.yang [deleted file]
ordmodels/network/src/main/yang/org-openroadm-network-topology@2020-05-29.yang [new file with mode: 0644]
ordmodels/network/src/main/yang/org-openroadm-network-types@2020-05-29.yang [moved from ordmodels/network/src/main/yang/org-openroadm-network-types@2018-11-30.yang with 62% similarity]
ordmodels/network/src/main/yang/org-openroadm-network@2020-05-29.yang [moved from ordmodels/network/src/main/yang/org-openroadm-network@2018-11-30.yang with 79% similarity]
ordmodels/network/src/main/yang/org-openroadm-otn-network-topology@2020-05-29.yang [moved from ordmodels/network/src/main/yang/org-openroadm-otn-network-topology@2018-11-30.yang with 57% similarity]
ordmodels/network/src/main/yang/org-openroadm-roadm@2019-11-29.yang [moved from ordmodels/network/src/main/yang/org-openroadm-roadm@2018-11-30.yang with 97% similarity]
ordmodels/network/src/main/yang/org-openroadm-srg@2020-05-29.yang [moved from ordmodels/network/src/main/yang/org-openroadm-srg@2018-11-30.yang with 85% similarity]
ordmodels/network/src/main/yang/org-openroadm-xponder@2020-05-29.yang [moved from ordmodels/network/src/main/yang/org-openroadm-xponder@2018-11-30.yang with 56% similarity]
ordmodels/network/src/main/yang/transportpce-topology@2020-10-19.yang [moved from ordmodels/network/src/main/yang/transportpce-topology@2020-01-29.yang with 93% similarity]
pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyTopoImpl.java
pce/src/main/java/org/opendaylight/transportpce/pce/graph/InAlgoPathValidator.java
pce/src/main/java/org/opendaylight/transportpce/pce/graph/PostAlgoPathValidator.java
pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/MapUtils.java
pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceCalculation.java
pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceLink.java
pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOpticalNode.java
pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNode.java
pce/src/test/java/org/opendaylight/transportpce/pce/PcePathDescriptionTests.java
pce/src/test/java/org/opendaylight/transportpce/pce/graph/PceGraphEdgeTest.java
pce/src/test/java/org/opendaylight/transportpce/pce/graph/PceGraphTest.java
pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceLinkTest.java
pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOpticalNodeTest.java
pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNodeTest.java
pce/src/test/java/org/opendaylight/transportpce/pce/utils/NodeUtils.java
pce/src/test/java/org/opendaylight/transportpce/pce/utils/TransactionUtils.java
pce/src/test/resources/gnpy/gnpy_topology.json
pce/src/test/resources/topologyData/basePceTopology.json
renderer/src/main/java/org/opendaylight/transportpce/renderer/NetworkModelWavelengthServiceImpl.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/OtnDeviceRendererServiceImpl.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/NetworkModelWaveLengthServiceFreeTest.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/NetworkModelWaveLengthServiceUseTest.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/WaveLengthServiceUtils.java
tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/ConvertORTopoToTapiTopo.java
tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiTopologyImpl.java
tapi/src/test/java/org/opendaylight/transportpce/tapi/topology/ConvertORTopoObjectToTapiTooObjectTest.java
tapi/src/test/java/org/opendaylight/transportpce/tapi/utils/TopologyDataUtils.java
tapi/src/test/resources/openroadm-topology.xml
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/2.2.1/test_end2end.py
tests/transportpce_tests/2.2.1/test_otn_end2end.py
tests/transportpce_tests/2.2.1/test_tapi.py
tests/transportpce_tests/common/test_utils.py

diff --git a/common/src/main/java/org/opendaylight/transportpce/common/fixedflex/FixedGridConstant.java b/common/src/main/java/org/opendaylight/transportpce/common/fixedflex/FixedGridConstant.java
new file mode 100644 (file)
index 0000000..b93553d
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * 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.common.fixedflex;
+
+/**
+ * Constant class related to fixed grid.
+ * @author Orange
+ *
+ */
+public final class FixedGridConstant {
+
+    private FixedGridConstant() {
+    }
+
+    public static final double GRANULARITY = 6.25;
+    public static final int EFFECTIVE_BITS = 8;
+    public static final double START_EDGE_FREQUENCY = 191.325;
+    public static final int NB_CHANNELS = 96;
+
+}
diff --git a/common/src/main/java/org/opendaylight/transportpce/common/fixedflex/GridConstant.java b/common/src/main/java/org/opendaylight/transportpce/common/fixedflex/GridConstant.java
new file mode 100644 (file)
index 0000000..b8366d7
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * 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.common.fixedflex;
+
+/**
+ * Constant class common to fixed grid and flex grid.
+ *
+ */
+public final class GridConstant {
+
+    public static final String C_BAND = "cband";
+    public static final int AVAILABLE_SLOT_VALUE = 255;
+    public static final int USED_SLOT_VALUE = 0;
+
+    private GridConstant() {
+    }
+}
diff --git a/common/src/main/java/org/opendaylight/transportpce/common/fixedflex/GridUtils.java b/common/src/main/java/org/opendaylight/transportpce/common/fixedflex/GridUtils.java
new file mode 100644 (file)
index 0000000..ca3d095
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * 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.common.fixedflex;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyGHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyTHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMaps;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMapsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMapsKey;
+import org.opendaylight.yangtools.yang.common.Uint16;
+
+/**
+ * Util class for grid.
+ *
+ */
+public final class GridUtils {
+
+    private GridUtils() {
+    }
+
+    public static Map<AvailFreqMapsKey, AvailFreqMaps> initFreqMaps4FixedGrid2Available() {
+        byte[] byteArray = new byte[FixedGridConstant.NB_CHANNELS];
+        Arrays.fill(byteArray, (byte) GridConstant.AVAILABLE_SLOT_VALUE);
+        Map<AvailFreqMapsKey, AvailFreqMaps> waveMap = new HashMap<>();
+        AvailFreqMaps availFreqMaps = new AvailFreqMapsBuilder().setMapName(GridConstant.C_BAND)
+                .setFreqMapGranularity(new FrequencyGHz(BigDecimal.valueOf(FixedGridConstant.GRANULARITY)))
+                .setStartEdgeFreq(new FrequencyTHz(BigDecimal.valueOf(FixedGridConstant.START_EDGE_FREQUENCY)))
+                .setEffectiveBits(Uint16.valueOf(FixedGridConstant.EFFECTIVE_BITS))
+                .setFreqMap(byteArray)
+                .build();
+        waveMap.put(availFreqMaps.key(), availFreqMaps);
+        return waveMap;
+    }
+
+}
index 62eeea32099f2a65d9adecf449d0275956d586c7..d0b641fd392c5228fe81bb188e25d0e988b4925a 100644 (file)
@@ -151,22 +151,22 @@ public final class TPCEUtils {
             org.opendaylight.yang.gen.v1.http.org.openroadm.wavelength.map.rev171215.$YangModuleInfoImpl.getInstance(),
 
             // network models
-            org.opendaylight.yang.gen.v1.http.org.openroadm.amplifier.rev181130.$YangModuleInfoImpl.getInstance(),
-            org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.$YangModuleInfoImpl.getInstance(),
-            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.$YangModuleInfoImpl.getInstance(),
-            org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.$YangModuleInfoImpl.getInstance(),
-            org.opendaylight.yang.gen.v1.http.org.openroadm.external.pluggable.rev181130.$YangModuleInfoImpl
-                    .getInstance(),
-            org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.$YangModuleInfoImpl.getInstance(),
-            org.opendaylight.yang.gen.v1.http.org.openroadm.network.rev181130.$YangModuleInfoImpl.getInstance(),
-            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.$YangModuleInfoImpl
-                    .getInstance(),
-            org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.$YangModuleInfoImpl.getInstance(),
-            org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.$YangModuleInfoImpl
-                    .getInstance(),
-            org.opendaylight.yang.gen.v1.http.org.openroadm.roadm.rev181130.$YangModuleInfoImpl.getInstance(),
-            org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.$YangModuleInfoImpl.getInstance(),
-            org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev181130.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.amplifier.rev191129.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev191129.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev200529.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.external.pluggable.rev200529.$YangModuleInfoImpl
+                    .getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.network.rev200529.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.$YangModuleInfoImpl
+                    .getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.$YangModuleInfoImpl
+                    .getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.roadm.rev191129.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev200529.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev200529.$YangModuleInfoImpl.getInstance(),
             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.$YangModuleInfoImpl
                     .getInstance(),
             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.$YangModuleInfoImpl
@@ -226,7 +226,7 @@ public final class TPCEUtils {
                     .$YangModuleInfoImpl.getInstance(),
             org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.$YangModuleInfoImpl
                     .getInstance(),
-            org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.$YangModuleInfoImpl.getInstance(),
+            org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.$YangModuleInfoImpl.getInstance(),
 
             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.type.rev170119.$YangModuleInfoImpl
                     .getInstance(),
index df81082fff9a52bb6515f36b9119d068cfb02341..6800d58053bf7b725732abe2b1718049d27e977a 100644 (file)
@@ -16,9 +16,8 @@ import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.transportpce.networkmodel.util.LinkIdUtil;
 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.Link1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.OMSAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.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.networks.Network;
@@ -42,13 +41,9 @@ final class OrdLink {
 
         LinkId oppositeLinkId = LinkIdUtil.getRdm2RdmOppositeLinkId(input);
 
-        //For setting up attributes for openRoadm augment
-        OMSAttributesBuilder omsAttributesBuilder = new OMSAttributesBuilder().setOppositeLink(oppositeLinkId);
-        Link1Builder link1Builder = new Link1Builder().setOMSAttributes(omsAttributesBuilder.build());
-
         //For opposite link augment
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder oppsiteLinkBuilder =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder()
+        Link1Builder oppsiteLinkBuilder =
+            new Link1Builder()
                 .setOppositeLink(oppositeLinkId)
                 .setLinkType(OpenroadmLinkType.ROADMTOROADM);
         String srcNode = new StringBuilder(input.getRdmANode()).append("-DEG").append(input.getDegANum()).toString();
@@ -59,7 +54,7 @@ final class OrdLink {
         //IETF link builder
         LinkBuilder linkBuilder = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp, null);
 
-        linkBuilder.addAugmentation(link1Builder.build());
+        linkBuilder.addAugmentation(new Link1Builder().setOppositeLink(oppositeLinkId).build());
         linkBuilder.addAugmentation(oppsiteLinkBuilder.build());
         LinkId linkId = LinkIdUtil.buildLinkId(srcNode, srcTp, destNode, destTp);
 
index f3447e82620847f83350acfc572e5b938fd9cbac..a49303462e74522d58b65db17bd21917ee310d3f 100644 (file)
@@ -22,12 +22,12 @@ import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.transportpce.networkmodel.util.LinkIdUtil;
 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.http.org.openroadm.common.network.rev200529.Link1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.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;
@@ -138,13 +138,11 @@ final class Rdm2XpdrLink {
             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()
+        Link1Builder lnk2bldr
+            = new Link1Builder()
                 .setLinkType(isXponderInput ? OpenroadmLinkType.XPONDERINPUT : OpenroadmLinkType.XPONDEROUTPUT)
                 .setOppositeLink(LinkIdUtil.getOppositeLinkId(srcNode, srcTp, destNode, destTp));
         LinkBuilder linkBuilder = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp, null)
-            .addAugmentation(lnk1bldr.build())
             .addAugmentation(lnk2bldr.build());
 
         LOG.info("Link id in the linkbldr {}", linkBuilder.getLinkId());
@@ -154,12 +152,11 @@ final class Rdm2XpdrLink {
 
         NetworkId nwId = new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID);
         Node node = nodeBldr.build();
-        NetworkBuilder nwBuilder = new NetworkBuilder()
+        return new NetworkBuilder()
             .setNetworkId(nwId)
             .withKey(new NetworkKey(nwId))
             .addAugmentation(nwBldr1.build())
             .setNode(ImmutableMap.of(node.key(),node));
-        return nwBuilder;
     }
 
     private static TerminationPoint getTpofNode(String srcNode, String srcTp, DataBroker dataBroker) {
index e4944edb8846df482d337096e4598d184cf5f516..51ee4a190617c8d493dcac2644740269adbf0246 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.transportpce.networkmodel.service;
 
 import java.util.List;
-import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.OtnLinkType;
+import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.OtnLinkType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus;
 
 /**
index 84b23aae2d218bc340ebb6cffb7eeab5c901ad90..ce7a69884b0e3c37b1ec27ee5ae24798415359cd 100644 (file)
@@ -32,9 +32,9 @@ import org.opendaylight.transportpce.networkmodel.util.OpenRoadmTopology;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfo;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfo.OpenroadmVersion;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.NodeTypes;
-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.TerminationPoint1;
-import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.OtnLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.OtnLinkType;
 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;
index ce3f2e58cda3d659dcc7c4a16ebdb503c205f311..5239ae8762ab08a17f5d382b0bdf44f398f0224e 100644 (file)
@@ -9,8 +9,8 @@
 package org.opendaylight.transportpce.networkmodel.util;
 
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfo;
-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.rev191129.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev191129.Node1Builder;
 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;
index 30531272df9cb4e37edbd2514292d56cb282a214..9dd0ac9da1fc030c3a79d9ccb380f778de869490 100644 (file)
@@ -11,8 +11,8 @@ package org.opendaylight.transportpce.networkmodel.util;
 import com.google.common.collect.ImmutableMap;
 import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfo;
-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.http.org.openroadm.network.rev200529.Node1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.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.NodeId;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node;
@@ -44,8 +44,8 @@ public final class OpenRoadmNetwork {
     public static Node createNode(String nodeId, NodeInfo nodeInfo) {
 
         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();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder node2Bldr =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder();
 
         /*
          * Recognize the node type: 1:ROADM, 2:XPONDER
index eae69376abf656175e1b2879ead7d7025d6f854a..fa95cb7d29eed0df402744971a8c5ac5ba0065a0 100644 (file)
@@ -21,46 +21,46 @@ import org.opendaylight.transportpce.networkmodel.dto.TopologyShard;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.Nodes;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.Mapping;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.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.OduSwitchingPoolsKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.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;
-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.ODTU4TsAllocated;
-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.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.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.http.org.openroadm.xponder.rev181130.xpdr.otn.tp.attributes.OdtuTpnPool;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev181130.xpdr.otn.tp.attributes.OdtuTpnPoolBuilder;
-import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.OtnLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.OduSwitchingPools;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.OduSwitchingPoolsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.OduSwitchingPoolsKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.ODTU4TsAllocated;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.ODU0;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.ODU2e;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.ODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.OduRateIdentity;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Link1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Node1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.SwitchingPools;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.SwitchingPoolsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.TpBandwidthSharing;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.TpBandwidthSharingBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.XpdrAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.XpdrAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.TpSupportedInterfaces;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.TpSupportedInterfacesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.XpdrTpPortConnectionAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GE;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GEODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2e;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCHOTU4ODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.SupportedIfCapability;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.switching.pool.types.rev191129.SwitchingPoolTypes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev200529.xpdr.otn.tp.attributes.OdtuTpnPool;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev200529.xpdr.otn.tp.attributes.OdtuTpnPoolBuilder;
+import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.OtnLinkType;
 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;
@@ -219,8 +219,8 @@ public final class OpenRoadmOtnTopology {
     private static List<Link> initialiseOtnLinks(String nodeA, String tpA, String nodeZ, String tpZ,
         OtnLinkType linkType, String linkIdPrefix) {
         List<Link> links = new ArrayList<>();
-        org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1 tpceLink1
-            = new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1Builder()
+        org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.Link1 tpceLink1
+            = new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.Link1Builder()
             .setOtnLinkType(linkType).build();
         Link1 otnLink1 = new Link1Builder()
             .setAvailableBandwidth(Uint32.valueOf(100000))
@@ -241,9 +241,9 @@ public final class OpenRoadmOtnTopology {
             .addAugmentation(tpceLink1)
             .addAugmentation(otnLink1)
             .addAugmentation(
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder(
                         ietfLinkAZBldr.augmentation(
-                            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class))
+                            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1.class))
                     .setLinkType(OpenroadmLinkType.OTNLINK)
                     .build());
         links.add(ietfLinkAZBldr.build());
@@ -253,9 +253,9 @@ public final class OpenRoadmOtnTopology {
             .addAugmentation(tpceLink1)
             .addAugmentation(otnLink1)
             .addAugmentation(
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder(
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder(
                         ietfLinkZABldr.augmentation(
-                            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class))
+                            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1.class))
                     .setLinkType(OpenroadmLinkType.OTNLINK)
                     .build());
         links.add(ietfLinkZABldr.build());
@@ -403,8 +403,8 @@ public final class OpenRoadmOtnTopology {
         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()
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 ocnNodeAug =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder()
             .setNodeType(OpenroadmNodeType.TPDR).build();
         // create ietf node augmentation to add TP list
         Map<TerminationPointKey,TerminationPoint> tpMap = new HashMap<>();
@@ -464,8 +464,8 @@ public final class OpenRoadmOtnTopology {
             .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()
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 ocnNodeAug =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder()
             .setNodeType(OpenroadmNodeType.MUXPDR).build();
 
         // create ietf node augmentation to add TP list
@@ -531,8 +531,8 @@ public final class OpenRoadmOtnTopology {
             .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()
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 ocnNodeAug =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder()
             .setNodeType(OpenroadmNodeType.SWITCH).build();
 
         // create ietf node augmentation to add TP list
@@ -585,8 +585,8 @@ public final class OpenRoadmOtnTopology {
                 .setTpSupportedInterfaces(tpSupIf)
                 .setXpdrTpPortConnectionAttributes(xtpcaBldr.build())
                 .build();
-            org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1Builder tpceTp1Bldr =
-                new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1Builder();
+            org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.TerminationPoint1Builder tpceTp1Bldr =
+                new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.TerminationPoint1Builder();
             if (OpenroadmTpType.XPONDERNETWORK.equals(tpType)) {
                 TpId tpId = new TpId("XPDR" + node.getXpdrNb() + NETWORK + i);
                 if (node.getXpdrNetConnectionMap().get(tpId.getValue()) != null) {
@@ -651,7 +651,7 @@ public final class OpenRoadmOtnTopology {
     }
 
     private static TerminationPoint buildIetfTp(
-        org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1Builder tpceTp1Bldr,
+        org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.TerminationPoint1Builder tpceTp1Bldr,
         TerminationPoint1 otnTp1, OpenroadmTpType tpType, TpId tpId,
         Map<SupportingTerminationPointKey, SupportingTerminationPoint> supportTpMap) {
 
@@ -662,8 +662,8 @@ public final class OpenRoadmOtnTopology {
         if (supportTpMap != null) {
             ietfTpBldr.setSupportingTerminationPoint(supportTpMap);
         }
-        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()
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1 ocnTp =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder()
             .setTpType(tpType).build();
 
         ietfTpBldr.setTpId(tpId)
index 3bcc16b9b5efabd4c217a541f4448d36ee8cc5a1..58166cabe1892f83ef562bb632a34b65a8de18bb 100644 (file)
@@ -19,27 +19,24 @@ import java.util.concurrent.TimeoutException;
 import java.util.stream.Collectors;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.NetworkUtils;
+import org.opendaylight.transportpce.common.fixedflex.GridUtils;
 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.rev201012.network.Nodes;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.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.state.types.rev181130.State;
-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.device.types.rev191129.NodeTypes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.XpdrNodeTypes;
-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.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.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;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder;
+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.network.topology.rev200529.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
 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;
@@ -65,7 +62,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.top
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder;
 import org.opendaylight.yangtools.yang.common.Uint16;
-import org.opendaylight.yangtools.yang.common.Uint32;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -173,8 +169,8 @@ public final class OpenRoadmTopology {
     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.Node1 ocnNode1 =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder()
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 ocnNode1 =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder()
             .setNodeType(OpenroadmNodeType.XPONDER).build();
         // Create ietf node setting supporting-node data
         NodeBuilder ietfNodeBldr = createTopoLayerNode(nodeId, clli);
@@ -191,13 +187,13 @@ public final class OpenRoadmTopology {
             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();
+                org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
+                    .TerminationPoint1Builder ocnTp1Bldr = new org.opendaylight.yang.gen.v1.http
+                    .org.openroadm.common.network.rev200529.TerminationPoint1Builder();
                 if (m.getPortQual().equals("xpdr-network")) {
                     ocnTp1Bldr.setTpType(OpenroadmTpType.XPONDERNETWORK);
-                    org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1 tpceTp1 =
-                        new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129
+                    org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.TerminationPoint1 tpceTp1 =
+                        new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019
                         .TerminationPoint1Builder().setAssociatedConnectionMapPort(m.getConnectionMapLcp()).build();
                     ietfTpBldr
                         .addAugmentation(ocnTp1Bldr.build())
@@ -206,8 +202,8 @@ public final class OpenRoadmTopology {
                     tpMap.put(ietfTp.key(),ietfTp);
                 } else if (m.getPortQual().equals("xpdr-client")) {
                     ocnTp1Bldr.setTpType(OpenroadmTpType.XPONDERCLIENT);
-                    org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1 tpceTp1 =
-                        new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129
+                    org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.TerminationPoint1 tpceTp1 =
+                        new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019
                         .TerminationPoint1Builder().setAssociatedConnectionMapPort(m.getConnectionMapLcp()).build();
                     ietfTpBldr
                         .addAugmentation(ocnTp1Bldr.build())
@@ -218,9 +214,10 @@ public final class OpenRoadmTopology {
             } 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);
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
+                        .TerminationPoint1Builder ocnTp1Bldr = new org.opendaylight.yang.gen.v1.http
+                        .org.openroadm.common.network.rev200529.TerminationPoint1Builder()
+                        .setTpType(OpenroadmTpType.XPONDERNETWORK);
                     ietfTpBldr
                         .addAugmentation(ocnTp1Bldr.build());
                     TerminationPoint ietfTp = ietfTpBldr.build();
@@ -244,9 +241,9 @@ public final class OpenRoadmTopology {
         for (Mapping m : degListMap) {
             ietfTpBldr = createTpBldr(m.getLogicalConnectionPoint());
             // 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();
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
+                .TerminationPoint1Builder ocnTp1Bldr = new org.opendaylight.yang.gen.v1.http
+                .org.openroadm.common.network.rev200529.TerminationPoint1Builder();
             switch (m.getPortDirection()) {
                 case "bidirectional":
                     ocnTp1Bldr.setTpType(OpenroadmTpType.DEGREETXRXTTP);
@@ -266,8 +263,8 @@ public final class OpenRoadmTopology {
         }
         // Add CTP to tp-list
         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()
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1 ocnTp1 =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder()
             .setTpType(OpenroadmTpType.DEGREETXRXCTP).build();
         ietfTpBldr.addAugmentation(ocnTp1);
         TerminationPoint ietfTp = ietfTpBldr.build();
@@ -275,7 +272,8 @@ public final class OpenRoadmTopology {
         // set degree-attributes
         DegreeAttributes degAtt = new DegreeAttributesBuilder()
             .setDegreeNumber(Uint16.valueOf(degNb.split("DEG")[1]))
-            .setAvailableWavelengths(create96AvalWaveDegree()).build();
+            .setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available())
+            .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
@@ -285,8 +283,8 @@ public final class OpenRoadmTopology {
         String nodeIdtopo = new StringBuilder().append(nodeId).append("-").append(degNb).toString();
         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()
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 ocnNode1 =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder()
             .setNodeType(OpenroadmNodeType.DEGREE).build();
         // Create ietf node setting supporting-node data
         return createTopoLayerNode(nodeId, clli)
@@ -304,9 +302,9 @@ public final class OpenRoadmTopology {
         for (Mapping m : srgListMap) {
             ietfTpBldr = createTpBldr(m.getLogicalConnectionPoint());
             // 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();
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
+                .TerminationPoint1Builder ocnTp1Bldr = new org.opendaylight.yang.gen.v1.http
+                .org.openroadm.common.network.rev200529.TerminationPoint1Builder();
             switch (m.getPortDirection()) {
                 case "bidirectional":
                     ocnTp1Bldr.setTpType(OpenroadmTpType.SRGTXRXPP);
@@ -326,18 +324,20 @@ public final class OpenRoadmTopology {
         }
         // Add CP to tp-list
         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();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
+            .TerminationPoint1 ocnTp1 = new org.opendaylight.yang.gen.v1
+            .http.org.openroadm.common.network.rev200529.TerminationPoint1Builder()
+                .setTpType(OpenroadmTpType.SRGTXRXCP).build();
         ietfTpBldr.addAugmentation(ocnTp1);
         TerminationPoint ietfTp = ietfTpBldr.build();
         tpMap.put(ietfTp.key(),ietfTp);
         // 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()
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 ocnNode1 =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder()
             .setNodeType(OpenroadmNodeType.SRG).build();
         // set srg-attributes
-        SrgAttributes srgAttr = new SrgAttributesBuilder().setAvailableWavelengths(create96AvalWaveSrg()).build();
+        SrgAttributes srgAttr = new SrgAttributesBuilder()
+                .setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available()).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
@@ -414,10 +414,10 @@ public final class OpenRoadmTopology {
                     .filter(tp -> tp.getTpId().getValue().contains("CP") || tp.getTpId().getValue().contains("CTP"))
                     .findFirst().get().getTpId().getValue();
                 Link1Builder ocnAzLinkBldr = new Link1Builder();
-                int srcNodeType = nodes.get(i).augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common
-                    .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();
+                int srcNodeType = nodes.get(i).augmentation(org.opendaylight.yang.gen.v1.http
+                        .org.openroadm.common.network.rev200529.Node1.class).getNodeType().getIntValue();
+                int destNodeType = nodes.get(j).augmentation(org.opendaylight.yang.gen.v1.http
+                        .org.openroadm.common.network.rev200529.Node1.class).getNodeType().getIntValue();
                 if (srcNodeType == 11 && destNodeType == 11) {
                     ocnAzLinkBldr.setLinkType(OpenroadmLinkType.EXPRESSLINK);
                 } else if (srcNodeType == 11 && destNodeType == 12) {
@@ -477,11 +477,10 @@ public final class OpenRoadmTopology {
                     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);
+                org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder link1Builder =
+                    new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder(
+                    linkBuilder.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529
+                    .Link1.class));
                 linkBuilder.removeAugmentation(Link1.class)
                     .addAugmentation(link1Builder.build());
                 networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, linkIID.build(),
@@ -500,40 +499,4 @@ public final class OpenRoadmTopology {
         }
     }
 
-    private static Map<AvailableWavelengthsKey,AvailableWavelengths> create96AvalWaveDegree() {
-        Map<AvailableWavelengthsKey,AvailableWavelengths> waveMap = new HashMap<>();
-
-        for (int i = 1; i < 97; i++) {
-            AvailableWavelengthsBuilder avalBldr = new AvailableWavelengthsBuilder()
-                .setIndex(Uint32.valueOf(i))
-                .withKey(new AvailableWavelengthsKey(Uint32.valueOf(i)));
-            AvailableWavelengths aval = avalBldr.build();
-            waveMap.put(aval.key(),aval);
-        }
-
-        return waveMap;
-    }
-
-    private static Map<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-        .AvailableWavelengthsKey, org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-        .AvailableWavelengths> create96AvalWaveSrg() {
-
-        Map<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-            .AvailableWavelengthsKey, org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-            .AvailableWavelengths> waveMap = new HashMap<>();
-
-        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(Uint32.valueOf(i))
-                    .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                        .AvailableWavelengthsKey(Uint32.valueOf(i)));
-            org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths
-                aval = avalBldr.build();
-            waveMap.put(aval.key(),aval);
-        }
-        return waveMap;
-    }
 }
index af2646f10b696bc6bc772158e289e7f0b9f2e9ca..acf77868f40136d781aef3b84ed5701e86d00818 100644 (file)
@@ -13,8 +13,8 @@ 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.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.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder;
 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;
index ab8e1accf2a7c001193b0f6bf5c05433fb5e5ef9..fdd178c4c4c1cf46de9ab0673cb6d60cf2d8c65b 100644 (file)
@@ -14,9 +14,9 @@ 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.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.http.org.openroadm.clli.network.rev191129.NetworkTypes1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev191129.networks.network.network.types.ClliNetworkBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.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;
@@ -74,8 +74,8 @@ public class TpceNetwork {
             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()
+                Augmentation<NetworkTypes> ordTopology = new org.opendaylight.yang.gen.v1.http
+                    .org.openroadm.common.network.rev200529.NetworkTypes1Builder()
                     .setOpenroadmCommonNetwork(new OpenroadmCommonNetworkBuilder().build())
                     .build();
                 networkTypesBldr.addAugmentation(ordTopology);
index b0d8b4ca68aba85767f82992f91e718d7369e851..048e5b695eb81f1ac648dbffd3eaa4ee350fedb3 100644 (file)
@@ -14,8 +14,8 @@ import org.junit.Test;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfo;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfo.OpenroadmVersion;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfoBuilder;
-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.rev191129.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev191129.Node1Builder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.NodeTypes;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
@@ -38,7 +38,7 @@ public class ClliNetworkTest {
         assertNull("SupportingNode should be null", createdNode.getSupportingNode());
         assertEquals("Node key should be equals to NodeClliId ", new NodeKey(new NodeId("NodeClliId")),
             createdNode.key());
-        assertEquals("Expect org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.Node1 augmentation",
+        assertEquals("Expect org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev191129.Node1 augmentation",
             clliAugmentation, createdNode.augmentation(Node1.class));
     }
 
index 94e289842ddc23775304fd2f8a27884db9a9dc36..42891b3555c7923f7531016f553b9027704a2978 100644 (file)
@@ -19,7 +19,7 @@ import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfo;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfo.OpenroadmVersion;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfoBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.NodeTypes;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
index d428fd88a76d0c56b1ed4df5218cd47a0158b86f..7086bbc97f84fec6d1803ae6f46103ad3645a7a6 100644 (file)
@@ -40,23 +40,23 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.MappingBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.MappingKey;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfoBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.NodeTypes;
-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.odu.switching.pools.NonBlockingList;
-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;
-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.networks.network.node.SwitchingPools;
-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.transportpce.topology.rev200129.OtnLinkType;
-import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.OduSwitchingPools;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.ODU2e;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.ODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.SwitchingPools;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GE;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GEODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2e;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCHOTU4ODU4;
+import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.OtnLinkType;
+import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.TerminationPoint1;
 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.TpId;
@@ -128,7 +128,7 @@ public class OpenRoadmOtnTopologyTest {
         assertEquals(
             Uint16.valueOf(1),
             node.augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1.class)
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Node1.class)
                 .getXpdrAttributes()
                 .getXpdrNumber());
         //tests list of TPs
@@ -147,7 +147,7 @@ public class OpenRoadmOtnTopologyTest {
             "only If100GE interface capabitily expected",
             1,
             tps.get(0).augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getTpSupportedInterfaces()
                 .getSupportedInterfaceCapability()
@@ -155,7 +155,7 @@ public class OpenRoadmOtnTopologyTest {
         assertEquals(
             If100GE.class.getName(),
             tps.get(0).augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getTpSupportedInterfaces().nonnullSupportedInterfaceCapability()
                 .values().stream().findFirst()
@@ -164,7 +164,7 @@ public class OpenRoadmOtnTopologyTest {
             "first TP must be of type client",
             OpenroadmTpType.XPONDERCLIENT,
             tps.get(0).augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                         .TerminationPoint1.class)
                 .getTpType());
         //tests network tp
@@ -176,7 +176,7 @@ public class OpenRoadmOtnTopologyTest {
             "only IfOCHOTU4ODU4 interface capabitily expected",
             1,
             tps.get(2).augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getTpSupportedInterfaces()
                 .getSupportedInterfaceCapability()
@@ -184,7 +184,7 @@ public class OpenRoadmOtnTopologyTest {
         assertEquals(
             IfOCHOTU4ODU4.class.getName(),
             tps.get(2).augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getTpSupportedInterfaces()
                 .getSupportedInterfaceCapability()
@@ -196,7 +196,7 @@ public class OpenRoadmOtnTopologyTest {
             "the rate should be ODU4",
             ODU4.class.getName(),
             tps.get(2).augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getRate()
@@ -205,7 +205,7 @@ public class OpenRoadmOtnTopologyTest {
             "third TP must be of type network",
             OpenroadmTpType.XPONDERNETWORK,
             tps.get(2).augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1.class)
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1.class)
                 .getTpType());
     }
 
@@ -257,20 +257,20 @@ public class OpenRoadmOtnTopologyTest {
         assertEquals(
             OpenroadmLinkType.OTNLINK,
             sortedLinks.get(0).augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class)
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1.class)
                 .getLinkType());
         assertEquals(
             "opposite link must be present",
             "OTU4-SPDRZ-XPDR1-XPDR1-NETWORK1toSPDRA-XPDR1-XPDR1-NETWORK1",
             sortedLinks.get(0).augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class)
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1.class)
                 .getOppositeLink()
                 .getValue());
         assertEquals(
             "otn link type should be OTU4",
             OtnLinkType.OTU4,
             sortedLinks.get(0).augmentation(
-                    org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1.class)
+                    org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.Link1.class)
                 .getOtnLinkType());
     }
 
@@ -330,14 +330,14 @@ public class OpenRoadmOtnTopologyTest {
             OpenroadmLinkType.OTNLINK,
             sortedLinks.get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class)
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1.class)
                 .getLinkType());
         assertEquals(
             "opposite link must be present",
             "ODU4-SPDRZ-XPDR1-XPDR1-NETWORK1toSPDRA-XPDR1-XPDR1-NETWORK1",
             sortedLinks.get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class)
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1.class)
                 .getOppositeLink()
                 .getValue());
         assertEquals(
@@ -345,7 +345,7 @@ public class OpenRoadmOtnTopologyTest {
             OtnLinkType.ODTU4,
             sortedLinks.get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1.class)
+                    org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.Link1.class)
                 .getOtnLinkType());
 
         assertEquals("list of TPs should contain 2 updated TPs", 2, topoShard.getTps().size());
@@ -353,7 +353,7 @@ public class OpenRoadmOtnTopologyTest {
             "after ODU4 creation, its termination point should contain a TsPool list",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getTsPool());
@@ -362,7 +362,7 @@ public class OpenRoadmOtnTopologyTest {
             80,
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getTsPool()
@@ -371,7 +371,7 @@ public class OpenRoadmOtnTopologyTest {
             "after ODU4 creation, its termination point should contain a TpnPool list",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getOdtuTpnPool().values().stream().findFirst()
@@ -382,7 +382,7 @@ public class OpenRoadmOtnTopologyTest {
             80,
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getOdtuTpnPool().values().stream().findFirst()
@@ -437,7 +437,7 @@ public class OpenRoadmOtnTopologyTest {
             "after ODU4 deletion, its termination points should not contain any TsPool list",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getTsPool());
@@ -445,7 +445,7 @@ public class OpenRoadmOtnTopologyTest {
             "after ODU4 deletion, its termination points should not contain any TpnPool list",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getOdtuTpnPool());
@@ -495,7 +495,7 @@ public class OpenRoadmOtnTopologyTest {
             72,
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getTsPool()
@@ -504,7 +504,7 @@ public class OpenRoadmOtnTopologyTest {
             "trib slot 1-8 should no longer be present in Trib slot list",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getTsPool(),
@@ -513,7 +513,7 @@ public class OpenRoadmOtnTopologyTest {
             "trib slot 9 should always be present in trib slot list",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getTsPool(),
@@ -523,7 +523,7 @@ public class OpenRoadmOtnTopologyTest {
             79,
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getOdtuTpnPool().values().stream().findFirst()
@@ -534,7 +534,7 @@ public class OpenRoadmOtnTopologyTest {
             "trib port 1 should no longer be present",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getOdtuTpnPool().values().stream().findFirst()
@@ -565,7 +565,7 @@ public class OpenRoadmOtnTopologyTest {
             80,
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getTsPool()
@@ -574,7 +574,7 @@ public class OpenRoadmOtnTopologyTest {
             "after 10G deletion, trib slot list should contain items 1-8",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getTsPool(),
@@ -584,7 +584,7 @@ public class OpenRoadmOtnTopologyTest {
                 80,
                 topoShard.getTps().get(0)
                     .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                     .getXpdrTpPortConnectionAttributes()
                     .getOdtuTpnPool().values().stream().findFirst()
@@ -595,7 +595,7 @@ public class OpenRoadmOtnTopologyTest {
             "after 10G deletion, trib port list should contain items 1",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getOdtuTpnPool().values().stream().findFirst()
@@ -633,7 +633,7 @@ public class OpenRoadmOtnTopologyTest {
             79,
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getTsPool()
@@ -642,7 +642,7 @@ public class OpenRoadmOtnTopologyTest {
             "trib slot 1 should no longer be present in Trib slot list",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getTsPool(),
@@ -651,7 +651,7 @@ public class OpenRoadmOtnTopologyTest {
             "trib slot 2 should always be present in Trib slot list",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes().getTsPool(),
             hasItem(Uint16.valueOf(2)));
@@ -660,7 +660,7 @@ public class OpenRoadmOtnTopologyTest {
             79,
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getOdtuTpnPool().values().stream().findFirst()
@@ -671,7 +671,7 @@ public class OpenRoadmOtnTopologyTest {
             "trib port 1 should no longer be present in Trib port list",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getOdtuTpnPool().values().stream().findFirst()
@@ -705,7 +705,7 @@ public class OpenRoadmOtnTopologyTest {
             80,
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getTsPool()
@@ -714,7 +714,7 @@ public class OpenRoadmOtnTopologyTest {
             "after 1G deletion, trib slot list should contain items 1 and 2",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                     .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getTsPool(),
@@ -724,7 +724,7 @@ public class OpenRoadmOtnTopologyTest {
             80,
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getOdtuTpnPool().values().stream().findFirst()
@@ -735,7 +735,7 @@ public class OpenRoadmOtnTopologyTest {
             "after 1G deletion, trib port list should contain items 1",
             topoShard.getTps().get(0)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getOdtuTpnPool().values().stream().findFirst()
@@ -778,7 +778,7 @@ public class OpenRoadmOtnTopologyTest {
 
     private void checkSpdrNode(Node node) {
         Uint16 xpdrNb = node
-            .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1.class)
+            .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Node1.class)
             .getXpdrAttributes().getXpdrNumber();
         assertEquals("SPDR-SA1-XPDR" + xpdrNb, node.getNodeId().getValue());
         if (xpdrNb.equals(Uint16.valueOf(1))) {
@@ -800,7 +800,7 @@ public class OpenRoadmOtnTopologyTest {
         checkSpdrSwitchingPools(
             xpdrNb,
             node.augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1.class)
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Node1.class)
                 .getSwitchingPools());
         List<TerminationPoint> tpList = node.augmentation(
                 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
@@ -881,7 +881,7 @@ public class OpenRoadmOtnTopologyTest {
             IfOCHOTU4ODU4.class,
             tpList.get(4)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getTpSupportedInterfaces()
                 .getSupportedInterfaceCapability().values().stream().findFirst()
@@ -892,7 +892,7 @@ public class OpenRoadmOtnTopologyTest {
             ODU4.class,
             tpList.get(4)
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                         .TerminationPoint1.class)
                 .getXpdrTpPortConnectionAttributes()
                 .getRate());
@@ -918,7 +918,7 @@ public class OpenRoadmOtnTopologyTest {
                 If10GEODU2e.class,
                 tpList.get(2)
                     .augmentation(
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                             .TerminationPoint1.class)
                     .getTpSupportedInterfaces()
                     .getSupportedInterfaceCapability().values().stream().findFirst()
@@ -929,7 +929,7 @@ public class OpenRoadmOtnTopologyTest {
                 ODU2e.class,
                 tpList.get(2)
                     .augmentation(
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                             .TerminationPoint1.class)
                     .getXpdrTpPortConnectionAttributes()
                     .getRate());
@@ -938,7 +938,7 @@ public class OpenRoadmOtnTopologyTest {
                 OpenroadmTpType.XPONDERCLIENT,
                 tpList.get(2)
                     .augmentation(
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                             .TerminationPoint1.class)
                     .getTpType());
             assertEquals(
@@ -946,7 +946,7 @@ public class OpenRoadmOtnTopologyTest {
                 OpenroadmTpType.XPONDERNETWORK,
                 tpList.get(4)
                     .augmentation(
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                             .TerminationPoint1.class)
                     .getTpType());
         } else if (xpdrNb.equals(Uint16.valueOf(2))) {
@@ -960,7 +960,7 @@ public class OpenRoadmOtnTopologyTest {
                 If100GEODU4.class,
                 tpList.get(2)
                     .augmentation(
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                                 .TerminationPoint1.class)
                     .getTpSupportedInterfaces()
                     .getSupportedInterfaceCapability().values().stream().findFirst()
@@ -971,7 +971,7 @@ public class OpenRoadmOtnTopologyTest {
                 ODU4.class,
                 tpList.get(2)
                     .augmentation(
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+                        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                             .TerminationPoint1.class)
                     .getXpdrTpPortConnectionAttributes()
                     .getRate());
@@ -979,14 +979,14 @@ public class OpenRoadmOtnTopologyTest {
                 "TP should be of type client", OpenroadmTpType.XPONDERCLIENT,
                 tpList.get(2)
                     .augmentation(
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                             .TerminationPoint1.class)
                     .getTpType());
             assertEquals(
                 "TP should be of type network", OpenroadmTpType.XPONDERNETWORK,
                 tpList.get(6)
                     .augmentation(
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                             .TerminationPoint1.class)
                     .getTpType());
         }
index 38bd5ea08eebc879693196530efaee3d43c9647e..28bcb263df936ac6274c741290b15d9a2b31934c 100644 (file)
@@ -19,6 +19,8 @@ import static org.mockito.Mockito.when;
 
 import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.ListenableFuture;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Optional;
 import java.util.concurrent.ExecutionException;
@@ -36,19 +38,21 @@ import org.mockito.stubbing.Answer;
 import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.NetworkUtils;
+import org.opendaylight.transportpce.common.fixedflex.FixedGridConstant;
+import org.opendaylight.transportpce.common.fixedflex.GridConstant;
 import org.opendaylight.transportpce.common.network.NetworkTransactionService;
 import org.opendaylight.transportpce.networkmodel.dto.TopologyShard;
 import org.opendaylight.transportpce.networkmodel.util.test.NetworkmodelTestUtil;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.Nodes;
-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.Node1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.XpdrNodeTypes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1Builder;
-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;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMaps;
 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;
@@ -190,8 +194,8 @@ public class OpenRoadmTopologyTest {
         String srcTp = "DEG1-CTP-TXRX";
         String destTp = "SRG1-CP-TXRX";
         LinkId linkId = LinkIdUtil.buildLinkId(srcNode, srcTp, dstNode, destTp);
-        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1 link1 =
-            new Link1Builder().setAdministrativeState(State.InService).build();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1 link1 =
+            new Link1Builder().build();
         Link link = new LinkBuilder()
             .setLinkId(linkId)
             .setSource(new SourceBuilder().setSourceNode(new NodeId(srcNode)).setSourceTp(srcTp).build())
@@ -268,11 +272,15 @@ public class OpenRoadmTopologyTest {
         assertEquals("ROADMA01", supportingNodes.get(1).getNodeRef().getValue());
         assertEquals(OpenroadmNodeType.DEGREE, node.augmentation(Node1.class).getNodeType());
         assertEquals(Uint16.valueOf(nodeNb), node.augmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1.class)
+            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1.class)
             .getDegreeAttributes().getDegreeNumber());
-        assertEquals(96, node.augmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1.class)
-            .getDegreeAttributes().getAvailableWavelengths().size());
+        List<AvailFreqMaps> availFreqMapsValues = new ArrayList<>(node.augmentation(
+            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1.class)
+            .getDegreeAttributes().getAvailFreqMaps().values());
+        assertEquals(FixedGridConstant.NB_CHANNELS, availFreqMapsValues.get(0).getFreqMap().length);
+        byte[] byteArray = new byte[FixedGridConstant.NB_CHANNELS];
+        Arrays.fill(byteArray, (byte) GridConstant.AVAILABLE_SLOT_VALUE);
+        assertEquals(Arrays.toString(byteArray), Arrays.toString(availFreqMapsValues.get(0).getFreqMap()));
         List<TerminationPoint> tps = node.augmentation(
             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
             .nonnullTerminationPoint().values().stream()
@@ -296,9 +304,13 @@ public class OpenRoadmTopologyTest {
         assertEquals("openroadm-network", supportingNodes.get(1).getNetworkRef().getValue());
         assertEquals("ROADMA01", supportingNodes.get(1).getNodeRef().getValue());
         assertEquals(OpenroadmNodeType.SRG, node.augmentation(Node1.class).getNodeType());
-        assertEquals(96, node.augmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1.class)
-            .getSrgAttributes().getAvailableWavelengths().size());
+        List<AvailFreqMaps> availFreqMapsValues = new ArrayList<>(node.augmentation(
+                org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1.class)
+                .getSrgAttributes().getAvailFreqMaps().values());
+        assertEquals(FixedGridConstant.NB_CHANNELS, availFreqMapsValues.get(0).getFreqMap().length);
+        byte[] byteArray = new byte[FixedGridConstant.NB_CHANNELS];
+        Arrays.fill(byteArray, (byte) GridConstant.AVAILABLE_SLOT_VALUE);
+        assertEquals(Arrays.toString(byteArray), Arrays.toString(availFreqMapsValues.get(0).getFreqMap()));
         List<TerminationPoint> tps = node.augmentation(
             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
             .nonnullTerminationPoint().values().stream()
@@ -331,12 +343,12 @@ public class OpenRoadmTopologyTest {
         assertEquals("XPDR1-CLIENT1", tps.get(0).getTpId().getValue());
         assertEquals(OpenroadmTpType.XPONDERCLIENT, tps.get(0).augmentation(TerminationPoint1.class).getTpType());
         assertEquals("XPDR1-NETWORK1", tps.get(0).augmentation(
-            org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1.class)
+            org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.TerminationPoint1.class)
             .getAssociatedConnectionMapPort());
         assertEquals("XPDR1-NETWORK1", tps.get(2).getTpId().getValue());
         assertEquals(OpenroadmTpType.XPONDERNETWORK, tps.get(2).augmentation(TerminationPoint1.class).getTpType());
         assertEquals("XPDR1-CLIENT1", tps.get(2).augmentation(
-            org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1.class)
+            org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.TerminationPoint1.class)
             .getAssociatedConnectionMapPort());
     }
 
index 1e14b0b6975402fd17cc6e5eb7053ad047deb515..20b4d6dbcebffd6127057160e94c03c99127a5e7 100644 (file)
@@ -17,10 +17,10 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.network.NetworkTransactionImpl;
 import org.opendaylight.transportpce.common.network.RequestProcessor;
 import org.opendaylight.transportpce.test.AbstractTest;
-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.http.org.openroadm.clli.network.rev191129.NetworkTypes1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev191129.NetworkTypes1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev191129.networks.network.network.types.ClliNetworkBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.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;
@@ -94,20 +94,20 @@ public class TpceNetworkTest extends AbstractTest {
         assertNull("toto layer should not have any network-type augmentation", createdOrdNetwork.getNetworkTypes()
             .augmentation(NetworkTypes1.class));
         assertNull("toto layer should not have any network-type augmentation", createdOrdNetwork.getNetworkTypes()
-            .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+            .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
             .NetworkTypes1.class));
     }
 
     private void commonNetworkAugmentationTest(Network createdOrdNetwork) {
         Augmentation<NetworkTypes> ordComNet
-            = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.NetworkTypes1Builder()
+            = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.NetworkTypes1Builder()
             .setOpenroadmCommonNetwork(new OpenroadmCommonNetworkBuilder().build())
             .build();
         assertNotNull("common-network augmentation should not be null", createdOrdNetwork.getNetworkTypes()
             .augmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.NetworkTypes1.class));
+                org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.NetworkTypes1.class));
         assertEquals("bad common-network augmentation for network-types", ordComNet, createdOrdNetwork.getNetworkTypes()
             .augmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.NetworkTypes1.class));
+                org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.NetworkTypes1.class));
     }
 }
index e304bda94b5c3c522e5c39bbb42c8cf74d5bef6f..854bfeb1226fca9fab304f3ee450eab14132eb13 100644 (file)
@@ -19,26 +19,26 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.MappingBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.MappingKey;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfoBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.PortQual;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.NodeTypes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.XpdrNodeTypes;
-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.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.network.types.rev181130.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.ODTU4TsAllocated;
-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.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.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.IfOCHOTU4ODU4;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev181130.xpdr.otn.tp.attributes.OdtuTpnPool;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev181130.xpdr.otn.tp.attributes.OdtuTpnPoolBuilder;
-import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.OtnLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.ODTU4TsAllocated;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.ODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.TpSupportedInterfaces;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.TpSupportedInterfacesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.XpdrTpPortConnectionAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCHOTU4ODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev200529.xpdr.otn.tp.attributes.OdtuTpnPool;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev200529.xpdr.otn.tp.attributes.OdtuTpnPoolBuilder;
+import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.OtnLinkType;
 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.topology.rev180226.LinkId;
@@ -107,12 +107,12 @@ public final class NetworkmodelTestUtil {
                     .setOppositeLink(new LinkId(prefix + "SPDRZ-XPDR1-XPDR1-NETWORK1toSPDRA-XPDR1-XPDR1-NETWORK1"))
                     .build())
             .addAugmentation(
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Link1Builder()
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Link1Builder()
                     .setAvailableBandwidth(Uint32.valueOf(availBW))
                     .setUsedBandwidth(Uint32.valueOf(100000 - availBW))
                     .build())
             .addAugmentation(
-                new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1Builder()
+                new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.Link1Builder()
                     .setOtnLinkType(type)
                     .build())
             .build();
@@ -130,12 +130,12 @@ public final class NetworkmodelTestUtil {
                     .setOppositeLink(new LinkId(prefix + "SPDRA-XPDR1-XPDR1-NETWORK1toSPDRZ-XPDR1-XPDR1-NETWORK1"))
                     .build())
             .addAugmentation(
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Link1Builder()
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Link1Builder()
                     .setAvailableBandwidth(Uint32.valueOf(availBW))
                     .setUsedBandwidth(Uint32.valueOf(100000 - availBW))
                     .build())
             .addAugmentation(
-                new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1Builder()
+                new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.Link1Builder()
                     .setOtnLinkType(type)
                     .build())
             .build();
@@ -188,7 +188,7 @@ public final class NetworkmodelTestUtil {
             .setSupportingTerminationPoint(supTermPointMapA)
             .addAugmentation(otnTp1)
             .addAugmentation(
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder()
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder()
                 .setTpType(OpenroadmTpType.XPONDERNETWORK)
                 .build())
             .build();
@@ -204,7 +204,7 @@ public final class NetworkmodelTestUtil {
             .setSupportingTerminationPoint(supTermPointMapZ)
             .addAugmentation(otnTp1)
             .addAugmentation(
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder()
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder()
                 .setTpType(OpenroadmTpType.XPONDERNETWORK)
                 .build())
             .build();
index 1b42d22a236d4168bf1387f90c054f5b53658ed9..dbd63ded19a364a2ccdf39f1d3c04ae6d41eb798 100644 (file)
@@ -64,11 +64,11 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev17
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.get.pm.output.Measurements;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.Mapping;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfo.OpenroadmVersion;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.RatioDB;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.interfaces.grp.Interface;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.interfaces.grp.InterfaceBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.Interface1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.Interface1Builder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.ots.container.Ots;
index 3927bd22f38e4fd4c15bea50cfc7475e9eb72ce2..ffcf482b073f6dc369863b5c280e36b08f3482b2 100644 (file)
@@ -22,8 +22,8 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev17
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.ServicePowerSetupInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.ServicePowerTurndownInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.ServicePowerTurndownInputBuilder;
-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.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.olm.get.pm.input.ResourceIdentifierBuilder;
index d8c66d391b18ee5681a2b4382bd782ee5df25ef1..a018dc6334ec158da6a7bafe5a44b8fc678c8653 100644 (file)
@@ -19,24 +19,23 @@ import org.opendaylight.mdsal.binding.api.WriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.Mapping;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.MappingBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.FiberPmd;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.RatioDB;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.FiberPmd;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.RatioDB;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.Interface;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceKey;
 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.equipment.states.types.rev181130.AdminStates;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLinkKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.amplified.link.SectionElementBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenation;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationKey;
-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.networks.network.link.OMSAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.AmplifiedLinkBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.SpanBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLinkKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.amplified.link.SectionElementBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenation;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.OMSAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.AmplifiedLinkBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.SpanBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.CurrentPmList;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.CurrentPmListBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.group.CurrentPm;
@@ -120,17 +119,16 @@ public final class OlmTransactionUtils {
         ietfNodeMap.put(ietfNodeC.key(),ietfNodeC);
         Map<AmplifiedLinkKey,AmplifiedLink>
                 amplifiedLinkValues = new HashMap<>();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
+        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink al =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes
             .AmplifiedLinkBuilder()
                 .setSectionElement(new SectionElementBuilder().setSectionElement(
-                            new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
+                            new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes
                             .amplified.link.section.element.section.element.SpanBuilder().setSpan(
-                                    new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
+                                    new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link
                                     .attributes.amplified.link.section.element.section.element.span.SpanBuilder()
                                         .setAdministrativeState(AdminStates.InService)
                                         .setAutoSpanloss(true)
-                                        .setClfi("clfi")
                                         .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE))
                                         .setLinkConcatenation(linkConcentationValues)
                                         .setSpanlossBase(new RatioDB(BigDecimal.ONE))
@@ -140,17 +138,16 @@ public final class OlmTransactionUtils {
                         .build())
                 .setSectionEltNumber(Uint16.valueOf(1))
                 .build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al2 =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
+        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink al2 =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes
             .AmplifiedLinkBuilder()
                 .setSectionElement(new SectionElementBuilder().setSectionElement(
-                            new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
+                            new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes
                             .amplified.link.section.element.section.element.SpanBuilder().setSpan(
-                                    new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
+                                    new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link
                                     .attributes.amplified.link.section.element.section.element.span.SpanBuilder()
                                         .setAdministrativeState(AdminStates.InService)
                                         .setAutoSpanloss(true)
-                                        .setClfi("clfi")
                                         .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE))
                                         .setLinkConcatenation(linkConcentationValues)
                                         .setSpanlossBase(new RatioDB(BigDecimal.ONE))
@@ -163,34 +160,24 @@ public final class OlmTransactionUtils {
         amplifiedLinkValues.put(al.key(),al);
         amplifiedLinkValues.put(al2.key(),al2);
         Map<Class<? extends Augmentation<Link>>, Augmentation<Link>> map = Collections.emptyMap();
-        Augmentation<Link> aug11 = new Link1Builder().setAdministrativeGroup(Uint32.valueOf(123))
-                .setAdministrativeState(State.InService)
+        Augmentation<Link> aug11 = new Link1Builder()
                 .setAmplified(true)
-                .setLinkLatency(Uint32.valueOf(123))
-                .setLinkLength(BigDecimal.valueOf(123))
                 .setOMSAttributes(new OMSAttributesBuilder()
                         .setAmplifiedLink(new AmplifiedLinkBuilder().setAmplifiedLink(amplifiedLinkValues).build())
-                        .setOppositeLink(new LinkId("link 1"))
                         .setSpan(new SpanBuilder().build())
-                        .setTEMetric(Uint32.valueOf(123)).build())
-                .setOperationalState(State.InService).build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1 aug12 =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder()
+                        .build())
+                .build();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1 aug12 =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder()
                 .setLinkType(OpenroadmLinkType.ROADMTOROADM).build();
         Augmentation<Link> aug21 = new Link1Builder()
-                .setAdministrativeGroup(Uint32.valueOf(123))
-                .setAdministrativeState(State.InService)
                 .setAmplified(true)
-                .setLinkLatency(Uint32.valueOf(123))
-                .setLinkLength(BigDecimal.valueOf(123))
                 .setOMSAttributes(new OMSAttributesBuilder()
                         .setAmplifiedLink(new AmplifiedLinkBuilder().setAmplifiedLink(amplifiedLinkValues).build())
-                        .setOppositeLink(new LinkId("link 1"))
-                        .setSpan(new SpanBuilder().build())
-                        .setTEMetric(Uint32.valueOf(123)).build())
-                .setOperationalState(State.InService).build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1 aug22 =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder()
+                        .setSpan(new SpanBuilder().build()).build())
+                .build();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1 aug22 =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder()
                 .setLinkType(OpenroadmLinkType.ROADMTOROADM).build();
         // create the roadm-to-roadm link to be measured
         Link roadm2roadmLink = new LinkBuilder().setLinkId(new LinkId("ROADM-A1-to-ROADM-C1"))
index 12be96c27e7429d5aceb6b9ed9659bc0ce818756..7fa6f7dcef1541446d284819bc7ca221f6ca155e 100644 (file)
@@ -31,21 +31,19 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.MappingKey;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfo.OpenroadmVersion;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.NodeInfoBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.FiberPmd;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.RatioDB;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev181130.AdminStates;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLinkKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.amplified.link.SectionElementBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenation;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationKey;
-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.networks.network.link.OMSAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.AmplifiedLinkBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.SpanBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.FiberPmd;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.RatioDB;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLinkKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.amplified.link.SectionElementBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenation;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.OMSAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.AmplifiedLinkBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.SpanBuilder;
 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;
@@ -243,16 +241,15 @@ public final class TransactionUtils {
         linkConcentationValues.put(linkConcatenation2.key(),linkConcatenation2);
         Map<AmplifiedLinkKey,AmplifiedLink>
             amplifiedLinkValues = new HashMap<>();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
+        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink al =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes
                     .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
-                .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
+                .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link
                     .attributes.amplified.link.section.element.section.element.SpanBuilder()
-                        .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
+                        .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link
                                 .attributes.amplified.link.section.element.section.element.span.SpanBuilder()
                                     .setAdministrativeState(AdminStates.InService)
                                     .setAutoSpanloss(true)
-                                    .setClfi("clfi")
                                     .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE))
                                     .setLinkConcatenation(linkConcentationValues)
                                     .setSpanlossBase(new RatioDB(BigDecimal.ONE))
@@ -261,16 +258,15 @@ public final class TransactionUtils {
                     .build())
                 .build())
             .setSectionEltNumber(Uint16.valueOf(1)).build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al2 = new
-            org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
+        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink al2 = new
+            org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes
                 .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
-                .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
+                .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link
                      .attributes.amplified.link.section.element.section.element.SpanBuilder()
-                        .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
+                        .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link
                                 .attributes.amplified.link.section.element.section.element.span.SpanBuilder()
                                     .setAdministrativeState(AdminStates.InService)
                                     .setAutoSpanloss(true)
-                                    .setClfi("clfi")
                                     .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE))
                                     .setLinkConcatenation(linkConcentationValues)
                                     .setSpanlossBase(new RatioDB(BigDecimal.ONE))
@@ -282,30 +278,20 @@ public final class TransactionUtils {
         amplifiedLinkValues.put(al.key(),al);
         amplifiedLinkValues.put(al2.key(),al2);
         Map<Class<? extends Augmentation<Link>>, Augmentation<Link>> map = Collections.emptyMap();
-        Augmentation<Link> aug1 = new Link1Builder().setAdministrativeGroup(Uint32.valueOf(123))
-            .setAdministrativeState(State.InService)
+        Augmentation<Link> aug1 = new Link1Builder()
             .setAmplified(true)
-            .setLinkLatency(Uint32.valueOf(123))
-            .setLinkLength(BigDecimal.valueOf(123))
-            .setLinkType(OpenroadmLinkType.ROADMTOROADM)
             .setOMSAttributes(new OMSAttributesBuilder()
                 .setAmplifiedLink(new AmplifiedLinkBuilder().setAmplifiedLink(amplifiedLinkValues).build())
-                .setOppositeLink(new LinkId("link 1"))
                 .setSpan(new SpanBuilder().build())
-                .setTEMetric(Uint32.valueOf(123)).build())
-            .setOperationalState(State.InService).build();
-        Augmentation<Link> aug2 = new Link1Builder().setAdministrativeGroup(Uint32.valueOf(123))
-            .setAdministrativeState(State.InService)
+                .build())
+            .build();
+        Augmentation<Link> aug2 = new Link1Builder()
             .setAmplified(true)
-            .setLinkLatency(Uint32.valueOf(123))
-            .setLinkLength(BigDecimal.valueOf(123))
-            .setLinkType(OpenroadmLinkType.ROADMTOROADM)
             .setOMSAttributes(new OMSAttributesBuilder()
                 .setAmplifiedLink(new AmplifiedLinkBuilder().setAmplifiedLink(amplifiedLinkValues).build())
-                .setOppositeLink(new LinkId("link 1"))
                 .setSpan(new SpanBuilder().build())
-                .setTEMetric(Uint32.valueOf(123)).build())
-            .setOperationalState(State.InService).build();
+                .build())
+            .build();
 
         Map<SupportingLinkKey,SupportingLink> supportingLinks = new HashMap<>();
         SupportingLink supportingLink = new SupportingLinkBuilder().setLinkRef("ref1")
similarity index 92%
rename from ordmodels/network/src/main/yang/org-openroadm-amplifier@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-amplifier@2019-11-29.yang
index 2db0c3082261baa8d3c83716bc84b93128231022..be235b3da2738e2c06c48a435ff2a077b07e9148 100644 (file)
@@ -5,11 +5,11 @@ module org-openroadm-amplifier {
 
   import org-openroadm-common-amplifier-types {
     prefix org-openroadm-common-amplifier-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
   import org-openroadm-common-link-types {
     prefix org-openroadm-common-link-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
 
   organization
@@ -46,6 +46,14 @@ module org-openroadm-amplifier {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
+  revision 2019-03-29 {
+    description
+      "Version 5.0.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
@@ -145,5 +153,11 @@ module org-openroadm-amplifier {
         "End Of Life Total input power at maximum load used for amplifier and VOA setting
          extracted from corresponding device OTS interface container";
     }
+    leaf egress-average-channel-power {
+      type org-openroadm-common-link-types:power-dBm;
+      config true;
+      description
+        "Based upon the total max power across the 4.8 THz passband.";
+    }
   }
 }
similarity index 95%
rename from ordmodels/network/src/main/yang/org-openroadm-clli-network@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-clli-network@2019-11-29.yang
index 62e778e6b983e04ee7de60d7e08118f7749e4dc5..be1c3c673f37dcc36f0c6ad493069e6feb524d7b 100644 (file)
@@ -41,6 +41,10 @@ module org-openroadm-clli-network {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
@@ -60,8 +64,9 @@ module org-openroadm-clli-network {
          network";
     }
   }
+
   augment "/nd:networks/nd:network/nd:node" {
-    when "../nd:network-types/clli-network";
+    when '../nd:network-types/cn:clli-network';
     description
       "Augment the generic network node with Open ROADM attributes.";
     leaf clli {
similarity index 75%
rename from ordmodels/network/src/main/yang/org-openroadm-common-network@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-common-network@2020-05-29.yang
index b42bea8423485b058edffb055b54e7fe1a83be1c..fbbab3cab12a9df0a7969098a3c8538cb19886d9 100644 (file)
@@ -13,15 +13,15 @@ module org-openroadm-common-network {
   }
   import org-openroadm-network-types {
     prefix org-openroadm-network-types;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
   import org-openroadm-common-state-types {
     prefix org-openroadm-common-state-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
   import org-openroadm-equipment-states-types {
     prefix org-openroadm-equipment-states-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
 
   organization
@@ -55,6 +55,30 @@ module org-openroadm-common-network {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2020-05-29 {
+    description
+      "Version 7.1.0";
+  }
+  revision 2020-03-27 {
+    description
+      "Version 7.0.0";
+  }
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
+  revision 2019-09-27 {
+    description
+      "Version 6.0.0";
+  }
+  revision 2019-05-31 {
+    description
+      "Version 5.1.0";
+  }
+  revision 2019-03-29 {
+    description
+      "Version 5.0.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
@@ -81,8 +105,9 @@ module org-openroadm-common-network {
         "The presence of the container node indicates Open ROADM common network";
     }
   }
+
   augment "/nd:networks/nd:network/nd:node" {
-    when "../nd:network-types/openroadm-common-network";
+    when '../nd:network-types/cnet:openroadm-common-network';
     description
       "Augment the generic network node with Open ROADM common attributes.";
     leaf node-type {
@@ -90,23 +115,44 @@ module org-openroadm-common-network {
       description
         "A component of the network topology. Once the node-type is configured, it should not be modified.";
     }
-    leaf node-status {
-      type org-openroadm-network-types:openroadm-node-status;
-      status deprecated;
-    }
     leaf lifecycle-state {
       type org-openroadm-common-state-types:lifecycle-state;
       description
         "Lifecycle State of a node. Whether it is planned, deployed, in maintenance, etc.";
     }
+    leaf operational-state {
+      type org-openroadm-common-state-types:state;
+    }
+    leaf administrative-state {
+      type org-openroadm-equipment-states-types:admin-states;
+    }
   }
+
   augment "/nd:networks/nd:network/nd:node/nwt:termination-point" {
-    when "../../nd:network-types/openroadm-common-network";
+    when '../../nd:network-types/cnet:openroadm-common-network';
     leaf tp-type {
       type org-openroadm-network-types:openroadm-tp-type;
       description
         "The type of a termination point in the ROADM topology.";
     }
+    leaf physical-tp {
+      type boolean;
+      mandatory false;
+      description
+        "Applies to Termination Points that map to physical ports or slots on circuit packs.
+          Set to True when the termination point maps to ports of an existing circuit-pack,
+          False, when mapped to a slot (pluggable optics Holder) --> virtual tp.
+          This attribute is not present for other Termination Points.";
+    }
+    leaf-list associated-connection-map-tp {
+      type leafref {
+        path "/nd:networks/nd:network/nd:node/nwt:termination-point/nwt:tp-id";
+      }
+      description
+        "Used to identify relationships between client and network ports in transponders and
+          uni-directional regens. Provides the list of tps the tp is connected to, as defined
+          in the device connection map.";
+    }
     leaf eqpt-srg-id {
       type uint32;
       description
@@ -117,9 +163,16 @@ module org-openroadm-common-network {
       description
         "Lifecycle State of a termination point. Whether it is planned, deployed, in maintenance, etc.";
     }
+    leaf operational-state {
+      type org-openroadm-common-state-types:state;
+    }
+    leaf administrative-state {
+      type org-openroadm-equipment-states-types:admin-states;
+    }
   }
+
   augment "/nd:networks/nd:network/nwt:link" {
-    when "../nd:network-types/openroadm-common-network";
+    when '../nd:network-types/cnet:openroadm-common-network';
     description
       "This augmentation defines common link attributes in the Open ROADM common network";
     leaf link-type {
@@ -140,9 +193,11 @@ module org-openroadm-common-network {
       type decimal64 {
         fraction-digits 2;
       }
+      units "km";
     }
     leaf link-latency {
       type uint32;
+      units "ms";
       description
         "Latency of a link";
     }
similarity index 85%
rename from ordmodels/network/src/main/yang/org-openroadm-degree@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-degree@2020-05-29.yang
index 01420c5db1ea30afd8ef8f2ad48e8e42162ccd3d..c67cbfc52c4749fbbdcd69b670ee4099338c9624 100644 (file)
@@ -5,11 +5,11 @@ module org-openroadm-degree {
 
   import org-openroadm-common-link-types {
     prefix org-openroadm-common-link-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
   import org-openroadm-network-types {
     prefix org-openroadm-network-types;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
 
   organization
@@ -46,6 +46,30 @@ module org-openroadm-degree {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2020-05-29 {
+    description
+      "Version 7.1.0";
+  }
+  revision 2020-03-27 {
+    description
+      "Version 7.0.0";
+  }
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
+  revision 2019-09-27 {
+    description
+      "Version 6.0.0";
+  }
+  revision 2019-05-31 {
+    description
+      "Version 5.1.0";
+  }
+  revision 2019-03-29 {
+    description
+      "Version 5.0.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
@@ -105,14 +129,6 @@ module org-openroadm-degree {
       description
         "maximum # of wavelengths";
     }
-    list available-wavelengths {
-      key "index";
-      description
-        "This list is created to accommodate fixed grid (1.2.1) as well as flex grid (2.0 above). In case of fixed grid
-         index number will refer to one of the 96 WL defined in the wavelength map file. In case of flex grid this
-         will hold list of available spectra";
-      uses org-openroadm-network-types:wavelengths;
-    }
     leaf ingress-span-loss-aging-margin {
       type org-openroadm-common-link-types:ratio-dB;
       config true;
@@ -125,5 +141,11 @@ module org-openroadm-degree {
       description
         "End Of Life Total input power at maximum load extracted from corresponding device OTS interface container";
     }
+    leaf egress-average-channel-power {
+      type org-openroadm-common-link-types:power-dBm;
+      config true;
+      description
+        "Based upon the total max power across the 4.8 THz passband.";
+    }
   }
 }
similarity index 90%
rename from ordmodels/network/src/main/yang/org-openroadm-external-pluggable@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-external-pluggable@2020-05-29.yang
index c14f9dd51329b36c98e8e08f991e668dced3affb..16ca977cf8a2804e1bfa4b95ad6117eb03dcee59 100644 (file)
@@ -5,15 +5,15 @@ module org-openroadm-external-pluggable {
 
   import org-openroadm-common-equipment-types {
     prefix org-openroadm-common-equipment-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
   import org-openroadm-common-state-types {
     prefix org-openroadm-common-state-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
   import org-openroadm-common-optical-channel-types {
     prefix org-openroadm-common-optical-channel-types;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
 
   organization
@@ -50,6 +50,26 @@ module org-openroadm-external-pluggable {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2020-05-29 {
+    description
+      "Version 7.1.0";
+  }
+  revision 2020-03-27 {
+    description
+      "Version 7.0.0";
+  }
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
+  revision 2019-09-27 {
+    description
+      "Version 6.0.0";
+  }
+  revision 2019-03-29 {
+    description
+      "Version 5.0.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
similarity index 87%
rename from ordmodels/network/src/main/yang/org-openroadm-link@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-link@2020-05-29.yang
index 97c2cc39956d835edbf4246dc9d09c81be44d046..2c20b215a5ef41a1df9c3f256089b93c62972721 100644 (file)
@@ -5,19 +5,23 @@ module org-openroadm-link {
 
   import org-openroadm-equipment-states-types {
     prefix org-openroadm-equipment-states-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
   import org-openroadm-common-link-types {
     prefix org-openroadm-common-link-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
   import org-openroadm-common-node-types {
     prefix org-openroadm-common-node-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
   import org-openroadm-amplifier {
     prefix org-openroadm-amplifier;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
+  }
+  import org-openroadm-network-types {
+    prefix org-openroadm-network-types;
+    revision-date 2020-05-29;
   }
 
   organization
@@ -54,6 +58,30 @@ module org-openroadm-link {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2020-05-29 {
+    description
+      "Version 7.1.0";
+  }
+  revision 2020-03-27 {
+    description
+      "Version 7.0.0";
+  }
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
+  revision 2019-09-27 {
+    description
+      "Version 6.0.0";
+  }
+  revision 2019-05-31 {
+    description
+      "Version 5.1.0";
+  }
+  revision 2019-03-29 {
+    description
+      "Version 5.0.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
@@ -83,18 +111,7 @@ module org-openroadm-link {
       "Version 2.0";
   }
 
-  grouping OMS-attributes {
-    leaf TE-metric {
-      type uint32;
-      status deprecated;
-    }
-  }
-
   grouping span-attributes {
-    leaf clfi {
-      type string;
-      status deprecated;
-    }
     leaf auto-spanloss {
       type boolean;
       default "true";
@@ -132,42 +149,42 @@ module org-openroadm-link {
       }
       leaf fiber-type {
         type enumeration {
-          enum "smf" {
+          enum smf {
             value 0;
             description
               "Single Mode Fiber";
           }
-          enum "eleaf" {
+          enum eleaf {
             value 1;
             description
               "ELEAF";
           }
-          enum "oleaf" {
+          enum oleaf {
             value 2;
             description
               "OLEAF";
           }
-          enum "dsf" {
+          enum dsf {
             value 3;
             description
               "DSF";
           }
-          enum "truewave" {
+          enum truewave {
             value 4;
             description
               "TRUEWAVE Reduced Slope";
           }
-          enum "truewavec" {
+          enum truewavec {
             value 5;
             description
               "TRUEWAVE Classic";
           }
-          enum "nz-dsf" {
+          enum nz-dsf {
             value 6;
             description
               "NZ-DSF";
           }
-          enum "ull" {
+          enum ull {
             value 7;
             description
               "Ultra Low Loss (ULL)";
@@ -202,6 +219,7 @@ module org-openroadm-link {
           case ila {
             container ila {
               uses org-openroadm-amplifier:amplifier-node-attributes;
+              uses org-openroadm-network-types:type-variety-grp;
               leaf node-id {
                 type org-openroadm-common-node-types:node-id-type;
                 mandatory true;
similarity index 82%
rename from ordmodels/network/src/main/yang/org-openroadm-network-topology-types@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-network-topology-types@2020-03-27.yang
index d8372b5a4146c0222d68bdafcf48a02a919d0cf1..12abb1b90ab1e8d62b05ff27e92b420859ac84f7 100644 (file)
@@ -13,7 +13,11 @@ module org-openroadm-network-topology-types {
   }
   import org-openroadm-switching-pool-types {
     prefix org-openroadm-switching-pool-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
+  }
+  import org-openroadm-port-types {
+    prefix org-openroadm-port-types;
+    revision-date 2020-03-27;
   }
 
   organization
@@ -47,6 +51,14 @@ module org-openroadm-network-topology-types {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2020-03-27 {
+    description
+      "Version 7.0.0";
+  }
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
@@ -69,6 +81,33 @@ module org-openroadm-network-topology-types {
         type uint16;
         units "Gbps";
       }
+      list possible-tp-config {
+        key "config-id";
+        leaf config-id {
+          type uint16;
+        }
+        list tp-if-type-config {
+          key "tp-name";
+          leaf tp-name {
+            type leafref {
+              path "/nd:networks/nd:network/nd:node/nwt:termination-point/nwt:tp-id";
+            }
+            description
+              "termination-point identifier";
+          }
+          leaf-list tp-if-type {
+            type identityref {
+              base org-openroadm-port-types:supported-if-capability;
+            }
+          }
+          leaf otsi-rate {
+            type uint16;
+            units "Gbps";
+            description
+              "Optical Tributary Signal (OTSi) rate in Gbps";
+          }
+        }
+      }
     }
   }
 
diff --git a/ordmodels/network/src/main/yang/org-openroadm-network-topology@2018-11-30.yang b/ordmodels/network/src/main/yang/org-openroadm-network-topology@2018-11-30.yang
deleted file mode 100644 (file)
index 9928281..0000000
+++ /dev/null
@@ -1,414 +0,0 @@
-module org-openroadm-network-topology {
-  yang-version 1.1;
-  namespace "http://org/openroadm/network/topology";
-  prefix topo;
-
-  import ietf-network {
-    prefix nd;
-    revision-date 2018-02-26;
-  }
-  import ietf-network-topology {
-    prefix nwt;
-    revision-date 2018-02-26;
-  }
-  import org-openroadm-network-types {
-    prefix org-openroadm-network-types;
-    revision-date 2018-11-30;
-  }
-  import org-openroadm-srg {
-    prefix srg;
-    revision-date 2018-11-30;
-  }
-  import org-openroadm-degree {
-    prefix dgr;
-    revision-date 2018-11-30;
-  }
-  import org-openroadm-xponder {
-    prefix xpdr;
-    revision-date 2018-11-30;
-  }
-  import org-openroadm-external-pluggable {
-    prefix plg;
-    revision-date 2018-11-30;
-  }
-  import org-openroadm-link {
-    prefix link;
-    revision-date 2018-11-30;
-  }
-  import org-openroadm-common-state-types {
-    prefix org-openroadm-common-state-types;
-    revision-date 2018-11-30;
-  }
-  import org-openroadm-common-network {
-    prefix cnet;
-    revision-date 2018-11-30;
-  }
-
-  organization
-    "OPEN ROADM MSA";
-  contact
-    "OpenROADM.org.";
-  description
-    "YANG definitions for network view of a ROADM
-
-     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
-     All other rights reserved.
-
-     Redistribution and use in source and binary forms, with or without modification,
-     are permitted provided that the following conditions are met:
-
-     * Redistributions of source code must retain the above copyright notice, this
-       list of conditions and the following disclaimer.
-     * Redistributions in binary form must reproduce the above copyright notice,
-       this list of conditions and the following disclaimer in the documentation and/or
-       other materials provided with the distribution.
-     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
-       contributors may be used to endorse or promote products derived from this software
-       without specific prior written permission.
-
-     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
-     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
-     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
-     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-     POSSIBILITY OF SUCH DAMAGE.";
-
-  revision 2018-11-30 {
-    description
-      "Version 4.1.0";
-  }
-  revision 2018-09-28 {
-    description
-      "Version 4.0.0";
-  }
-  revision 2018-05-30 {
-    description
-      "Version 3.1.0";
-  }
-  revision 2018-03-30 {
-    description
-      "Version 3.0.0";
-  }
-  revision 2017-12-15 {
-    description
-      "Version 2.2";
-  }
-  revision 2017-09-29 {
-    description
-      "Version 2.1";
-  }
-  revision 2017-07-28 {
-    description
-      "Version 2.0.1 - added revision-date to imports";
-  }
-  revision 2017-06-26 {
-    description
-      "Version 2.0";
-  }
-
-  deviation "/nd:networks/nd:network/nd:node/cnet:node-type" {
-    deviate add {
-      must
-        "(not /nd:networks/nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-topology) or
-         (/nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-topology and
-         (../cnet:node-type = 'DEGREE' or ../cnet:node-type = 'SRG' or ../cnet:node-type = 'TPDR' or ../cnet:node-type = 'SWITCH' or
-          ../cnet:node-type = 'REGEN' or ../cnet:node-type = 'REGEN-UNI' or ../cnet:node-type = 'EXT-PLUGGABLE' or
-          ../cnet:node-type = 'MUXPDR'))" {
-        error-message "Invalid node type for openroadm-topology";
-        description
-          "The valid node types in the ROADM topology are 'SRG', 'DEGREE',
-           'TPDR', 'SWITCH', 'REGEN', 'REGEN-UNI', 'EXT-PLUGGABLE' and 'MUXPDR'";
-      }
-    }
-  }
-  deviation "/nd:networks/nd:network/nd:node/nwt:termination-point/cnet:tp-type" {
-    description
-      "Defines which TP types can be instantiated on which Node types";
-    deviate add {
-      must
-        "/nd:network/nd:node/cnet:node-type != 'DEGREE' or (../../cnet:node-type = 'DEGREE'  and
-         (../cnet:tp-type = 'DEGREE-TX-TTP' or ../cnet:tp-type = 'DEGREE-RX-TTP' or  ../cnet:tp-type = 'DEGREE-TXRX-TTP' or
-         ../cnet:tp-type = 'DEGREE-TX-CTP' or ../cnet:tp-type = 'DEGREE-RX-CTP' or ../cnet:tp-type = 'DEGREE-TXRX-CTP'))" {
-        error-message "Invalid TP for node type 'DEGREE'";
-      }
-      must
-        "/nd:network/nd:node/cnet:node-type != 'SRG' or (../../cnet:node-type = 'SRG' and
-         (../cnet:tp-type = 'SRG-TX-CP' or ../cnet:tp-type = 'SRG-RX-CP' or ../cnet:tp-type = 'SRG-TXRX-CP' or
-         ../cnet:tp-type = 'SRG-RX-PP' or ../cnet:tp-type = 'SRG-TX-PP' or ../cnet:tp-type = 'SRG-TXRX-PP'))" {
-        error-message "Invalid TP for node type 'SRG'";
-      }
-      must
-        " (/nd:network/nd:node/cnet:node-type != 'TPDR' and ../../cnet:node-type != 'MUXPDR' and ../../cnet:node-type != 'REGEN' and
-         ../../cnet:node-type != 'REGEN-UNI' and ../../cnet:node-type != 'SWITCH')
-         or ((../../cnet:node-type = 'TPDR' or ../../cnet:node-type = 'MUXPDR' or ../../cnet:node-type = 'REGEN' or
-         ../../cnet:node-type = 'REGEN-UNI' or ../../cnet:node-type = 'SWITCH') and
-         (../cnet:tp-type = 'XPONDER-NETWORK' or ../cnet:tp-type = 'XPONDER-CLIENT' or ../cnet:tp-type = 'XPONDER-PORT'))" {
-        error-message "Invalid TP for node type 'XPONDER'";
-      }
-      must "/nd:network/nd:node/cnet:node-type != 'EXT-PLUGGABLE' or (../../cnet:node-type = 'EXT-PLUGGABLE' and ../cnet:tp-type = 'EXT-PLUGGABLE-TP')" {
-        error-message "Invalid TP for node type 'EXT-PLUGGABLE'";
-      }
-    }
-  }
-  deviation "/nd:networks/nd:network/nwt:link/cnet:link-type" {
-    deviate add {
-      must
-        "(not /nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-topology) or
-         (/nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-topology and
-         (../cnet:link-type = 'ROADM-TO-ROADM' or ../cnet:link-type = 'ADD-LINK' or ../cnet:link-type = 'DROP-LINK' or
-          ../cnet:link-type = 'EXPRESS-LINK' or ../cnet:link-type = 'XPONDER-INPUT' or ../cnet:link-type = 'XPONDER-OUTPUT'))" {
-        error-message "Invalid link type for openroadm-topology";
-        description
-          "The valid link types in the ROADM topology are 'ROADM-TO-ROADM', 'ADD-LINK',
-           'DROP-LINK', 'EXPRESS-LINK', 'XPONDER-INPUT', 'XPONDER-OUTPUT'";
-      }
-    }
-  }
-  augment "/nd:networks/nd:network/nd:network-types/cnet:openroadm-common-network" {
-    description
-      "Introduce new network type for the Open ROADM optical
-       `     network topology";
-    container openroadm-topology {
-      presence "indicates optical network topology for Open ROADMs";
-    }
-  }
-  augment "/nd:networks/nd:network/nd:node" {
-    when "../nd:network-types/cnet:openroadm-common-network/openroadm-topology";
-    description
-      "This augmentations adds the ROADM Node type to the generic node
-       definition and defines node-specific attributes for each node type
-       in the ROADM Topology.";
-    leaf node-type {
-      type org-openroadm-network-types:openroadm-node-type;
-      must
-        "(../node-type = 'DEGREE' or ../node-type = 'SRG' or ../node-type = 'TPDR' or ../node-type = 'SWITCH' or
-          ../node-type = 'REGEN' or ../node-type = 'REGEN-UNI' or ../node-type = 'EXT-PLUGGABLE' or
-          ../node-type = 'MUXPDR')" {
-        error-message "Invalid node type for openroadm-topology";
-      }
-      status deprecated;
-      description
-        "The type of a node in the ROADM topology. Valid node types are 'SRG', 'DEGREE',
-         'TPDR', 'SWITCH', 'REGEN', 'REGEN-UNI', 'EXT-PLUGGABLE' and 'MUXPDR'";
-    }
-    container srg-attributes {
-      when "../cnet:node-type = 'SRG'";
-      description
-        "Topology-related attributes for SRG nodes";
-      uses srg:srg-node-attributes;
-    }
-    container degree-attributes {
-      when "../cnet:node-type = 'DEGREE'";
-      description
-        "Topology-related attributes for degree nodes";
-      uses dgr:degree-node-attributes;
-    }
-    container xpdr-attributes {
-      when
-        "../cnet:node-type = 'TPDR' or ../cnet:node-type = 'MUXPDR' or ../cnet:node-type = 'REGEN' or
-         ../cnet:node-type = 'REGEN-UNI' or ../cnet:node-type = 'SWITCH'";
-      description
-        "Topology-related attributes for Xponder nodes";
-      uses xpdr:xpdr-topo-node-attributes;
-    }
-  }
-  augment "/nd:networks/nd:network/nd:node/nwt:termination-point" {
-    when "../../nd:network-types/cnet:openroadm-common-network/openroadm-topology";
-    description
-      "Defines the type of a termination point in the ROADM topology and
-       TP-specific attributes for each termination point type.";
-    leaf tp-type {
-      type org-openroadm-network-types:openroadm-tp-type;
-      must
-        "../../topo:node-type != 'DEGREE' or (../../topo:node-type = 'DEGREE'  and
-         (../topo:tp-type = 'DEGREE-TX-TTP' or ../topo:tp-type = 'DEGREE-RX-TTP' or  ../topo:tp-type = 'DEGREE-TXRX-TTP' or
-         ../topo:tp-type = 'DEGREE-TX-CTP' or ../topo:tp-type = 'DEGREE-RX-CTP' or ../topo:tp-type = 'DEGREE-TXRX-CTP'))" {
-        error-message "Invalid TP for node type 'DEGREE'";
-      }
-      must
-        "../../topo:node-type != 'SRG' or (../../topo:node-type = 'SRG' and
-         (../topo:tp-type = 'SRG-TX-CP' or ../topo:tp-type = 'SRG-RX-CP' or ../topo:tp-type = 'SRG-TXRX-CP' or
-         ../topo:tp-type = 'SRG-RX-PP' or ../topo:tp-type = 'SRG-TX-PP' or ../topo:tp-type = 'SRG-TXRX-PP'))" {
-        error-message "Invalid TP for node type 'SRG'";
-      }
-      must
-        " (../../topo:node-type != 'TPDR' and ../../topo:node-type != 'MUXPDR' and ../../topo:node-type != 'REGEN' and
-         ../../topo:node-type != 'REGEN-UNI' and ../../topo:node-type != 'SWITCH')
-         or ((../../topo:node-type = 'TPDR' or ../../topo:node-type = 'MUXPDR' or ../../topo:node-type = 'REGEN' or
-         ../../topo:node-type = 'REGEN-UNI' or ../../topo:node-type = 'SWITCH') and
-         (../topo:tp-type = 'XPONDER-NETWORK' or ../topo:tp-type = 'XPONDER-CLIENT' or ../topo:tp-type = 'XPONDER-PORT'))" {
-        error-message "Invalid TP for node type 'XPONDER'";
-      }
-      must "../../topo:node-type != 'EXT-PLUGGABLE' or (../../topo:node-type = 'EXT-PLUGGABLE' and ../topo:tp-type = 'EXT-PLUGGABLE-TP')" {
-        error-message "Invalid TP for node type 'EXT-PLUGGABLE'";
-      }
-      status deprecated;
-      description
-        "The TP type; also defines which TP types can be instantiated
-         on which Node types";
-    }
-    container tx-ttp-attributes {
-      when "../cnet:tp-type = 'DEGREE-TX-TTP' or ../cnet:tp-type = 'DEGREE-TXRX-TTP'";
-      description
-        "There must be only one TP of type DEGREE-TX-TTP in any given
-         degree node";
-      uses dgr:degree-used-wavelengths;
-    }
-    container rx-ttp-attributes {
-      when "../cnet:tp-type = 'DEGREE-RX-TTP'";
-      description
-        "There must be only one TP of type DEGREE-RX-TTP in any given
-         degree node";
-      uses dgr:degree-used-wavelengths;
-    }
-    container ctp-attributes {
-      when "../cnet:tp-type = 'DEGREE-TX-CTP' or ../cnet:tp-type = 'DEGREE-RX-CTP' or ../cnet:tp-type = 'DEGREE-TXRX-CTP'";
-      uses dgr:degree-used-wavelengths;
-    }
-    container cp-attributes {
-      when "../cnet:tp-type = 'SRG-TX-CP' or ../cnet:tp-type = 'SRG-RX-CP' or ../cnet:tp-type = 'SRG-TXRX-CP'";
-      description
-        "This list is created to accommodate fixed grid (1.2.1) as well as flex grid (2.0 above). In case of fixed grid
-         index number will refer to one of the 96 WL defined in the wavelength map file. In case of flex grid this
-         will hold list of used spectra";
-      list used-wavelengths {
-        key "index";
-        uses org-openroadm-network-types:wavelengths;
-      }
-    }
-    container pp-attributes {
-      when "../cnet:tp-type = 'SRG-TXRX-PP' or ../cnet:tp-type = 'SRG-TX-PP' or ../cnet:tp-type = 'SRG-RX-PP' ";
-      description
-        "This list is created to accommodate fixed grid (1.2.1) as well as flex grid (2.0 above). In case of fixed grid
-         index number will refer to one of the 96 WL defined in the wavelength map file. In case of flex grid this
-         will hold list of used spectra";
-      list used-wavelength {
-        key "index";
-        uses org-openroadm-network-types:wavelengths;
-      }
-    }
-    leaf eqpt-srg-id {
-      when
-        "../cnet:tp-type = 'XPONDER-CLIENT' or ../cnet:tp-type = 'XPONDER-NETWORK' or ../cnet:tp-type = 'EXT-PLUGGABLE-TP' or
-         ../cnet:tp-type = 'XPONDER-PORT'";
-      type uint32;
-      status deprecated;
-      description
-        "Shared Risk Group identifier. All ports in a circuit-pack will have same srg-id";
-    }
-    container xpdr-client-attributes {
-      when "../../topo:node-type = 'TPDR' and ../cnet:tp-type = 'XPONDER-CLIENT'";
-      description
-        "Topology layer will allow client TPs only for Transponder nodes";
-      uses xpdr:xpdr-connection-attributes;
-      uses xpdr:xpdr-port-connection-attributes;
-    }
-    container xpdr-network-attributes {
-      when "../cnet:tp-type = 'XPONDER-NETWORK'";
-      uses xpdr:xpdr-connection-attributes;
-      uses xpdr:xpdr-port-connection-attributes;
-    }
-    container xpdr-port-attributes {
-      when "../cnet:tp-type = 'XPONDER-PORT'";
-      uses xpdr:xpdr-connection-attributes;
-      uses xpdr:xpdr-port-connection-attributes;
-    }
-    container ext-pluggable-attributes {
-      when "../cnet:tp-type = 'EXT-PLUGGABLE-TP'";
-      uses plg:pluggable-tp-attributes;
-    }
-  }
-  augment "/nd:networks/nd:network/nwt:link" {
-    when "../nd:network-types/cnet:openroadm-common-network/openroadm-topology";
-    description
-      "This augmentation defines ROADM link types in the ROADM topology";
-    leaf link-type {
-      type org-openroadm-network-types:openroadm-link-type;
-      must
-        "(../link-type = 'ROADM-TO-ROADM' or ../link-type = 'ADD-LINK' or ../link-type = 'DROP-LINK' or
-          ../link-type = 'EXPRESS-LINK' or ../link-type = 'XPONDER-INPUT' or ../link-type = 'XPONDER-OUTPUT')" {
-        error-message "Invalid link type for openroadm-topology";
-      }
-      status deprecated;
-    }
-    leaf link-length {
-      type decimal64 {
-        fraction-digits 2;
-      }
-      status deprecated;
-    }
-    leaf administrative-group {
-      type uint32;
-      status deprecated;
-      description
-        "according to RFC 3630 definition";
-    }
-    leaf operational-state {
-      type org-openroadm-common-state-types:state;
-      status deprecated;
-    }
-    leaf administrative-state {
-      type org-openroadm-common-state-types:state;
-      status deprecated;
-    }
-    leaf link-latency {
-      type uint32;
-      status deprecated;
-      description
-        "Latency of a link";
-    }
-    leaf amplified {
-      when "../cnet:link-type = 'ROADM-TO-ROADM'";
-      type boolean;
-      description
-        "defines whether an ROADM-TO-ROADM Link includes line amplifiers or not";
-    }
-    leaf TE-metric {
-      type uint32;
-      status deprecated;
-      description
-        "defines a Traffic Engineering metric which could be used for any type of link.
-         Supersedes TE-metric originally defined in OMS-attributes grouping";
-    }
-    leaf opposite-link {
-      type leafref {
-        path "../../nwt:link/nwt:link-id";
-      }
-      status deprecated;
-      description
-        "optional - pointer to reverse link in case of bidirectional link. Supersedes opposite-link
-         originally defined in OMS-attributes container, to apply to any kind of link in the topology";
-    }
-    container OMS-attributes {
-      when "../cnet:link-type = 'ROADM-TO-ROADM'";
-      description
-        "";
-      uses link:OMS-attributes;
-      leaf opposite-link {
-        type leafref {
-          path "../../../nwt:link/nwt:link-id";
-        }
-        status deprecated;
-        description
-          "optional - pointer to reverse link in case of bidirectional link";
-      }
-      container span {
-        when "../../amplified = 'false'";
-        description
-          "";
-        uses link:span-attributes;
-      }
-      container amplified-link {
-        when "../../amplified = 'true'";
-        description
-          "when amplified is set to true, rather than a simple OMS section
-           we have an amplified link";
-        uses link:amplified-link-attributes;
-      }
-    }
-  }
-}
diff --git a/ordmodels/network/src/main/yang/org-openroadm-network-topology@2020-05-29.yang b/ordmodels/network/src/main/yang/org-openroadm-network-topology@2020-05-29.yang
new file mode 100644 (file)
index 0000000..fcb1122
--- /dev/null
@@ -0,0 +1,334 @@
+module org-openroadm-network-topology {
+  yang-version 1.1;
+  namespace "http://org/openroadm/network/topology";
+  prefix topo;
+
+  import ietf-network {
+    prefix nd;
+    revision-date 2018-02-26;
+  }
+  import ietf-network-topology {
+    prefix nwt;
+    revision-date 2018-02-26;
+  }
+  import org-openroadm-network-types {
+    prefix org-openroadm-network-types;
+    revision-date 2020-05-29;
+  }
+  import org-openroadm-srg {
+    prefix srg;
+    revision-date 2020-05-29;
+  }
+  import org-openroadm-degree {
+    prefix dgr;
+    revision-date 2020-05-29;
+  }
+  import org-openroadm-xponder {
+    prefix xpdr;
+    revision-date 2020-05-29;
+  }
+  import org-openroadm-external-pluggable {
+    prefix plg;
+    revision-date 2020-05-29;
+  }
+  import org-openroadm-link {
+    prefix link;
+    revision-date 2020-05-29;
+  }
+  import org-openroadm-common-network {
+    prefix cnet;
+    revision-date 2020-05-29;
+  }
+
+  organization
+    "OPEN ROADM MSA";
+  contact
+    "OpenROADM.org.";
+  description
+    "YANG definitions for network view of a ROADM
+
+     Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+     All other rights reserved.
+
+     Redistribution and use in source and binary forms, with or without modification,
+     are permitted provided that the following conditions are met:
+
+     * Redistributions of source code must retain the above copyright notice, this
+       list of conditions and the following disclaimer.
+     * Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation and/or
+       other materials provided with the distribution.
+     * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+       contributors may be used to endorse or promote products derived from this software
+       without specific prior written permission.
+
+     THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT ''AS IS''
+     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+     IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA  AGREEMENT BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  LOSS OF USE, DATA,
+     OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+     WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+     POSSIBILITY OF SUCH DAMAGE.";
+
+  revision 2020-05-29 {
+    description
+      "Version 7.1.0";
+  }
+  revision 2020-03-27 {
+    description
+      "Version 7.0.0";
+  }
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
+  revision 2019-09-27 {
+    description
+      "Version 6.0.0";
+  }
+  revision 2019-05-31 {
+    description
+      "Version 5.1.0";
+  }
+  revision 2019-03-29 {
+    description
+      "Version 5.0.0";
+  }
+  revision 2018-11-30 {
+    description
+      "Version 4.1.0";
+  }
+  revision 2018-09-28 {
+    description
+      "Version 4.0.0";
+  }
+  revision 2018-05-30 {
+    description
+      "Version 3.1.0";
+  }
+  revision 2018-03-30 {
+    description
+      "Version 3.0.0";
+  }
+  revision 2017-12-15 {
+    description
+      "Version 2.2";
+  }
+  revision 2017-09-29 {
+    description
+      "Version 2.1";
+  }
+  revision 2017-07-28 {
+    description
+      "Version 2.0.1 - added revision-date to imports";
+  }
+  revision 2017-06-26 {
+    description
+      "Version 2.0";
+  }
+
+  deviation "/nd:networks/nd:network/nd:node/cnet:node-type" {
+    deviate add {
+      must "(not /nd:networks/nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-topology) or
+            (/nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-topology and
+            (../cnet:node-type = 'DEGREE' or ../cnet:node-type = 'SRG' or ../cnet:node-type = 'TPDR' or ../cnet:node-type = 'SWITCH' or
+             ../cnet:node-type = 'REGEN' or ../cnet:node-type = 'REGEN-UNI' or ../cnet:node-type = 'EXT-PLUGGABLE' or
+             ../cnet:node-type = 'MUXPDR'))" {
+          error-message "Invalid node type for openroadm-topology";
+          description
+            "The valid node types in the ROADM topology are 'SRG', 'DEGREE',
+             'TPDR', 'SWITCH', 'REGEN', 'REGEN-UNI', 'EXT-PLUGGABLE' and 'MUXPDR'";
+      }
+    }
+  }
+
+  deviation "/nd:networks/nd:network/nd:node/nwt:termination-point/cnet:tp-type" {
+    description
+      "Defines which TP types can be instantiated on which Node types";
+    deviate add {
+      must "/nd:network/nd:node/cnet:node-type != 'DEGREE' or (../../cnet:node-type = 'DEGREE'  and
+            (../cnet:tp-type = 'DEGREE-TX-TTP' or ../cnet:tp-type = 'DEGREE-RX-TTP' or  ../cnet:tp-type = 'DEGREE-TXRX-TTP' or
+            ../cnet:tp-type = 'DEGREE-TX-CTP' or ../cnet:tp-type = 'DEGREE-RX-CTP' or ../cnet:tp-type = 'DEGREE-TXRX-CTP'))" {
+          error-message "Invalid TP for node type 'DEGREE'";
+      }
+      must "/nd:network/nd:node/cnet:node-type != 'SRG' or (../../cnet:node-type = 'SRG' and
+            (../cnet:tp-type = 'SRG-TX-CP' or ../cnet:tp-type = 'SRG-RX-CP' or ../cnet:tp-type = 'SRG-TXRX-CP' or
+            ../cnet:tp-type = 'SRG-RX-PP' or ../cnet:tp-type = 'SRG-TX-PP' or ../cnet:tp-type = 'SRG-TXRX-PP'))" {
+          error-message "Invalid TP for node type 'SRG'";
+      }
+      must " (/nd:network/nd:node/cnet:node-type != 'TPDR' and ../../cnet:node-type != 'MUXPDR' and ../../cnet:node-type != 'REGEN' and
+            ../../cnet:node-type != 'REGEN-UNI' and ../../cnet:node-type != 'SWITCH')
+            or ((../../cnet:node-type = 'TPDR' or ../../cnet:node-type = 'MUXPDR' or ../../cnet:node-type = 'REGEN' or
+            ../../cnet:node-type = 'REGEN-UNI' or ../../cnet:node-type = 'SWITCH') and
+            (../cnet:tp-type = 'XPONDER-NETWORK' or ../cnet:tp-type = 'XPONDER-CLIENT' or ../cnet:tp-type = 'XPONDER-PORT'))" {
+          error-message "Invalid TP for node type 'XPONDER'";
+      }
+      must "/nd:network/nd:node/cnet:node-type != 'EXT-PLUGGABLE' or (../../cnet:node-type = 'EXT-PLUGGABLE' and ../cnet:tp-type = 'EXT-PLUGGABLE-TP')" {
+        error-message "Invalid TP for node type 'EXT-PLUGGABLE'";
+      }
+    }
+  }
+
+  deviation "/nd:networks/nd:network/nwt:link/cnet:link-type" {
+    deviate add {
+      must "(not /nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-topology) or
+            (/nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-topology and
+            (../cnet:link-type = 'ROADM-TO-ROADM' or ../cnet:link-type = 'ADD-LINK' or ../cnet:link-type = 'DROP-LINK' or
+             ../cnet:link-type = 'EXPRESS-LINK' or ../cnet:link-type = 'XPONDER-INPUT' or ../cnet:link-type = 'XPONDER-OUTPUT'))" {
+          error-message "Invalid link type for openroadm-topology";
+          description
+            "The valid link types in the ROADM topology are 'ROADM-TO-ROADM', 'ADD-LINK',
+             'DROP-LINK', 'EXPRESS-LINK', 'XPONDER-INPUT', 'XPONDER-OUTPUT'";
+      }
+    }
+  }
+
+  augment "/nd:networks/nd:network/nd:network-types/cnet:openroadm-common-network" {
+    description
+      "Introduce new network type for the Open ROADM optical
+       `     network topology";
+    container openroadm-topology {
+      presence "indicates optical network topology for Open ROADMs";
+    }
+  }
+
+  augment "/nd:networks/nd:network/nd:node" {
+    when '../nd:network-types/cnet:openroadm-common-network/topo:openroadm-topology';
+    description
+      "This augmentations adds the ROADM Node type to the generic node
+       definition and defines node-specific attributes for each node type
+       in the ROADM Topology.";
+    container srg-attributes {
+      when "../cnet:node-type = 'SRG'";
+      description
+        "Topology-related attributes for SRG nodes";
+      uses srg:srg-node-attributes;
+      uses org-openroadm-network-types:available-freq-map;
+      uses org-openroadm-network-types:type-variety-grp;
+    }
+    container degree-attributes {
+      when "../cnet:node-type = 'DEGREE'";
+      description
+        "Topology-related attributes for degree nodes";
+      uses dgr:degree-node-attributes;
+      uses org-openroadm-network-types:available-freq-map;
+      uses org-openroadm-network-types:type-variety-grp;
+    }
+    container xpdr-attributes {
+      when "../cnet:node-type = 'TPDR' or ../cnet:node-type = 'MUXPDR' or ../cnet:node-type = 'REGEN' or
+            ../cnet:node-type = 'REGEN-UNI' or ../cnet:node-type = 'SWITCH'";
+      description
+        "Topology-related attributes for Xponder nodes";
+      uses xpdr:xpdr-topo-node-attributes;
+    }
+  }
+
+  augment "/nd:networks/nd:network/nd:node/nwt:termination-point" {
+    when '../../nd:network-types/cnet:openroadm-common-network/topo:openroadm-topology';
+    description
+      "Defines the type of a termination point in the ROADM topology and
+       TP-specific attributes for each termination point type.";
+    container tx-ttp-attributes {
+      when "../cnet:tp-type = 'DEGREE-TX-TTP' or ../cnet:tp-type = 'DEGREE-TXRX-TTP'";
+      description
+        "There must be only one TP of type DEGREE-TX-TTP in any given
+         degree node";
+      uses dgr:degree-used-wavelengths;
+      uses org-openroadm-network-types:available-freq-map;
+    }
+    container rx-ttp-attributes {
+      when "../cnet:tp-type = 'DEGREE-RX-TTP'";
+      description
+        "There must be only one TP of type DEGREE-RX-TTP in any given
+         degree node";
+      uses dgr:degree-used-wavelengths;
+      uses org-openroadm-network-types:available-freq-map;
+    }
+    container ctp-attributes {
+      when "../cnet:tp-type = 'DEGREE-TX-CTP' or ../cnet:tp-type = 'DEGREE-RX-CTP' or ../cnet:tp-type = 'DEGREE-TXRX-CTP'";
+      uses org-openroadm-network-types:available-freq-map;
+    }
+    container cp-attributes {
+      when "../cnet:tp-type = 'SRG-TX-CP' or ../cnet:tp-type = 'SRG-RX-CP' or ../cnet:tp-type = 'SRG-TXRX-CP'";
+      description
+        "This list is created to accommodate fixed grid (1.2.1) as well as flex grid (2.0 above). In case of fixed grid
+         index number will refer to one of the 96 WL defined in the wavelength map file. In case of flex grid this
+         will hold list of used spectra";
+      uses org-openroadm-network-types:available-freq-map;
+    }
+    container pp-attributes {
+      when "../cnet:tp-type = 'SRG-TXRX-PP' or ../cnet:tp-type = 'SRG-TX-PP' or ../cnet:tp-type = 'SRG-RX-PP' ";
+      description
+        "This list is created to accommodate fixed grid (1.2.1) as well as flex grid (2.0 above). In case of fixed grid
+         index number will refer to one of the 96 WL defined in the wavelength map file. In case of flex grid this
+         will hold list of used spectra";
+      list used-wavelength {
+        key "index";
+        uses org-openroadm-network-types:wavelengths;
+      }
+      uses org-openroadm-network-types:available-freq-map;
+    }
+    container xpdr-client-attributes {
+      when "../../cnet:node-type = 'TPDR' and ../cnet:tp-type = 'XPONDER-CLIENT'";
+      description
+        "Topology layer will allow client TPs only for Transponder nodes";
+      uses xpdr:xpdr-connection-attributes;
+      uses xpdr:xpdr-port-connection-attributes;
+      uses xpdr:supported-client-services;
+    }
+    container xpdr-network-attributes {
+      when "../cnet:tp-type = 'XPONDER-NETWORK'";
+      uses xpdr:xpdr-connection-attributes;
+      uses xpdr:xpdr-port-connection-attributes;
+      uses xpdr:xpdr-mode-attributes;
+      uses org-openroadm-network-types:type-variety-grp;
+    }
+    container xpdr-port-attributes {
+      when "../cnet:tp-type = 'XPONDER-PORT'";
+      uses xpdr:xpdr-connection-attributes;
+      uses xpdr:xpdr-port-connection-attributes;
+      uses xpdr:xpdr-mode-attributes;
+      uses org-openroadm-network-types:type-variety-grp;
+    }
+    container ext-pluggable-attributes {
+      when "../cnet:tp-type = 'EXT-PLUGGABLE-TP'";
+      uses plg:pluggable-tp-attributes;
+      uses xpdr:xpdr-port-connection-attributes;
+      uses xpdr:xpdr-mode-attributes;
+      uses org-openroadm-network-types:type-variety-grp;
+    }
+  }
+
+  augment "/nd:networks/nd:network/nwt:link" {
+    when '../nd:network-types/cnet:openroadm-common-network/topo:openroadm-topology';
+    description
+      "This augmentation defines ROADM link types in the ROADM topology";
+    leaf amplified {
+      when "../cnet:link-type = 'ROADM-TO-ROADM'";
+      type boolean;
+      description
+        "defines whether an ROADM-TO-ROADM Link includes line amplifiers or not";
+    }
+    container OMS-attributes {
+      when "../cnet:link-type = 'ROADM-TO-ROADM'";
+      description
+        "";
+      container span {
+        when "../../amplified = 'false'";
+        description
+          "";
+        uses link:span-attributes;
+      }
+      container amplified-link {
+        when "../../amplified = 'true'";
+        description
+          "when amplified is set to true, rather than a simple OMS section
+           we have an amplified link";
+        uses link:amplified-link-attributes;
+      }
+    }
+  }
+}
similarity index 62%
rename from ordmodels/network/src/main/yang/org-openroadm-network-types@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-network-types@2020-05-29.yang
index a246e9a3dcaadcf2d64295500eb8031f6733f82c..c4f93c2b1b57c6ddebe448f66d6d198c0953f59a 100644 (file)
@@ -9,11 +9,11 @@ module org-openroadm-network-types {
   }
   import org-openroadm-common-optical-channel-types {
     prefix org-openroadm-common-optical-channel-types;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
   import org-openroadm-port-types {
     prefix org-openroadm-port-types;
-    revision-date 2018-11-30;
+    revision-date 2020-03-27;
   }
 
   organization
@@ -47,6 +47,30 @@ module org-openroadm-network-types {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2020-05-29 {
+    description
+      "Version 7.1.0";
+  }
+  revision 2020-03-27 {
+    description
+      "Version 7.0.0";
+  }
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
+  revision 2019-09-27 {
+    description
+      "Version 6.0.0";
+  }
+  revision 2019-05-31 {
+    description
+      "Version 5.1.0";
+  }
+  revision 2019-03-29 {
+    description
+      "Version 5.0.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
@@ -82,34 +106,34 @@ module org-openroadm-network-types {
 
   typedef openroadm-node-type {
     type enumeration {
-      enum "ROADM" {
+      enum ROADM {
         value 1;
       }
-      enum "DEGREE" {
+      enum DEGREE {
         value 11;
       }
-      enum "SRG" {
+      enum SRG {
         value 12;
       }
-      enum "XPONDER" {
+      enum XPONDER {
         value 3;
       }
-      enum "EXT-PLUGGABLE" {
+      enum EXT-PLUGGABLE {
         value 4;
       }
-      enum "TPDR" {
+      enum TPDR {
         value 13;
       }
-      enum "MUXPDR" {
+      enum MUXPDR {
         value 14;
       }
-      enum "REGEN" {
+      enum REGEN {
         value 15;
       }
-      enum "REGEN-UNI" {
+      enum REGEN-UNI {
         value 16;
       }
-      enum "SWITCH" {
+      enum SWITCH {
         value 17;
       }
     }
@@ -117,52 +141,52 @@ module org-openroadm-network-types {
 
   typedef openroadm-tp-type {
     type enumeration {
-      enum "DEGREE-TX-TTP" {
+      enum DEGREE-TX-TTP {
         value 1;
       }
-      enum "DEGREE-RX-TTP" {
+      enum DEGREE-RX-TTP {
         value 2;
       }
-      enum "DEGREE-TX-CTP" {
+      enum DEGREE-TX-CTP {
         value 3;
       }
-      enum "DEGREE-RX-CTP" {
+      enum DEGREE-RX-CTP {
         value 4;
       }
-      enum "SRG-TX-CP" {
+      enum SRG-TX-CP {
         value 5;
       }
-      enum "SRG-RX-CP" {
+      enum SRG-RX-CP {
         value 6;
       }
-      enum "SRG-TXRX-PP" {
+      enum SRG-TXRX-PP {
         value 7;
       }
-      enum "SRG-RX-PP" {
+      enum SRG-RX-PP {
         value 8;
       }
-      enum "SRG-TX-PP" {
+      enum SRG-TX-PP {
         value 9;
       }
-      enum "XPONDER-NETWORK" {
+      enum XPONDER-NETWORK {
         value 10;
       }
-      enum "XPONDER-CLIENT" {
+      enum XPONDER-CLIENT {
         value 11;
       }
-      enum "EXT-PLUGGABLE-TP" {
+      enum EXT-PLUGGABLE-TP {
         value 12;
       }
-      enum "DEGREE-TXRX-TTP" {
+      enum DEGREE-TXRX-TTP {
         value 13;
       }
-      enum "SRG-TXRX-CP" {
+      enum SRG-TXRX-CP {
         value 14;
       }
-      enum "XPONDER-PORT" {
+      enum XPONDER-PORT {
         value 15;
       }
-      enum "DEGREE-TXRX-CTP" {
+      enum DEGREE-TXRX-CTP {
         value 16;
       }
     }
@@ -170,61 +194,83 @@ module org-openroadm-network-types {
 
   typedef openroadm-link-type {
     type enumeration {
-      enum "EXPRESS-LINK" {
+      enum EXPRESS-LINK {
         value 1;
       }
-      enum "ADD-LINK" {
+      enum ADD-LINK {
         value 2;
       }
-      enum "DROP-LINK" {
+      enum DROP-LINK {
         value 3;
       }
-      enum "ROADM-TO-ROADM" {
+      enum ROADM-TO-ROADM {
         value 4;
       }
-      enum "XPONDER-INPUT" {
+      enum XPONDER-INPUT {
         value 5;
       }
-      enum "XPONDER-OUTPUT" {
+      enum XPONDER-OUTPUT {
         value 6;
       }
-      enum "OTN-LINK" {
+      enum OTN-LINK {
         value 7;
       }
     }
   }
 
-  typedef openroadm-node-status {
+  typedef openroadm-node-connection-status {
     type enumeration {
-      enum "PLANNED" {
+      enum CONNECTED {
         value 1;
       }
-      enum "DEPLOYED" {
+      enum CONNECTING {
         value 2;
       }
-      enum "MAINTENANCE" {
+      enum UNABLE-TO-CONNECT {
         value 3;
       }
     }
   }
 
-  typedef openroadm-node-connection-status {
-    type enumeration {
-      enum "CONNECTED" {
-        value 1;
+  grouping available-freq-map {
+    list avail-freq-maps {
+      key "map-name";
+      description
+        "Available spectrum information";
+      leaf map-name {
+        type string;
+        description
+          "Identifier of the map. For C-band, recommend map-name = 'cband'";
       }
-      enum "CONNECTING" {
-        value 2;
+      leaf start-edge-freq {
+        type org-openroadm-common-optical-channel-types:frequency-THz;
+        description
+          "Starting edge frequency (min frequency) for the frequency map. For C-band, the recommendation is start-edge-freq = 191.325 THz";
       }
-      enum "UNABLE-TO-CONNECT" {
-        value 3;
+      leaf freq-map-granularity {
+        type org-openroadm-common-optical-channel-types:frequency-GHz;
+        description
+          "frequency granularity of each bit in the bitmap.  For C-band, the recommendation is freq-map-granularity = 6.25 GHz";
+      }
+      leaf effective-bits {
+        type uint16;
+        description
+          "Number of effective bits in the frequency bitmap.  Note the freq-map bitmap will be padded with 0 for byte alignment.";
+      }
+      leaf freq-map {
+        type binary;
+        description
+          "Frequency bitmap.  Setting the value of the binary bit to 1 indicates that the corresponding spectrum is available and
+           setting to 0 indicates the corresponding spectrum is unavailable (used or unsupported).";
       }
     }
   }
 
   grouping wavelengths {
     leaf index {
-      type uint32;
+      type int32;
+      description
+        "Index should be related to the frequency based on the formula 193.1 + index * .00625 THz";
     }
     uses flex-wave;
   }
@@ -244,6 +290,17 @@ module org-openroadm-network-types {
     }
   }
 
+  grouping type-variety-grp {
+    leaf type-variety {
+      type string;
+      config true;
+      description
+        "Equipment type variety defined by the Open ROADM MSA or by the vendor for bookending applications.
+         This field is used by external path computation tools as a reference in a catalog to get additional
+         information about the equipment’s optical capabilities.";
+    }
+  }
+
   grouping xpdr-tp-supported-interfaces {
     list supported-interface-capability {
       key "if-cap-type";
similarity index 79%
rename from ordmodels/network/src/main/yang/org-openroadm-network@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-network@2020-05-29.yang
index a236b8819873321dc0427d114a6d05956551e801..506c514b67d1d42c00cbf00f05355c11eb23f8b8 100644 (file)
@@ -9,19 +9,19 @@ module org-openroadm-network {
   }
   import org-openroadm-network-types {
     prefix nt;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
   import org-openroadm-roadm {
     prefix roadm;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
   import org-openroadm-external-pluggable {
     prefix plg;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
   import org-openroadm-xponder {
     prefix xpdr;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
   import ietf-inet-types {
     prefix inet;
@@ -29,11 +29,11 @@ module org-openroadm-network {
   }
   import org-openroadm-common-types {
     prefix org-openroadm-common-types;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
   import org-openroadm-common-network {
     prefix cnet;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
 
   organization
@@ -67,6 +67,30 @@ module org-openroadm-network {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2020-05-29 {
+    description
+      "Version 7.1.0";
+  }
+  revision 2020-03-27 {
+    description
+      "Version 7.0.0";
+  }
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
+  revision 2019-09-27 {
+    description
+      "Version 6.0.0";
+  }
+  revision 2019-05-31 {
+    description
+      "Version 5.1.0";
+  }
+  revision 2019-03-29 {
+    description
+      "Version 5.0.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
@@ -106,16 +130,16 @@ module org-openroadm-network {
 
   deviation "/nd:networks/nd:network/nd:node/cnet:node-type" {
     deviate add {
-      must
-        "(not /nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-network) or
-         (/nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-network and
-         (../cnet:node-type = 'ROADM' or ../cnet:node-type = 'XPONDER' or ../cnet:node-type = 'EXT-PLUGGABLE'))" {
-        error-message "Invalid node type for openroadm-network";
-        description
-          "The valid node types in the ROADM network are XPONDER, EXT-PLUGGABLE and ROADM.";
+      must "(not /nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-network) or
+            (/nd:network/nd:network-types/cnet:openroadm-common-network/openroadm-network and
+            (../cnet:node-type = 'ROADM' or ../cnet:node-type = 'XPONDER' or ../cnet:node-type = 'EXT-PLUGGABLE'))" {
+          error-message "Invalid node type for openroadm-network";
+          description
+            "The valid node types in the ROADM network are XPONDER, EXT-PLUGGABLE and ROADM.";
       }
     }
   }
+
   augment "/nd:networks/nd:network/nd:network-types/cnet:openroadm-common-network" {
     description
       "Introduce new network type for the Open ROADM optical network";
@@ -126,21 +150,11 @@ module org-openroadm-network {
          network";
     }
   }
+
   augment "/nd:networks/nd:network/nd:node" {
-    when "../nd:network-types/cnet:openroadm-common-network/openroadm-network";
+    when '../nd:network-types/cnet:openroadm-common-network/net:openroadm-network';
     description
       "Augment the generic network node with Open ROADM attributes.";
-    leaf node-type {
-      type nt:openroadm-node-type;
-      must "(../node-type = 'ROADM' or ../node-type = 'XPONDER' or ../node-type = 'EXT-PLUGGABLE')" {
-        error-message "Invalid node type for openroadm-network";
-      }
-      status deprecated;
-      description
-        "A component of the network topology.
-         Valid node types are XPONDER, EXT-PLUGGABLE and ROADM.
-         Once the node-type is configured, it should not be modified.";
-    }
     leaf software-version {
       type string;
       description
@@ -179,10 +193,6 @@ module org-openroadm-network {
     leaf shelf {
       type string;
     }
-    leaf node-status {
-      type nt:openroadm-node-status;
-      status deprecated;
-    }
     leaf node-connection-status {
       type nt:openroadm-node-connection-status;
     }
similarity index 57%
rename from ordmodels/network/src/main/yang/org-openroadm-otn-network-topology@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-otn-network-topology@2020-05-29.yang
index 756f4df7f4a17e8cb6fab322469375fcbc587862..28bbfa1bffd729b2c029ed69c952e1ec0aa44fe4 100644 (file)
@@ -13,23 +13,19 @@ module org-openroadm-otn-network-topology {
   }
   import org-openroadm-network-types {
     prefix org-openroadm-network-types;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
   import org-openroadm-network-topology-types {
     prefix org-openroadm-network-topology-types;
-    revision-date 2018-11-30;
+    revision-date 2020-03-27;
   }
   import org-openroadm-xponder {
     prefix xpdr;
-    revision-date 2018-11-30;
-  }
-  import org-openroadm-common-state-types {
-    prefix org-openroadm-common-state-types;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
   import org-openroadm-common-network {
     prefix cnet;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
 
   organization
@@ -65,6 +61,30 @@ module org-openroadm-otn-network-topology {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2020-05-29 {
+    description
+      "Version 7.1.0";
+  }
+  revision 2020-03-27 {
+    description
+      "Version 7.0.0";
+  }
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
+  revision 2019-09-27 {
+    description
+      "Version 6.0.0";
+  }
+  revision 2019-05-31 {
+    description
+      "Version 5.1.0";
+  }
+  revision 2019-03-29 {
+    description
+      "Version 5.0.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
@@ -92,42 +112,42 @@ module org-openroadm-otn-network-topology {
 
   deviation "/nd:networks/nd:network/nd:node/cnet:node-type" {
     deviate add {
-      must
-        "(not /nd:network/nd:network-types/cnet:openroadm-common-network/otn-topology) or
-         (/nd:network/nd:network-types/cnet:openroadm-common-network/otn-topology and
-         (../cnet:node-type = 'SWITCH' or ../cnet:node-type = 'MUXPDR' or ../cnet:node-type = 'TPDR' or
-          ../cnet:node-type = 'REGEN' or ../cnet:node-type = 'REGEN-UNI'))" {
-        error-message "Invalid node type for otn-topology";
-        description
-          "The type of a node in the OTN topology. Valid node types are 'MUXPDR', 'TPDR' and 'SWITCH'";
+      must "(not /nd:network/nd:network-types/cnet:openroadm-common-network/otn-topology) or
+            (/nd:network/nd:network-types/cnet:openroadm-common-network/otn-topology and
+            (../cnet:node-type = 'SWITCH' or ../cnet:node-type = 'MUXPDR' or ../cnet:node-type = 'TPDR' or
+             ../cnet:node-type = 'REGEN' or ../cnet:node-type = 'REGEN-UNI'))" {
+          error-message "Invalid node type for otn-topology";
+          description
+            "The type of a node in the OTN topology";
       }
     }
   }
+
   deviation "/nd:networks/nd:network/nd:node/nwt:termination-point/cnet:tp-type" {
     description
       "Defines which TP types can be instantiated on which Node types";
     deviate add {
-      must
-        "(/nd:network/nd:node/cnet:node-type != 'MUXPDR' and ../../cnet:node-type != 'SWITCH' and ../../cnet:node-type != 'TPDR'
-         and ../cnet:node-type != 'REGEN' and ../cnet:node-type != 'REGEN-UNI') or
-         ((../../cnet:node-type = 'MUXPDR' or ../../cnet:node-type = 'SWITCH' or ../../cnet:node-type = 'TPDR' or
-         ../cnet:node-type = 'REGEN' or ../cnet:node-type = 'REGEN-UNI') and
-         (../cnet:tp-type = 'XPONDER-NETWORK' or ../cnet:tp-type = 'XPONDER-CLIENT' or ../cnet:tp-type = 'XPONDER-PORT'))" {
-        error-message "Invalid TP for node type Xponder";
+      must "(/nd:network/nd:node/cnet:node-type != 'MUXPDR' and ../../cnet:node-type != 'SWITCH' and ../../cnet:node-type != 'TPDR'
+            and ../cnet:node-type != 'REGEN' and ../cnet:node-type != 'REGEN-UNI') or
+            ((../../cnet:node-type = 'MUXPDR' or ../../cnet:node-type = 'SWITCH' or ../../cnet:node-type = 'TPDR' or
+            ../cnet:node-type = 'REGEN' or ../cnet:node-type = 'REGEN-UNI') and
+            (../cnet:tp-type = 'XPONDER-NETWORK' or ../cnet:tp-type = 'XPONDER-CLIENT' or ../cnet:tp-type = 'XPONDER-PORT'))" {
+          error-message "Invalid TP for node type Xponder";
       }
     }
   }
+
   deviation "/nd:networks/nd:network/nwt:link/cnet:link-type" {
     deviate add {
-      must
-        "(not /nd:network/nd:network-types/cnet:openroadm-common-network/otn-topology) or
-         (/nd:network/nd:network-types/cnet:openroadm-common-network/otn-topology and ../cnet:link-type = 'OTN-LINK')" {
-        error-message "Invalid link type for otn-topology";
-        description
-          "The valid link type in the OTN topology is 'OTN-LINK'";
+      must "(not /nd:network/nd:network-types/cnet:openroadm-common-network/otn-topology) or
+            (/nd:network/nd:network-types/cnet:openroadm-common-network/otn-topology and ../cnet:link-type = 'OTN-LINK')" {
+          error-message "Invalid link type for otn-topology";
+          description
+            "The valid link type in the OTN topology is 'OTN-LINK'";
       }
     }
   }
+
   augment "/nd:networks/nd:network/nd:network-types/cnet:openroadm-common-network" {
     description
       "Introduce new network type for the Open ROADM OTN network topology";
@@ -135,23 +155,13 @@ module org-openroadm-otn-network-topology {
       presence "indicates OTN topology for Transponder, Muxponder, Switchponder and OTN-switch";
     }
   }
+
   augment "/nd:networks/nd:network/nd:node" {
-    when "../nd:network-types/cnet:openroadm-common-network/otn-topology";
+    when '../nd:network-types/cnet:openroadm-common-network/otn-topo:otn-topology';
     description
       "This augmentations adds the OTN Node type to the generic node
        definition and defines node-specific attributes for each node type
        in the OTN Topology.";
-    leaf node-type {
-      type org-openroadm-network-types:openroadm-node-type;
-      must
-        "(../node-type = 'SWITCH' or ../node-type = 'MUXPDR' or ../node-type = 'TPDR' or
-         ../node-type = 'REGEN' or ../node-type = 'REGEN-UNI')" {
-        error-message "Invalid node type for otn-topology";
-      }
-      status deprecated;
-      description
-        "The type of a node in the OTN topology. Valid node types are 'MUXPDR', 'TPDR' and 'SWITCH'";
-    }
     container tp-bandwidth-sharing {
       when "../cnet:node-type = 'MUXPDR' or ../cnet:node-type = 'SWITCH' or ../cnet:node-type = 'TPDR'";
       uses org-openroadm-network-topology-types:xpdr-tp-bandwidth-sharing;
@@ -163,40 +173,19 @@ module org-openroadm-otn-network-topology {
       uses org-openroadm-network-topology-types:xpdr-odu-switching-pools;
     }
     container xpdr-attributes {
-      when
-        "../cnet:node-type = 'MUXPDR' or ../cnet:node-type = 'SWITCH' or ../cnet:node-type = 'TPDR' or
-         ../cnet:node-type = 'REGEN' or ../cnet:node-type = 'REGEN-UNI'";
+      when "../cnet:node-type = 'MUXPDR' or ../cnet:node-type = 'SWITCH' or ../cnet:node-type = 'TPDR' or
+            ../cnet:node-type = 'REGEN' or ../cnet:node-type = 'REGEN-UNI'";
       description
         "Topology-related attributes for Xponder nodes";
       uses xpdr:xpdr-topo-node-attributes;
     }
   }
+
   augment "/nd:networks/nd:network/nd:node/nwt:termination-point" {
-    when "../../nd:network-types/cnet:openroadm-common-network/otn-topology";
+    when '../../nd:network-types/cnet:openroadm-common-network/otn-topo:otn-topology';
     description
       "Defines the type of a termination point in the OTN topology and
        TP-specific attributes for each termination point type.";
-    leaf tp-type {
-      type org-openroadm-network-types:openroadm-tp-type;
-      must
-        "(../../otn-topo:node-type != 'MUXPDR' and ../../otn-topo:node-type != 'SWITCH' and ../../otn-topo:node-type != 'TPDR'
-         and ../../otn-topo:node-type != 'REGEN' and ../../otn-topo:node-type != 'REGEN-UNI') or
-         ((../../otn-topo:node-type = 'MUXPDR' or ../../otn-topo:node-type = 'SWITCH' or ../../otn-topo:node-type = 'TPDR'
-         or ../../otn-topo:node-type = 'REGEN' or ../../otn-topo:node-type = 'REGEN-UNI') and
-         (../otn-topo:tp-type = 'XPONDER-NETWORK' or ../otn-topo:tp-type = 'XPONDER-CLIENT' or ../otn-topo:tp-type = 'XPONDER-PORT'))" {
-        error-message "Invalid TP for node type Xponder";
-      }
-      status deprecated;
-      description
-        "The TP type; also defines which TP types can be instantiated
-         on which Node types";
-    }
-    leaf eqpt-srg-id {
-      type uint32;
-      status deprecated;
-      description
-        "Shared Risk Group identifier. All ports in a circuit-pack will have same srg-id";
-    }
     container tp-supported-interfaces {
       when "../cnet:tp-type = 'XPONDER-NETWORK' or ../cnet:tp-type = 'XPONDER-CLIENT' or ../cnet:tp-type = 'XPONDER-PORT'";
       description
@@ -210,33 +199,14 @@ module org-openroadm-otn-network-topology {
       uses xpdr:xpdr-otn-tp-attributes;
       uses xpdr:xpdr-port-connection-attributes;
       uses org-openroadm-network-topology-types:xpdr-otn-tail-attributes;
+      uses xpdr:supported-client-services;
     }
   }
+
   augment "/nd:networks/nd:network/nwt:link" {
-    when "../nd:network-types/cnet:openroadm-common-network/otn-topology";
+    when '../nd:network-types/cnet:openroadm-common-network/otn-topo:otn-topology';
     description
       "This augmentation defines Logical link types in the OTN topology connecting OTN elements";
-    leaf link-type {
-      type org-openroadm-network-types:openroadm-link-type;
-      must "(../link-type = 'OTN-LINK')" {
-        error-message "Invalid link type for otn-topology";
-      }
-      status deprecated;
-    }
-    leaf administrative-group {
-      type uint32;
-      status deprecated;
-      description
-        "according to RFC 3630 definition";
-    }
-    leaf operational-state {
-      type org-openroadm-common-state-types:state;
-      status deprecated;
-    }
-    leaf administrative-state {
-      type org-openroadm-common-state-types:state;
-      status deprecated;
-    }
     leaf available-bandwidth {
       type uint32;
       description
similarity index 97%
rename from ordmodels/network/src/main/yang/org-openroadm-roadm@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-roadm@2019-11-29.yang
index 35c55443882def2ca93237781668441440b301b1..801a690911a75be863a2203cb4755d1d83af761d 100644 (file)
@@ -36,6 +36,10 @@ module org-openroadm-roadm {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
similarity index 85%
rename from ordmodels/network/src/main/yang/org-openroadm-srg@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-srg@2020-05-29.yang
index 323a5b8c5efdcc19af3a49418d64c45181512f0e..ef47ba856711011d3f370bc132f949cc3df8e642 100644 (file)
@@ -3,13 +3,9 @@ module org-openroadm-srg {
   namespace "http://org/openroadm/srg";
   prefix srg;
 
-  import org-openroadm-network-types {
-    prefix org-openroadm-network-types;
-    revision-date 2018-11-30;
-  }
   import org-openroadm-common-optical-channel-types {
     prefix org-openroadm-common-optical-channel-types;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
 
   organization
@@ -45,6 +41,26 @@ module org-openroadm-srg {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2020-05-29 {
+    description
+      "Version 7.1.0";
+  }
+  revision 2020-03-27 {
+    description
+      "Version 7.0.0";
+  }
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
+  revision 2019-09-27 {
+    description
+      "Version 6.0.0";
+  }
+  revision 2019-03-29 {
+    description
+      "Version 5.0.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
@@ -96,14 +112,6 @@ module org-openroadm-srg {
       description
         "current provisioned number of port pair in a given SRG";
     }
-    list available-wavelengths {
-      key "index";
-      description
-        "This list is created to accommodate fix grid (1.2.1) as well as flex grid (2.0 above). In case of fixed grid
-         index number will refer to one of the 96 WL defined in the wavelength map file. In case of flex grid this
-         will hold list of available spectra";
-      uses org-openroadm-network-types:wavelengths;
-    }
     leaf wavelength-duplication {
       type org-openroadm-common-optical-channel-types:wavelength-duplication-type;
     }
similarity index 56%
rename from ordmodels/network/src/main/yang/org-openroadm-xponder@2018-11-30.yang
rename to ordmodels/network/src/main/yang/org-openroadm-xponder@2020-05-29.yang
index 124221e1dc0ec3d3a1a012c9c1826d7292129d1b..27341902e3da873b78aff80190a6c1ff6146be4f 100644 (file)
@@ -5,23 +5,27 @@ module org-openroadm-xponder {
 
   import org-openroadm-network-types {
     prefix org-openroadm-network-types;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
   import org-openroadm-common-equipment-types {
     prefix org-openroadm-common-equipment-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
   import org-openroadm-common-state-types {
     prefix org-openroadm-common-state-types;
-    revision-date 2018-11-30;
+    revision-date 2019-11-29;
   }
   import org-openroadm-common-optical-channel-types {
     prefix org-openroadm-common-optical-channel-types;
-    revision-date 2018-11-30;
+    revision-date 2020-05-29;
   }
   import org-openroadm-otn-common-types {
     prefix org-openroadm-otn-common-types;
-    revision-date 2018-11-30;
+    revision-date 2020-03-27;
+  }
+  import org-openroadm-service-format {
+    prefix org-openroadm-service-format;
+    revision-date 2019-11-29;
   }
 
   organization
@@ -57,6 +61,30 @@ module org-openroadm-xponder {
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGE.";
 
+  revision 2020-05-29 {
+    description
+      "Version 7.1.0";
+  }
+  revision 2020-03-27 {
+    description
+      "Version 7.0.0";
+  }
+  revision 2019-11-29 {
+    description
+      "Version 6.1.0";
+  }
+  revision 2019-09-27 {
+    description
+      "Version 6.0.0";
+  }
+  revision 2019-05-31 {
+    description
+      "Version 5.1.0";
+  }
+  revision 2019-03-29 {
+    description
+      "Version 5.0.0";
+  }
   revision 2018-11-30 {
     description
       "Version 4.1.0";
@@ -114,7 +142,7 @@ module org-openroadm-xponder {
     }
     leaf rate {
       type identityref {
-        base org-openroadm-common-optical-channel-types:och-rate-identity;
+        base org-openroadm-common-optical-channel-types:optical-rate-identity;
       }
       description
         "rate";
@@ -139,9 +167,15 @@ module org-openroadm-xponder {
     }
     leaf tail-equipment {
       type string;
+      description
+        "Type of equipment connected to the tail
+         for example packet box";
     }
     leaf tail-equipment-id {
       type string;
+      description
+        "Identifier of equipment connected to the
+         tail for example client equipement ID";
     }
     leaf tail-clfi {
       type string;
@@ -178,4 +212,83 @@ module org-openroadm-xponder {
         "List of available Tributary Slots used by port";
     }
   }
+
+  grouping xpdr-mode-attributes {
+    container supported-operational-modes {
+      list operational-mode {
+        key "mode-id";
+        description
+          "list of supported operational modes";
+        leaf mode-id {
+          type string;
+          description
+            "Optical profile operational mode identifier";
+        }
+        leaf spectral-width {
+          type org-openroadm-common-optical-channel-types:frequency-GHz;
+          units "GHz";
+          description
+            "The required minimum signal spectral width of signal at -22 dbm.";
+        }
+      }
+    }
+    leaf operational-mode {
+      type string;
+      config true;
+      description
+        "The provisioned operational-mode of the equipment.";
+    }
+  }
+
+  grouping supported-client-services {
+    container supported-client-services {
+      list supported-client-service {
+        key "service-format";
+        description
+          "Supported Client Services";
+        leaf service-format {
+          type org-openroadm-service-format:service-format;
+          description
+            "Format of the requested service: Ethernet, OTU, etc.";
+        }
+        leaf-list service-rate {
+          type uint32;
+          description
+            "Rate of the requested service in GBps. Not used when service-format=other.";
+        }
+        leaf-list other-service-format-and-rate {
+          type string;
+          description
+            "Used when service-format is set to other in the bookend xponder use case.
+             The use of other-service-format-and-rate is not standardized in the Open ROADM MSA
+             and intended to allow the controller to support non-Open ROADM service formats.
+             This value encodes both the service format and the rate supported.
+             This field should not be specified when service format != other.";
+        }
+      }
+    }
+    uses provisioned-client-service;
+  }
+
+  grouping provisioned-client-service {
+    leaf service-format {
+      type org-openroadm-service-format:service-format;
+      description
+        "Format of the provisioned service: Ethernet, OTU, etc.";
+    }
+    leaf service-rate {
+      type uint32;
+      description
+        "Provisioned rate of the requested service in GBps. Not used when service-format=other.";
+    }
+    leaf other-service-format-and-rate {
+      type string;
+      description
+        "Used when service-format is set to other in the bookend xponder use case.
+         The use of other-service-format-and-rate is not standardized in the Open ROADM MSA
+         and intended to allow the controller to support non-Open ROADM service formats.
+         This value encodes the provisioned service format and the rate supported.
+         This field should not be specified when service format != other.";
+    }
+  }
 }
similarity index 93%
rename from ordmodels/network/src/main/yang/transportpce-topology@2020-01-29.yang
rename to ordmodels/network/src/main/yang/transportpce-topology@2020-10-19.yang
index 20cf3b6b21845ca645d55e14704f5d5dccf54bcf..45a68bdb56b34067726fcfd5fac15421e6dc21f1 100644 (file)
@@ -13,7 +13,7 @@ module transportpce-topology {
       }
     import org-openroadm-common-network {
         prefix cnet;
-        revision-date 2018-11-30;
+        revision-date 2020-05-29;
       }
 
     organization
@@ -21,6 +21,9 @@ module transportpce-topology {
     contact
         "TransportPCE team";
 
+    revision 2020-10-19 {
+        description "Update to 7.1.0 Openroadm network and common models";
+    }
     revision 2020-01-29 {
         description "Add transportpce augmentation to manage otn-link-type in otn-topology";
     }
index 39b31a8d84181b2f90209af64b41753feebc7b86..f3076bb94548a308a512f99d8d189767dcdc3785 100644 (file)
@@ -44,15 +44,15 @@ import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev181214.topo.El
 import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev181214.topo.ElementsKey;
 import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev181214.topo.elements.Metadata;
 import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev181214.topo.elements.MetadataBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.SpanAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.amplified.link.section.element.section.element.Span;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.amplified.link.section.element.section.element.ila.Ila;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenation;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.rev181130.Node1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.OMSAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.SpanAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.amplified.link.section.element.section.element.Span;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.amplified.link.section.element.section.element.ila.Ila;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenation;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.rev200529.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.OMSAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
@@ -186,13 +186,13 @@ public class GnpyTopoImpl {
                 // Retrieve the mapping between the openRoadm topology and openRoadm network
                 mapDisgNodeRefNode.put(openRoadmTopoNode.getNodeId().getValue(), nodeRef);
                 Node1 openRoadmNetNode1 = null;
-                org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                     .Node1 commonNetworkNode1 = null;
                 for (Node openRoadmNetNode : openRoadmNetNodeList) {
                     if (openRoadmNetNode.getNodeId().getValue().equals(nodeRef)) {
                         openRoadmNetNode1 = openRoadmNetNode.augmentation(Node1.class);
                         commonNetworkNode1 = openRoadmNetNode.augmentation(org.opendaylight.yang.gen.v1
-                            .http.org.openroadm.common.network.rev181130.Node1.class);
+                            .http.org.openroadm.common.network.rev200529.Node1.class);
                         ipAddress = openRoadmNetNode1.getIp();
                         if (ipAddress == null) {
                             throw new GnpyException(String.format(
@@ -245,9 +245,9 @@ public class GnpyTopoImpl {
 
         for (Link link : linksList) {
             Link1 link1 = link.augmentation(Link1.class);
-            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
-                .Link1 openroadmNetworkLink1 = link.augmentation(org.opendaylight.yang.gen.v1.http.org
-                .openroadm.network.topology.rev181130.Link1.class);
+            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529
+                .Link1 openroadmNetworkLink1 = link.augmentation(org.opendaylight.yang.gen.v1.http
+                        .org.openroadm.network.topology.rev200529.Link1.class);
             if (link1.getLinkType() == null) {
                 throw new GnpyException("In gnpyTopoImpl: the link type is null");
             }
index c915a2772d15ce48cde8f57940148abe5f314d7a..2e580f35fb982de7f8a2e50b05df514ce47d8ce3 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.transportpce.pce.graph;
 
 import org.jgrapht.GraphPath;
 import org.jgrapht.alg.shortestpath.PathValidator;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
index 7c111940cc2c1af453712b21c622c2cbf960d434..22ded83c726bd78a36bcf845e08a4f45b7fe1eae 100644 (file)
@@ -20,7 +20,7 @@ import org.opendaylight.transportpce.pce.constraints.PceConstraints;
 import org.opendaylight.transportpce.pce.constraints.PceConstraints.ResourcePair;
 import org.opendaylight.transportpce.pce.networkanalyzer.PceNode;
 import org.opendaylight.transportpce.pce.networkanalyzer.PceResult;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
 import org.opendaylight.yangtools.yang.common.Uint16;
 import org.slf4j.Logger;
index cd3fe88e1a3ffeadb7533b01631cbec8b71fc8c6..e2742fd837e032e5f175493055f9a69215c24bf7 100644 (file)
@@ -16,11 +16,11 @@ import java.util.SortedMap;
 import java.util.TreeMap;
 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;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationKey;
-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.http.org.openroadm.common.network.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenation;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.Span;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.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;
@@ -103,14 +103,14 @@ public final class MapUtils {
     }
 
     public static List<Long> getSRLGfromLink(Link link) {
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1 linkC = link
-                .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class);
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1 linkC = link
+                .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1.class);
         if (linkC == null) {
             LOG.error(MAP_UTILS_NO_LINK_AUGMENTATION_AVAILABLE_MSG, link.getLinkId().getValue());
             return new ArrayList<>();
         }
         List<Long> srlgList = new ArrayList<>();
-        for (org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+        for (org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                 .networks.network.link.LinkConcatenation lc : linkC.nonnullLinkConcatenation().values()) {
             if (lc != null && lc.getSRLGId() != null) {
                 srlgList.add(lc.getSRLGId().toJava());
@@ -162,11 +162,11 @@ public final class MapUtils {
 
 
     public static Long getAvailableBandwidth(Link link) {
-        if (link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+        if (link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
             .Link1.class) != null
-            && link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+            && link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                 .Link1.class).getAvailableBandwidth() != null) {
-            return link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+            return link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                 .Link1.class).getAvailableBandwidth().toJava();
         } else {
             LOG.warn("MapUtils: no Available Bandwidth available for link {}", link.getLinkId());
@@ -175,11 +175,11 @@ public final class MapUtils {
     }
 
     public static Long getUsedBandwidth(Link link) {
-        if (link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+        if (link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
             .Link1.class) != null
-            && link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+            && link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                 .Link1.class).getUsedBandwidth() != null) {
-            return link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+            return link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                 .Link1.class).getUsedBandwidth().toJava();
         } else {
             LOG.warn("MapUtils: no Available Bandwidth available for link {}", link.getLinkId());
@@ -207,9 +207,9 @@ public final class MapUtils {
     }
 
     public static Span getOmsAttributesSpan(Link link) {
-        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1 link1 = null;
+        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1 link1 = null;
         link1 =
-            link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1.class);
+            link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1.class);
 
         if (link1 == null) {
             LOG.error(MAP_UTILS_NO_LINK_AUGMENTATION_AVAILABLE_MSG, link.getLinkId().getValue());
@@ -224,8 +224,8 @@ public final class MapUtils {
 
     public static LinkId extractOppositeLink(Link link) {
         LinkId tmpoppositeLink = null;
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1 linkOpposite
-            = link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class);
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1 linkOpposite
+            = link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1.class);
         tmpoppositeLink = linkOpposite.getOppositeLink();
         LOG.debug("PceLink: reading oppositeLink.  {}", linkOpposite);
         if (tmpoppositeLink == null) {
index e880d02b441e9e2cf61ffa77aec0fc9320d61ae7..fa5a3fd7edd250134859fb21b0a02909b998303b 100644 (file)
@@ -23,9 +23,9 @@ import org.opendaylight.transportpce.common.ResponseCodes;
 import org.opendaylight.transportpce.common.network.NetworkTransactionService;
 import org.opendaylight.transportpce.pce.constraints.PceConstraints;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1;
-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.common.network.rev200529.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.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;
index a38682dec36aa124ea4c6a6ea1dbf28374f15b75..a752e41303eae0a5b6a2620353b95bfee5ba7f54 100644 (file)
@@ -16,13 +16,13 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-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;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenation.FiberType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationKey;
-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.http.transportpce.topology.rev200129.OtnLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenation;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenation.FiberType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.Span;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.OtnLinkType;
 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.topology.rev180226.LinkId;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link;
@@ -304,7 +304,7 @@ public class PceLink implements Serializable {
         }
 
         OtnLinkType otnLinkType = link
-            .augmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1.class)
+            .augmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.Link1.class)
             .getOtnLinkType();
         if (this.availableBandwidth == 0L) {
             LOG.error("PceLink: No bandwidth available for OTN Link, link {}  is ignored ", linkId);
index 80574e4cf62170024cf0460107f03c77fe3bf1e7..59732b95613b38da187e9e1afb8b9093dd37d08c 100644 (file)
@@ -14,12 +14,15 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.TreeMap;
+import org.opendaylight.transportpce.common.fixedflex.FixedGridConstant;
+import org.opendaylight.transportpce.common.fixedflex.GridConstant;
 import org.opendaylight.transportpce.pce.SortPortsByName;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1;
-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.networks.network.node.termination.point.pp.attributes.UsedWavelength;
-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.common.network.rev200529.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.pp.attributes.UsedWavelength;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMapsKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
 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;
@@ -45,6 +48,7 @@ public class PceOpticalNode implements PceNode {
     private List<String> usedXpndrNWTps = new ArrayList<>();
     private List<PceLink> outgoingLinks = new ArrayList<>();
     private Map<String, String> clientPerNwTp = new HashMap<>();
+    private final AvailFreqMapsKey freqMapKey = new AvailFreqMapsKey(GridConstant.C_BAND);
 
     public PceOpticalNode(Node node, OpenroadmNodeType nodeType, NodeId nodeId, ServiceFormat serviceFormat,
         String pceNodeType) {
@@ -80,8 +84,8 @@ public class PceOpticalNode implements PceNode {
         for (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network
             .node.TerminationPoint tp : allTps) {
             TerminationPoint1 cntp1 = tp.augmentation(TerminationPoint1.class);
-            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1 nttp1 = tp
-                .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
+            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1 nttp1 = tp
+                .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529
                 .TerminationPoint1.class);
             OpenroadmTpType type = cntp1.getTpType();
             LOG.info("type = {} for tp {}", type.getName(), tp);
@@ -134,40 +138,30 @@ public class PceOpticalNode implements PceNode {
             return;
         }
         Node1 node1 = this.node.augmentation(Node1.class);
+        byte[] freqMap;
+
         switch (this.nodeType) {
             case SRG :
-                List<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                    .AvailableWavelengths> srgAvailableWL =
-                        new ArrayList<>(node1.getSrgAttributes().nonnullAvailableWavelengths().values());
-                if (srgAvailableWL.isEmpty()) {
+                if (!node1.getSrgAttributes().nonnullAvailFreqMaps().containsKey(freqMapKey)) {
+                    LOG.error("initWLlist: SRG no cband available freq maps for node  {}", this);
                     this.valid = false;
-                    LOG.error("initWLlist: SRG AvailableWavelengths is empty for node  {}", this);
                     return;
                 }
-                for (org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                        .AvailableWavelengths awl : srgAvailableWL) {
-                    this.availableWLindex.add(awl.getIndex().toJava());
-                    LOG.debug("initWLlist: SRG next = {} in {}", awl.getIndex(), this);
-                }
+                freqMap = node1.getSrgAttributes().nonnullAvailFreqMaps().get(freqMapKey).getFreqMap();
+                updateAvailableWlIndex(freqMap);
                 break;
             case DEGREE :
-                List<org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes
-                        .AvailableWavelengths> degAvailableWL =
-                    new ArrayList<>(node1.getDegreeAttributes().nonnullAvailableWavelengths().values());
-                if (degAvailableWL.isEmpty()) {
+                if (!node1.getDegreeAttributes().nonnullAvailFreqMaps().containsKey(freqMapKey)) {
+                    LOG.error("initWLlist: DEG no cband available freq maps for node  {}", this);
                     this.valid = false;
-                    LOG.error("initWLlist: DEG AvailableWavelengths is empty for node  {}", this);
                     return;
                 }
-                for (org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes
-                            .AvailableWavelengths awl : degAvailableWL) {
-                    this.availableWLindex.add(awl.getIndex().toJava());
-                    LOG.debug("initWLlist: DEGREE next = {} in {}", awl.getIndex(), this);
-                }
+                freqMap = node1.getDegreeAttributes().nonnullAvailFreqMaps().get(freqMapKey).getFreqMap();
+                updateAvailableWlIndex(freqMap);
                 break;
             case XPONDER :
                 // HARD CODED 96
-                for (long i = 1; i <= 96; i++) {
+                for (long i = 1; i <= FixedGridConstant.NB_CHANNELS; i++) {
                     this.availableWLindex.add(i);
                 }
                 break;
@@ -201,8 +195,8 @@ public class PceOpticalNode implements PceNode {
         for (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network
             .node.TerminationPoint tp : allTps) {
             TerminationPoint1 cntp1 = tp.augmentation(TerminationPoint1.class);
-            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1 nttp1 = tp
-                .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
+            org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1 nttp1 = tp
+                .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529
                 .TerminationPoint1.class);
             if (cntp1.getTpType() == OpenroadmTpType.XPONDERNETWORK) {
                 if (nttp1 != null && nttp1.getXpdrNetworkAttributes().getWavelength() != null) {
@@ -213,8 +207,8 @@ public class PceOpticalNode implements PceNode {
                 }
                 // find Client of this network TP
                 String client;
-                org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1 tpceTp1 =
-                    tp.augmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129
+                org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.TerminationPoint1 tpceTp1 =
+                    tp.augmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019
                         .TerminationPoint1.class);
                 if (tpceTp1 != null) {
                     client = tpceTp1.getAssociatedConnectionMapPort();
@@ -370,4 +364,24 @@ public class PceOpticalNode implements PceNode {
     public Map<String, List<Uint16>> getAvailableTribSlots() {
         return null;
     }
+
+    /**
+     * Get available wave length from frequency map array.
+     * @param freqMap byte[]
+     */
+    private void updateAvailableWlIndex(byte[] freqMap) {
+        if (freqMap == null) {
+            LOG.warn("No frequency map for node {}", node);
+            this.valid = false;
+            return;
+        }
+        long wlIndex = 1;
+        for (int i = 0; i < freqMap.length; i++) {
+            if (freqMap[i] == (byte)GridConstant.AVAILABLE_SLOT_VALUE) {
+                LOG.debug("Adding channel {} to available wave length index",wlIndex);
+                this.availableWLindex.add(wlIndex);
+            }
+            wlIndex++;
+        }
+    }
 }
index ec1043fc123a27887a32f41bd14d97381f53fe30..0d5bb481a69d4b1698a7c243f16a139a3a9b45e8 100644 (file)
@@ -16,19 +16,19 @@ import java.util.Map;
 import java.util.TreeMap;
 import java.util.stream.Collectors;
 import org.eclipse.jdt.annotation.Nullable;
-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.odu.switching.pools.NonBlockingList;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmTpType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.ODTU4TsAllocated;
-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.TerminationPoint1;
-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.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.If1GEODU0;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.IfOCHOTU4ODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.OduSwitchingPools;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.ODTU4TsAllocated;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.SwitchingPools;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GEODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2e;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If1GEODU0;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCHOTU4ODU4;
 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.topology.rev180226.TpId;
@@ -110,8 +110,8 @@ public class PceOtnNode implements PceNode {
 
         for (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network
                 .node.TerminationPoint tp : allTps) {
-            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.@Nullable TerminationPoint1 ocnTp1
-                = tp.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.@Nullable TerminationPoint1 ocnTp1
+                = tp.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                 .TerminationPoint1.class);
             //TODO many nested if-structures below, this needs to be reworked
             if (OpenroadmTpType.XPONDERNETWORK.equals(ocnTp1.getTpType()) && this.otnServiceType.equals("ODU4")) {
@@ -302,9 +302,9 @@ public class PceOtnNode implements PceNode {
         if (this.nodeType != OpenroadmNodeType.TPDR) {
             return true;
         }
-        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1 node1 =
+        org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Node1 node1 =
             node.augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1.class);
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Node1.class);
         SwitchingPools sp = node1.getSwitchingPools();
         List<OduSwitchingPools> osp = new ArrayList<>(sp.nonnullOduSwitchingPools().values());
         for (OduSwitchingPools ospx : osp) {
@@ -347,7 +347,7 @@ public class PceOtnNode implements PceNode {
             .getTerminationPoint().values().stream()
             .filter(type -> type
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1.class)
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1.class)
                 .getTpType().equals(OpenroadmTpType.XPONDERNETWORK))
             .collect(Collectors.toList());
 
@@ -371,7 +371,7 @@ public class PceOtnNode implements PceNode {
             .getTerminationPoint().values().stream()
             .filter(type -> type
                 .augmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1.class)
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1.class)
                 .getTpType().equals(OpenroadmTpType.XPONDERNETWORK))
             .collect(Collectors.toList());
 
index f3fc3b0be50d913ddccde8cb2ace3aa7d0b9ff74..c22a068f8e4dc3b82f5398844dabb30ca88cacfb 100644 (file)
@@ -24,7 +24,7 @@ import org.opendaylight.transportpce.pce.networkanalyzer.PceResult;
 import org.opendaylight.transportpce.pce.utils.NodeUtils;
 import org.opendaylight.transportpce.pce.utils.PceTestData;
 import org.opendaylight.transportpce.test.AbstractTest;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
 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;
index 097644acd7f78b47196e2fbb9172defa2ee14287..66eaa45fd128416f911a1c31fe59611a676a5193 100644 (file)
@@ -14,7 +14,7 @@ import org.junit.Test;
 import org.opendaylight.transportpce.pce.networkanalyzer.PceLink;
 import org.opendaylight.transportpce.pce.networkanalyzer.PceOpticalNode;
 import org.opendaylight.transportpce.pce.utils.NodeUtils;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
 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;
index 3776e404f7c2eb595b2c8b54a66fc190c709872a..ad23a1f8d36fcdfbe4ba614997213fd0a57cb331 100644 (file)
@@ -22,8 +22,8 @@ import org.opendaylight.transportpce.pce.networkanalyzer.PceResult;
 import org.opendaylight.transportpce.pce.utils.NodeUtils;
 import org.opendaylight.transportpce.pce.utils.PceTestData;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInput;
-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.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.RoutingConstraintsSp;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
index 5f9145f3b7e16a4488c0511a0fbd49de4b7ec351..db7ce0f65cb5b06ecc0f9b00e744a0b6271123d2 100644 (file)
@@ -16,16 +16,16 @@ import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.transportpce.test.AbstractTest;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.RatioDB;
-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.TerminationPoint1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenation;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.OMSAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.SpanBuilder;
-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;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.RatioDB;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenation;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.OMSAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.SpanBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
 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;
@@ -194,7 +194,6 @@ public class PceLinkTest extends AbstractTest {
                         .setDestTp(destTp);
         LinkId linkId = new LinkId(String.format(LINK_ID_FORMAT, srcNode, srcTp, destNode, destTp));
 
-        LinkId oppositeLinkId = new LinkId("opposite");
         //For setting up attributes for openRoadm augment
         LinkConcatenation linkConcatenation = new LinkConcatenationBuilder()
                 .setSRLGLength(Uint32.valueOf(20))
@@ -206,7 +205,7 @@ public class PceLinkTest extends AbstractTest {
                                 .setSpanlossCurrent(new RatioDB(new BigDecimal("55")))
                                 .setLinkConcatenation(Map.of(linkConcatenation.key(),
                                         linkConcatenation
-                                )).build()).setOppositeLink(oppositeLinkId);
+                                )).build());
 
 
         LinkBuilder linkBuilder = new LinkBuilder()
@@ -217,8 +216,8 @@ public class PceLinkTest extends AbstractTest {
 
         linkBuilder.addAugmentation(link1Builder.build());
 
-        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1Builder linkBuilderNetworkLink
-                = new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1Builder()
+        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder linkBuilderNetworkLink
+                = new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder()
                 .setOMSAttributes(omsAttributesBuilder
                         .build());
 
index aa4baad564880b26a018ebb2655bf3b721add0e4..7a7dc1732afad3da4a1670e6a7b0c34eb37894ce 100644 (file)
@@ -8,31 +8,38 @@
 
 package org.opendaylight.transportpce.pce.networkanalyzer;
 
+import java.math.BigDecimal;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.transportpce.common.NetworkUtils;
-import org.opendaylight.transportpce.pce.utils.TransactionUtils;
+import org.opendaylight.transportpce.common.fixedflex.FixedGridConstant;
+import org.opendaylight.transportpce.common.fixedflex.GridConstant;
+import org.opendaylight.transportpce.common.fixedflex.GridUtils;
 import org.opendaylight.transportpce.test.AbstractTest;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder;
-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.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.CpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.PpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.RxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.TxTtpAttributesBuilder;
-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.topology.rev181130.networks.network.node.termination.point.XpdrPortAttributesBuilder;
-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.common.network.rev200529.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyGHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyTHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.PpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.RxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.TxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrClientAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrPortAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMaps;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMapsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMapsKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
 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;
@@ -46,7 +53,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.top
 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.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.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.common.Uint16;
 
 public class PceOpticalNodeTest extends AbstractTest {
 
@@ -215,7 +222,7 @@ public class PceOpticalNodeTest extends AbstractTest {
         TerminationPointBuilder xpdrTpBldr = getTerminationPointBuilder();
         xpdrTpBldr.addAugmentation(tp1Bldr.build());
         xpdrTpBldr.addAugmentation(createAnotherTerminationPoint().build());
-        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 node1 = getNode1();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 node1 = getNode1();
         TerminationPoint xpdr = xpdrTpBldr.build();
         org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 node1Rev180226 =
                 new Node1Builder()
@@ -239,7 +246,7 @@ public class PceOpticalNodeTest extends AbstractTest {
         xpdrTpBldr.addAugmentation(tp1Bldr.build());
         xpdrTpBldr.addAugmentation(createAnotherTerminationPoint().build());
 
-        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 node1 = getNode1Empty();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 node1 = getNode1Empty();
         TerminationPoint xpdr = xpdrTpBldr.build();
         org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 node1Rev180226 =
                 new Node1Builder()
@@ -256,40 +263,50 @@ public class PceOpticalNodeTest extends AbstractTest {
     }
 
     private org.opendaylight
-            .yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 getNode1() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder()
+            .yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 getNode1() {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder()
                 .setSrgAttributes(getSrgAttributes())
                 .setDegreeAttributes(getDegAttributes())
                 .build();
     }
 
     private org.opendaylight
-            .yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 getNode1Empty() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder()
+            .yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 getNode1Empty() {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder()
                 .setSrgAttributes(getEmptySrgAttributes())
                 .setDegreeAttributes(getEmptyDegAttributes())
                 .build();
     }
 
     private DegreeAttributes getDegAttributes() {
-        AvailableWavelengths aval = new AvailableWavelengthsBuilder().setIndex(Uint32.valueOf(20)).build();
-        return (new DegreeAttributesBuilder())
-                .setAvailableWavelengths(Map.of(aval.key(),aval))
+        byte[] byteArray = new byte[FixedGridConstant.NB_CHANNELS];
+        Arrays.fill(byteArray, (byte) GridConstant.USED_SLOT_VALUE);
+        byteArray[7] = (byte) GridConstant.AVAILABLE_SLOT_VALUE;
+        Map<AvailFreqMapsKey, AvailFreqMaps> waveMap = new HashMap<>();
+        AvailFreqMaps availFreqMaps = new AvailFreqMapsBuilder().setMapName(GridConstant.C_BAND)
+                .setFreqMapGranularity(new FrequencyGHz(BigDecimal.valueOf(FixedGridConstant.GRANULARITY)))
+                .setStartEdgeFreq(new FrequencyTHz(BigDecimal.valueOf(FixedGridConstant.START_EDGE_FREQUENCY)))
+                .setEffectiveBits(Uint16.valueOf(FixedGridConstant.EFFECTIVE_BITS))
+                .setFreqMap(byteArray)
+                .build();
+        waveMap.put(availFreqMaps.key(), availFreqMaps);
+        return new DegreeAttributesBuilder()
+                .setAvailFreqMaps(waveMap)
                 .build();
     }
 
     private SrgAttributes getSrgAttributes() {
-        return new SrgAttributesBuilder().setAvailableWavelengths(TransactionUtils.create96AvalWaveSrg()).build();
+        return new SrgAttributesBuilder().setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available()).build();
     }
 
     private DegreeAttributes getEmptyDegAttributes() {
         return (new DegreeAttributesBuilder())
-                .setAvailableWavelengths(Map.of())
+                .setAvailFreqMaps(Map.of())
                 .build();
     }
 
     private SrgAttributes getEmptySrgAttributes() {
-        return new SrgAttributesBuilder().setAvailableWavelengths(Map.of()).build();
+        return new SrgAttributesBuilder().setAvailFreqMaps(Map.of()).build();
     }
 
     private TerminationPointBuilder getTerminationPointBuilder() {
@@ -303,12 +320,11 @@ public class PceOpticalNodeTest extends AbstractTest {
     }
 
     private org.opendaylight.yang.gen
-            .v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1Builder createAnotherTerminationPoint() {
+            .v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder createAnotherTerminationPoint() {
         return new org.opendaylight
-                .yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1Builder()
-                .setTpType(OpenroadmTpType.XPONDERNETWORK)
-                .setCtpAttributes((new CtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
-                .setCpAttributes((new CpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
+                .yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder()
+                .setCtpAttributes((new CtpAttributesBuilder()).build())
+                .setCpAttributes((new CpAttributesBuilder()).build())
                 .setTxTtpAttributes((new TxTtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
                 .setRxTtpAttributes((new RxTtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
                 .setPpAttributes((new PpAttributesBuilder()).setUsedWavelength(Map.of()).build())
index e7d6d7e47f028b14ef3d646774f0fe3b00846a8e..32db757d1d7e61ea5170fae78186e3deff8213d5 100644 (file)
@@ -15,34 +15,33 @@ import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.opendaylight.transportpce.common.NetworkUtils;
+import org.opendaylight.transportpce.common.fixedflex.GridUtils;
 import org.opendaylight.transportpce.test.AbstractTest;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder;
-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.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.CpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.PpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.RxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.TxTtpAttributesBuilder;
-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.topology.rev181130.networks.network.node.termination.point.XpdrPortAttributesBuilder;
-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.network.types.rev181130.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityKey;
-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.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.If1GEODU0;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.IfOCHOTU4ODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.PpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.RxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.TxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrClientAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrPortAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.TpSupportedInterfaces;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.TpSupportedInterfacesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.XpdrTpPortConnectionAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GEODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2e;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If1GEODU0;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCHOTU4ODU4;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
 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;
@@ -56,7 +55,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.top
 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.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.yangtools.yang.common.Uint32;
 
 
 public class PceOtnNodeTest extends AbstractTest {
@@ -219,7 +217,7 @@ public class PceOtnNodeTest extends AbstractTest {
         xpdrTpBldr.addAugmentation(createAnother2TerminationPoint(openroadmTpType).build());
         xpdrTpBldr.addAugmentation(createAnotherTerminationPoint(openroadmTpType).build());
 
-        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 node1 = getNode1();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 node1 = getNode1();
         TerminationPoint xpdr = xpdrTpBldr.build();
         org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 node1Rev180226 =
                 new Node1Builder()
@@ -250,7 +248,7 @@ public class PceOtnNodeTest extends AbstractTest {
         xpdrTpBldr.addAugmentation(tp1Bldr.build());
         xpdrTpBldr.addAugmentation(createAnotherTerminationPoint(openroadmTpType).build());
 
-        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 node1 = getNode1Empty();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 node1 = getNode1Empty();
         TerminationPoint xpdr = xpdrTpBldr.build();
         org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 node1Rev180226 =
                 new Node1Builder()
@@ -267,42 +265,39 @@ public class PceOtnNodeTest extends AbstractTest {
     }
 
     private org.opendaylight
-            .yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 getNode1() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder()
+            .yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 getNode1() {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder()
                 .setSrgAttributes(getSrgAttributes())
                 .setDegreeAttributes(getDegAttributes())
                 .build();
     }
 
     private org.opendaylight
-            .yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 getNode1Empty() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder()
+            .yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 getNode1Empty() {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder()
                 .setSrgAttributes(getEmptySrgAttributes())
                 .setDegreeAttributes(getEmptyDegAttributes())
                 .build();
     }
 
     private DegreeAttributes getDegAttributes() {
-        AvailableWavelengths aval = new AvailableWavelengthsBuilder()
-                .setIndex(Uint32.valueOf(20))
-                .build();
-        return (new DegreeAttributesBuilder())
-                .setAvailableWavelengths(Map.of(aval.key(),aval))
+        return new DegreeAttributesBuilder()
+                .setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available())
                 .build();
     }
 
     private SrgAttributes getSrgAttributes() {
-        return new SrgAttributesBuilder().setAvailableWavelengths(create96AvalWaveSrg()).build();
+        return new SrgAttributesBuilder().setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available()).build();
     }
 
     private DegreeAttributes getEmptyDegAttributes() {
         return (new DegreeAttributesBuilder())
-                .setAvailableWavelengths(Map.of())
+                .setAvailFreqMaps(Map.of())
                 .build();
     }
 
     private SrgAttributes getEmptySrgAttributes() {
-        return new SrgAttributesBuilder().setAvailableWavelengths(Map.of()).build();
+        return new SrgAttributesBuilder().setAvailFreqMaps(Map.of()).build();
     }
 
     private TerminationPointBuilder getTerminationPointBuilder(OpenroadmTpType openroadmTpType) {
@@ -319,14 +314,13 @@ public class PceOtnNodeTest extends AbstractTest {
     }
 
     private org.opendaylight.yang.gen
-            .v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1Builder createAnotherTerminationPoint(
+            .v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder createAnotherTerminationPoint(
             OpenroadmTpType openroadmTpType
     ) {
         return new org.opendaylight
-                .yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1Builder()
-                .setTpType(openroadmTpType)
-                .setCtpAttributes((new CtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
-                .setCpAttributes((new CpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
+                .yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder()
+                .setCtpAttributes((new CtpAttributesBuilder()).build())
+                .setCpAttributes((new CpAttributesBuilder()).build())
                 .setTxTtpAttributes((new TxTtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
                 .setRxTtpAttributes((new RxTtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
                 .setPpAttributes((new PpAttributesBuilder()).setUsedWavelength(Map.of()).build())
@@ -336,7 +330,7 @@ public class PceOtnNodeTest extends AbstractTest {
                         .setTailEquipmentId("destNode" + "--" + "destTp").build());
     }
 
-    private org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+    private org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
             .TerminationPoint1Builder createOTNTerminationPoint(OpenroadmTpType openroadmTpType) {
 
         SupportedInterfaceCapability supIfCapa = new SupportedInterfaceCapabilityBuilder()
@@ -365,43 +359,17 @@ public class PceOtnNodeTest extends AbstractTest {
 
         XpdrTpPortConnectionAttributesBuilder xtpcaBldr = new XpdrTpPortConnectionAttributesBuilder();
 
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                 .TerminationPoint1Builder()
-                .setTpType(openroadmTpType)
                 .setTpSupportedInterfaces(tpSupIf)
                 .setXpdrTpPortConnectionAttributes(xtpcaBldr.build());
     }
 
-    private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+    private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
             .TerminationPoint1Builder createAnother2TerminationPoint(OpenroadmTpType openroadmTpType) {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                 .TerminationPoint1Builder()
                 .setTpType(openroadmTpType);
     }
 
-    private static Map<
-        org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengthsKey,
-        org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths>
-        create96AvalWaveSrg() {
-
-        Map<
-            org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengthsKey,
-            org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths>
-                waveList = new HashMap<>();
-
-        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(Uint32.valueOf(i))
-                    .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                            .AvailableWavelengthsKey(Uint32.valueOf(i)));
-            org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths
-                aval = avalBldr.build();
-            waveList.put(aval.key(),aval);
-        }
-        return waveList;
-    }
-
 }
index a1777e8612a4808641b28bb210158616432e8203..1ffb643295f4c89abb9b82f39038d9a30f888c8c 100644 (file)
@@ -14,47 +14,45 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import org.opendaylight.transportpce.common.NetworkUtils;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.FiberPmd;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.RatioDB;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State;
-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.equipment.states.types.rev181130.AdminStates;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLinkKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.amplified.link.SectionElementBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenation;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationKey;
-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.link.OMSAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.AmplifiedLinkBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.SpanBuilder;
-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.CpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.PpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.RxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.TxTtpAttributesBuilder;
-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.topology.rev181130.networks.network.node.termination.point.XpdrPortAttributesBuilder;
-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.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.network.types.rev181130.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityKey;
-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.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.If1GEODU0;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.IfOCHOTU4ODU4;
+import org.opendaylight.transportpce.common.fixedflex.GridUtils;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.FiberPmd;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.RatioDB;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLinkKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.amplified.link.SectionElementBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenation;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.OMSAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.AmplifiedLinkBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.SpanBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.PpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.RxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.TxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrClientAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrPortAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.TpSupportedInterfaces;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.TpSupportedInterfacesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.XpdrTpPortConnectionAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GEODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2e;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If1GEODU0;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCHOTU4ODU4;
 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.NodeBuilder;
@@ -92,31 +90,24 @@ public class NodeUtils {
         LinkId oppositeLinkId = new LinkId("OpenROADM-3-2-DEG1-to-OpenROADM-3-1-DEG1");
         //For setting up attributes for openRoadm augment
         OMSAttributesBuilder omsAttributesBuilder =
-                new OMSAttributesBuilder().setOppositeLink(oppositeLinkId);
+                new OMSAttributesBuilder();
 
         // Augementation
-        Augmentation<Link> aug11 = new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
+        Augmentation<Link> aug11 = new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529
                 .Link1Builder()
-                .setAdministrativeGroup(Uint32.valueOf(123))
-                .setAdministrativeState(State.InService)
                 .setAmplified(true)
-                .setLinkLatency(Uint32.valueOf(123))
-                .setLinkLength(BigDecimal.valueOf(123))
                 .setOMSAttributes(new OMSAttributesBuilder()
-                        .setOppositeLink(new LinkId("OpenROADM-3-2-DEG1-to-OpenROADM-3-1-DEG1"))
                         .setSpan(new SpanBuilder().build())
-                        .setTEMetric(Uint32.valueOf(123)).build())
-                .setOperationalState(State.InService).build();
+                        .build())
+                .build();
 
-        LinkBuilder linkBuilder = new LinkBuilder()
+        return new LinkBuilder()
                 .setSource(ietfSrcLinkBldr.build())
                 .setDestination(ietfDestLinkBldr.build())
                 .setLinkId(linkId)
                 .addAugmentation(aug11)
-                .withKey(new LinkKey(linkId));
-
-        linkBuilder.addAugmentation(link1Builder.build());
-        return linkBuilder;
+                .withKey(new LinkKey(linkId))
+                .addAugmentation(link1Builder.setOppositeLink(oppositeLinkId).build());
     }
 
     public static LinkBuilder createRoadmToRoadm(String srcNode, String destNode, String srcTp, String destTp) {
@@ -186,19 +177,18 @@ public class NodeUtils {
 
         Map<AmplifiedLinkKey,AmplifiedLink>
                 amplifiedLinkValues = new HashMap<>();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al =
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
+        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink al =
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes
                         .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
-                        .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130
+                        .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529
                                 .amplified.link.attributes.amplified.link.section.element.section.element
                                 .SpanBuilder()
                                 .setSpan(
-                                        new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified
+                                        new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified
                                                 .link.attributes.amplified.link.section.element.section
                                                 .element.span.SpanBuilder()
                                                 .setAdministrativeState(AdminStates.InService)
                                                 .setAutoSpanloss(true)
-                                                .setClfi("clfi")
                                                 .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE))
                                                 .setLinkConcatenation(linkConcentationValues)
                                                 .setSpanlossBase(new RatioDB(BigDecimal.ONE))
@@ -207,20 +197,19 @@ public class NodeUtils {
                                 .build())
                         .build())
                         .setSectionEltNumber(Uint16.valueOf(1)).build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al2 =
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
+        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink al2 =
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes
                         .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
                         .setSectionElement(
-                                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
+                                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link
                                         .attributes.amplified.link.section.element.section.element.SpanBuilder()
                                         .setSpan(
-                                                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130
+                                                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529
                                                         .amplified.link
                                                         .attributes.amplified.link.section.element.section.element.span
                                                         .SpanBuilder()
                                                         .setAdministrativeState(AdminStates.InService)
                                                         .setAutoSpanloss(true)
-                                                        .setClfi("clfi")
                                                         .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE))
                                                         .setLinkConcatenation(linkConcentationValues)
                                                         .setSpanlossBase(new RatioDB(BigDecimal.ONE))
@@ -233,20 +222,15 @@ public class NodeUtils {
         amplifiedLinkValues.put(al.key(),al);
         amplifiedLinkValues.put(al2.key(),al2);
         Augmentation<Link> aug11 =
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1Builder()
-                        .setAdministrativeGroup(Uint32.valueOf(123))
-                        .setAdministrativeState(State.InService)
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder()
                         .setAmplified(true)
-                        .setLinkLatency(Uint32.valueOf(123))
-                        .setLinkLength(BigDecimal.valueOf(123))
                         .setOMSAttributes(new OMSAttributesBuilder()
                                 .setAmplifiedLink(new AmplifiedLinkBuilder()
                                         .setAmplifiedLink(amplifiedLinkValues)
                                         .build())
-                                .setOppositeLink(new LinkId("link 1"))
                                 .setSpan(new SpanBuilder().build())
-                                .setTEMetric(Uint32.valueOf(123)).build())
-                        .setOperationalState(State.InService).build();
+                                .build())
+                        .build();
 
         TransactionUtils.getNetworkForSpanLoss();
         return new LinkBuilder()
@@ -285,7 +269,7 @@ public class NodeUtils {
     public static NodeBuilder getOTNNodeBuilder(Map<SupportingNodeKey,SupportingNode> supportingNodes1,
                                                 OpenroadmTpType openroadmTpType) {
 
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder
                 tp1Bldr = getTerminationPoint1Builder(openroadmTpType);
         TerminationPointBuilder xpdrTpBldr = getTerminationPointBuilder(openroadmTpType);
         xpdrTpBldr
@@ -294,7 +278,7 @@ public class NodeUtils {
         xpdrTpBldr.addAugmentation(createAnother2TerminationPoint(openroadmTpType).build());
         xpdrTpBldr.addAugmentation(createAnotherTerminationPoint(openroadmTpType).build());
 
-        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 node1 = getNode1();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 node1 = getNode1();
         TerminationPoint xpdr = xpdrTpBldr.build();
         org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 node1Rev180226 =
                 new Node1Builder()
@@ -320,13 +304,13 @@ public class NodeUtils {
     public static NodeBuilder getOTNNodeBuilderEmpty(Map<SupportingNodeKey,SupportingNode> supportingNodes1,
                                                      OpenroadmTpType openroadmTpType) {
 
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder tp1Bldr =
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder tp1Bldr =
                 getTerminationPoint1Builder(openroadmTpType);
         TerminationPointBuilder xpdrTpBldr = getTerminationPointBuilder(openroadmTpType);
         xpdrTpBldr.addAugmentation(tp1Bldr.build());
         xpdrTpBldr.addAugmentation(createAnotherTerminationPoint(openroadmTpType).build());
 
-        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 node1 = getNode1Empty();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 node1 = getNode1Empty();
         TerminationPoint xpdr = xpdrTpBldr.build();
         org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 node1Rev180226 =
                 new Node1Builder()
@@ -343,42 +327,39 @@ public class NodeUtils {
     }
 
     private static org.opendaylight
-            .yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 getNode1() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder()
+            .yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 getNode1() {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder()
                 .setSrgAttributes(getSrgAttributes())
                 .setDegreeAttributes(getDegAttributes())
                 .build();
     }
 
     private static org.opendaylight
-            .yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 getNode1Empty() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder()
+            .yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 getNode1Empty() {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder()
                 .setSrgAttributes(getEmptySrgAttributes())
                 .setDegreeAttributes(getEmptyDegAttributes())
                 .build();
     }
 
     private static DegreeAttributes getDegAttributes() {
-        AvailableWavelengths aval = new AvailableWavelengthsBuilder()
-                .setIndex(Uint32.valueOf(20))
-                .build();
         return (new DegreeAttributesBuilder())
-                .setAvailableWavelengths(Map.of(aval.key(),aval))
+                .setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available())
                 .build();
     }
 
     private static SrgAttributes getSrgAttributes() {
-        return new SrgAttributesBuilder().setAvailableWavelengths(create96AvalWaveSrg()).build();
+        return new SrgAttributesBuilder().setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available()).build();
     }
 
     private static DegreeAttributes getEmptyDegAttributes() {
         return (new DegreeAttributesBuilder())
-                .setAvailableWavelengths(Map.of())
+                .setAvailFreqMaps(Map.of())
                 .build();
     }
 
     private static SrgAttributes getEmptySrgAttributes() {
-        return new SrgAttributesBuilder().setAvailableWavelengths(Map.of()).build();
+        return new SrgAttributesBuilder().setAvailFreqMaps(Map.of()).build();
     }
 
     private static TerminationPointBuilder getTerminationPointBuilder(OpenroadmTpType openroadmTpType) {
@@ -387,23 +368,22 @@ public class NodeUtils {
                 .addAugmentation(createOTNTerminationPoint(openroadmTpType).build());
     }
 
-    private static org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder
+    private static org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder
         getTerminationPoint1Builder(OpenroadmTpType openroadmTpType) {
 
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder()
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder()
                 .setTpType(openroadmTpType);
 
     }
 
     private static org.opendaylight.yang.gen
-            .v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1Builder createAnotherTerminationPoint(
+            .v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder createAnotherTerminationPoint(
             OpenroadmTpType openroadmTpType
     ) {
         return new org.opendaylight
-                .yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1Builder()
-                .setTpType(openroadmTpType)
-                .setCtpAttributes((new CtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
-                .setCpAttributes((new CpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
+                .yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder()
+                .setCtpAttributes((new CtpAttributesBuilder()).build())
+                .setCpAttributes((new CpAttributesBuilder()).build())
                 .setTxTtpAttributes((new TxTtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
                 .setRxTtpAttributes((new RxTtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
                 .setPpAttributes((new PpAttributesBuilder()).setUsedWavelength(Map.of()).build())
@@ -413,7 +393,7 @@ public class NodeUtils {
                         .setTailEquipmentId("destNode" + "--" + "destTp").build());
     }
 
-    private static org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+    private static org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
             .TerminationPoint1Builder createOTNTerminationPoint(OpenroadmTpType openroadmTpType) {
 
         SupportedInterfaceCapability supIfCapa = new SupportedInterfaceCapabilityBuilder()
@@ -442,43 +422,17 @@ public class NodeUtils {
 
         XpdrTpPortConnectionAttributesBuilder xtpcaBldr = new XpdrTpPortConnectionAttributesBuilder();
 
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529
                 .TerminationPoint1Builder()
-                .setTpType(openroadmTpType)
                 .setTpSupportedInterfaces(tpSupIf)
                 .setXpdrTpPortConnectionAttributes(xtpcaBldr.build());
     }
 
-    private static org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+    private static org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
             .TerminationPoint1Builder createAnother2TerminationPoint(OpenroadmTpType openroadmTpType) {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                 .TerminationPoint1Builder()
                 .setTpType(openroadmTpType);
     }
 
-    private static Map<org.opendaylight.yang.gen
-        .v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengthsKey,
-        org.opendaylight.yang.gen
-            .v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths> create96AvalWaveSrg() {
-
-        Map<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengthsKey,
-            org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths>
-                waveList = new HashMap<>();
-
-        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(Uint32.valueOf(i))
-                        .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                            .AvailableWavelengthsKey(Uint32.valueOf(i)));
-            org.opendaylight.yang.gen.v1.http.org.openroadm.srg
-                .rev181130.srg.node.attributes.AvailableWavelengths aval =
-                    avalBldr.build();
-            waveList.put(aval.key(),aval);
-        }
-        return waveList;
-    }
-
 }
index 608e21a5a07af9c3e9cb3262fdaeda3455f1fb65..6a2fd205e5d641a4e6f8641251477a36e8865c1e 100644 (file)
@@ -18,33 +18,32 @@ import org.eclipse.jdt.annotation.NonNull;
 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.fixedflex.GridUtils;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.Mapping;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.MappingBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.FiberPmd;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.RatioDB;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengthsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.FiberPmd;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.RatioDB;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.Interface;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceKey;
 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.equipment.states.types.rev181130.AdminStates;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLinkKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.amplified.link.SectionElementBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenation;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationKey;
-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.networks.network.link.OMSAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.AmplifiedLinkBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.SpanBuilder;
-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.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.equipment.states.types.rev191129.AdminStates;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLinkKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.amplified.link.SectionElementBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenation;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.OMSAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.AmplifiedLinkBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.SpanBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.CurrentPmList;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.CurrentPmListBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.group.CurrentPm;
@@ -56,7 +55,6 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.v
 import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.val.group.MeasurementKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmDataType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.Validity;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths;
 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.NetworkBuilder;
@@ -137,19 +135,18 @@ public final class TransactionUtils {
 
         Map<AmplifiedLinkKey,AmplifiedLink>
                 amplifiedLinkValues = new HashMap<>();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al =
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
+        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink al =
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes
                         .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
-                        .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130
+                        .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529
                                 .amplified.link.attributes.amplified.link.section.element.section.element
                                 .SpanBuilder()
                                 .setSpan(
-                                        new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified
+                                        new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified
                                                 .link.attributes.amplified.link.section.element.section
                                                 .element.span.SpanBuilder()
                                                 .setAdministrativeState(AdminStates.InService)
                                                 .setAutoSpanloss(true)
-                                                .setClfi("clfi")
                                                 .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE))
                                                 .setLinkConcatenation(linkConcentationValues)
                                                 .setSpanlossBase(new RatioDB(BigDecimal.ONE))
@@ -158,20 +155,19 @@ public final class TransactionUtils {
                                 .build())
                         .build())
                         .setSectionEltNumber(Uint16.valueOf(1)).build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al2 =
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
+        org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink al2 =
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes
                         .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
                         .setSectionElement(
-                                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
+                                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link
                                         .attributes.amplified.link.section.element.section.element.SpanBuilder()
                                         .setSpan(
-                                                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130
+                                                new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529
                                                         .amplified.link
                                                         .attributes.amplified.link.section.element.section.element.span
                                                         .SpanBuilder()
                                                         .setAdministrativeState(AdminStates.InService)
                                                         .setAutoSpanloss(true)
-                                                        .setClfi("clfi")
                                                         .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE))
                                                         .setLinkConcatenation(linkConcentationValues)
                                                         .setSpanlossBase(new RatioDB(BigDecimal.ONE))
@@ -183,34 +179,26 @@ public final class TransactionUtils {
         amplifiedLinkValues.put(al.key(),al);
         amplifiedLinkValues.put(al2.key(),al2);
         Map<Class<? extends Augmentation<Link>>, Augmentation<Link>> map = Collections.emptyMap();
-        Augmentation<Link> aug11 = new Link1Builder().setAdministrativeGroup(Uint32.valueOf(123))
-                .setAdministrativeState(State.InService)
+        Augmentation<Link> aug11 = new Link1Builder()
                 .setAmplified(true)
-                .setLinkLatency(Uint32.valueOf(123))
-                .setLinkLength(BigDecimal.valueOf(123))
                 .setOMSAttributes(new OMSAttributesBuilder()
                         .setAmplifiedLink(new AmplifiedLinkBuilder().setAmplifiedLink(amplifiedLinkValues).build())
-                        .setOppositeLink(new LinkId("link 1"))
                         .setSpan(new SpanBuilder().build())
-                        .setTEMetric(Uint32.valueOf(123)).build())
-                .setOperationalState(State.InService).build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1 aug12 =
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder()
+                        .build())
+                .build();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1 aug12 =
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder()
+                        .setOppositeLink(new LinkId("link 1"))
                         .setLinkType(OpenroadmLinkType.ROADMTOROADM).build();
         Augmentation<Link> aug21 = new Link1Builder()
-                .setAdministrativeGroup(Uint32.valueOf(123))
-                .setAdministrativeState(State.InService)
                 .setAmplified(true)
-                .setLinkLatency(Uint32.valueOf(123))
-                .setLinkLength(BigDecimal.valueOf(123))
                 .setOMSAttributes(new OMSAttributesBuilder()
                         .setAmplifiedLink(new AmplifiedLinkBuilder().setAmplifiedLink(amplifiedLinkValues).build())
-                        .setOppositeLink(new LinkId("link 1"))
                         .setSpan(new SpanBuilder().build())
-                        .setTEMetric(Uint32.valueOf(123)).build())
-                .setOperationalState(State.InService).build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1 aug22 =
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder()
+                        .build())
+                .build();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1 aug22 =
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder()
                         .setLinkType(OpenroadmLinkType.ROADMTOROADM).build();
         // create the roadm-to-roadm link to be measured
         Link roadm2roadmLink = new LinkBuilder().setLinkId(new LinkId("ROADM-A1-to-ROADM-C1"))
@@ -304,48 +292,21 @@ public final class TransactionUtils {
     }
 
     private static org.opendaylight
-            .yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 getNode1() {
-        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder()
+            .yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 getNode1() {
+        return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder()
                 .setSrgAttributes(getSrgAttributes())
                 .setDegreeAttributes(getDegAttributes())
                 .build();
     }
 
     private static DegreeAttributes getDegAttributes() {
-        org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengths
-            aval = new AvailableWavelengthsBuilder()
-                .setIndex(Uint32.valueOf(20L))
-                .build();
-        return (new DegreeAttributesBuilder())
-                .setAvailableWavelengths(Map.of(aval.key(),aval))
+        return new DegreeAttributesBuilder()
+                .setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available())
                 .build();
     }
 
     private static  SrgAttributes getSrgAttributes() {
-        return new SrgAttributesBuilder().setAvailableWavelengths(create96AvalWaveSrg()).build();
-    }
-
-    public static Map<org.opendaylight.yang.gen
-        .v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengthsKey,org.opendaylight.yang.gen
-            .v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths> create96AvalWaveSrg() {
-
-        Map<org.opendaylight.yang.gen
-            .v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengthsKey,org.opendaylight.yang.gen
-                .v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths>
-                waveMap = new HashMap<>();
-
-        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(Uint32.valueOf(i))
-                    .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                            .AvailableWavelengthsKey(Uint32.valueOf(i)));
-            AvailableWavelengths aval = avalBldr.build();
-            waveMap.put(aval.key(),aval);
-        }
-        return waveMap;
+        return new SrgAttributesBuilder().setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available()).build();
     }
 
 
index 649dbc2453206ef861079c9eaf41492c808bed35..9f902b809424a178b62aa0d7b90b8f8fa91d260c 100644 (file)
@@ -1,7 +1,6 @@
 {
-"ietf-network:networks":{
-    "network":
-        {
+    "ietf-network:networks": {
+        "network": {
             "network-id": "openroadm-topology",
             "ietf-network-topology:link": [
                 {
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber12",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-2-DEG1",
                         "dest-tp": "DEG1-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber13",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-3-DEG1",
                         "dest-tp": "DEG1-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber21",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-1-DEG1",
                         "dest-tp": "DEG1-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber23",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-3-DEG2",
                         "dest-tp": "DEG2-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber25",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-5-DEG3",
                         "dest-tp": "DEG3-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber31",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-1-DEG2",
                         "dest-tp": "DEG2-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber32",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-2-DEG2",
                         "dest-tp": "DEG2-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber35",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-5-DEG2",
                         "dest-tp": "DEG2-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber34",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-4-DEG2",
                         "dest-tp": "DEG2-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber45",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-5-DEG1",
                         "dest-tp": "DEG1-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber43",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-3-DEG4",
                         "dest-tp": "DEG4-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber54",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-4-DEG1",
                         "dest-tp": "DEG1-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber53",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-3-DEG3",
                         "dest-tp": "DEG3-TTP-RX"
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
                     "org-openroadm-common-network:clfi": "fiber52",
                     "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-2-DEG3",
                         "dest-tp": "DEG3-TTP-RX"
                         }
                     ],
                     "org-openroadm-network-topology:srg-attributes": {
-                        "available-wavelengths": [
+                        "avail-freq-maps": [
                             {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "SRG",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-1"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node1"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":1,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 1,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-1"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node1"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":2,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 2,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-1"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node1"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:srg-attributes": {
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "SRG",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-2"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node2"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":1,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 1,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-2"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node2"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":2,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 2,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-2"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node2"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":3,
-                        "available-wavelengths": [
+                        "avail-freq-maps": [
                             {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-2"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node2"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:srg-attributes": {
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "SRG",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-3"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node3"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":1,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 1,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-3"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node3"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":2,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 2,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-3"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node3"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":3,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 3,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-3"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node3"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":4,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 4,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-3"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node3"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:srg-attributes": {
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "SRG",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-4"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node4"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":1,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 1,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-4"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node4"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":2,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 2,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-4"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node4"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:srg-attributes": {
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "SRG",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-5"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node5"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":1,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 1,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-5"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node5"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":2,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 2,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-5"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node5"
                         }
                     ]
                         }
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
-                        "degree-number":3,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                        "degree-number": 3,
+                        "avail-freq-maps": [
+                            {
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map": "AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     "org-openroadm-common-network:node-type": "DEGREE",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "OpenROADM-5"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node5"
                         }
                     ]
                     "org-openroadm-common-network:node-type": "XPONDER",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "XPONDER-1"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node1"
                         }
                     ]
                     "org-openroadm-common-network:node-type": "XPONDER",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "XPONDER-2"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node2"
                         }
                     ]
                     "org-openroadm-common-network:node-type": "XPONDER",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "XPONDER-3"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node3"
                         }
                     ]
                     "org-openroadm-common-network:node-type": "XPONDER",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "XPONDER-4"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node4"
                         }
                     ]
                     "org-openroadm-common-network:node-type": "XPONDER",
                     "supporting-node": [
                         {
-                            "network-ref":"openroadm-network",
+                            "network-ref": "openroadm-network",
                             "node-ref": "XPONDER-5"
                         },
                         {
-                            "network-ref":"clli-network",
+                            "network-ref": "clli-network",
                             "node-ref": "Node5"
                         }
                     ]
                 }
-
             ]
         }
-
     }
 }
\ No newline at end of file
index faf481be5f9fed190a58bee89b12649d4c2a7248..576fed7af644e94330143813c33fc2c82be65df1 100644 (file)
 {
-  "data": {
-    "network": [
-      {
-        "network-id": "openroadm-topology",
-        "ietf-network-topology:link": [
-          {
-            "link-id": "OpenROADM-1-2-DEG2-DEG2-CTP-TXtoOpenROADM-1-2-DEG1-DEG1-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG1-CTP-RX",
-              "dest-node": "OpenROADM-1-2-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-DEG2",
-              "source-tp": "DEG2-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-1-SRG1-SRG1-CP-TXtoOpenROADM-1-1-DEG2-DEG2-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG2-CTP-RX",
-              "dest-node": "OpenROADM-1-1-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-SRG1",
-              "source-tp": "SRG1-CP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ADD-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-2-SRG1-SRG1-CP-TXtoOpenROADM-1-2-DEG3-DEG3-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG3-CTP-RX",
-              "dest-node": "OpenROADM-1-2-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-SRG1",
-              "source-tp": "SRG1-CP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ADD-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-1-SRG1-SRG1-PP1-TX-to-XPONDER-1-1XPDR-NW1-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW1-RX",
-              "dest-node": "XPONDER-1-1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-SRG1",
-              "source-tp": "SRG1-PP1-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-1-SRG1-SRG1-CP-TXtoOpenROADM-1-1-DEG3-DEG3-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG3-CTP-RX",
-              "dest-node": "OpenROADM-1-1-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-SRG1",
-              "source-tp": "SRG1-CP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ADD-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-2-SRG1-SRG1-CP-TXtoOpenROADM-2-2-DEG1-DEG1-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG1-CTP-RX",
-              "dest-node": "OpenROADM-2-2-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-SRG1",
-              "source-tp": "SRG1-CP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ADD-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-1-DEG2-DEG2-CTP-TXtoOpenROADM-1-1-DEG1-DEG1-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG1-CTP-RX",
-              "dest-node": "OpenROADM-1-1-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-DEG2",
-              "source-tp": "DEG2-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "XPONDER-2-2XPDR-NW5-TX-toOpenROADM-2-2-SRG1-SRG1-PP5-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP5-RX",
-              "dest-node": "OpenROADM-2-2-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-2-2",
-              "source-tp": "XPDR-NW5-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-2-DEG2-DEG2-CTP-RXtoOpenROADM-1-2-SRG1-SRG1-CP-TX",
-            "destination": {
-              "dest-tp": "SRG1-CP-RX",
-              "dest-node": "OpenROADM-1-2-SRG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-DEG2",
-              "source-tp": "DEG2-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "DROP-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-2-SRG1-SRG1-PP4-TX-to-XPONDER-2-2XPDR-NW4-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW4-RX",
-              "dest-node": "XPONDER-2-2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-SRG1",
-              "source-tp": "SRG1-PP4-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-2-SRG1-SRG1-CP-TXtoOpenROADM-1-2-DEG1-DEG1-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG1-CTP-RX",
-              "dest-node": "OpenROADM-1-2-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-SRG1",
-              "source-tp": "SRG1-CP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ADD-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-2-DEG3-DEG3-CTP-RXtoOpenROADM-2-2-SRG1-SRG1-CP-TX",
-            "destination": {
-              "dest-tp": "SRG1-CP-RX",
-              "dest-node": "OpenROADM-2-2-SRG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-DEG3",
-              "source-tp": "DEG3-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "DROP-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-2-SRG1-SRG1-PP1-TX-to-XPONDER-2-2XPDR-NW1-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW1-RX",
-              "dest-node": "XPONDER-2-2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-SRG1",
-              "source-tp": "SRG1-PP1-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-1-SRG1-SRG1-CP-TXtoOpenROADM-1-1-DEG1-DEG1-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG1-CTP-RX",
-              "dest-node": "OpenROADM-1-1-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-SRG1",
-              "source-tp": "SRG1-CP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ADD-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-2-SRG1-SRG1-CP-TXtoOpenROADM-1-2-DEG2-DEG2-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG2-CTP-RX",
-              "dest-node": "OpenROADM-1-2-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-SRG1",
-              "source-tp": "SRG1-CP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ADD-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-1-SRG1-SRG1-PP4-TX-to-XPONDER-1-1XPDR-NW4-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW4-RX",
-              "dest-node": "XPONDER-1-1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-SRG1",
-              "source-tp": "SRG1-PP4-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-1-SRG1-SRG1-CP-TXtoOpenROADM-2-1-DEG3-DEG3-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG3-CTP-RX",
-              "dest-node": "OpenROADM-2-1-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-SRG1",
-              "source-tp": "SRG1-CP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ADD-LINK"
-          },
-          {
-            "link-id": "XPONDER-1-1XPDR-NW5-TX-toOpenROADM-1-1-SRG1-SRG1-PP5-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP5-RX",
-              "dest-node": "OpenROADM-1-1-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-1-1",
-              "source-tp": "XPDR-NW5-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-1-SRG1-SRG1-CP-TXtoOpenROADM-2-1-DEG1-DEG1-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG1-CTP-RX",
-              "dest-node": "OpenROADM-2-1-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-SRG1",
-              "source-tp": "SRG1-CP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ADD-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-2-SRG1-SRG1-CP-TXtoOpenROADM-2-2-DEG2-DEG2-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG2-CTP-RX",
-              "dest-node": "OpenROADM-2-2-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-SRG1",
-              "source-tp": "SRG1-CP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ADD-LINK"
-          },
-          {
-            "link-id": "XPONDER-1-2XPDR-NW3-TX-toOpenROADM-1-2-SRG1-SRG1-PP3-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP3-RX",
-              "dest-node": "OpenROADM-1-2-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-1-2",
-              "source-tp": "XPDR-NW3-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-1-DEG3-DEG3-CTP-RXtoOpenROADM-1-1-SRG1-SRG1-CP-TX",
-            "destination": {
-              "dest-tp": "SRG1-CP-RX",
-              "dest-node": "OpenROADM-1-1-SRG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-DEG3",
-              "source-tp": "DEG3-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "DROP-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-1-SRG1-SRG1-CP-TXtoOpenROADM-2-1-DEG2-DEG2-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG2-CTP-RX",
-              "dest-node": "OpenROADM-2-1-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-SRG1",
-              "source-tp": "SRG1-CP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ADD-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-2-SRG1-SRG1-CP-TXtoOpenROADM-2-2-DEG3-DEG3-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG3-CTP-RX",
-              "dest-node": "OpenROADM-2-2-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-SRG1",
-              "source-tp": "SRG1-CP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ADD-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-2-DEG3-DEG3-CTP-TXtoOpenROADM-2-2-DEG2-DEG2-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG2-CTP-RX",
-              "dest-node": "OpenROADM-2-2-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-DEG3",
-              "source-tp": "DEG3-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-1-DEG3-DEG3-CTP-TXtoOpenROADM-2-1-DEG2-DEG2-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG2-CTP-RX",
-              "dest-node": "OpenROADM-2-1-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-DEG3",
-              "source-tp": "DEG3-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "XPONDER-2-1XPDR-NW3-TX-toOpenROADM-2-1-SRG1-SRG1-PP3-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP3-RX",
-              "dest-node": "OpenROADM-2-1-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-2-1",
-              "source-tp": "XPDR-NW3-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-1-SRG1-SRG1-PP4-TX-to-XPONDER-2-1XPDR-NW4-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW4-RX",
-              "dest-node": "XPONDER-2-1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-SRG1",
-              "source-tp": "SRG1-PP4-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "XPONDER-1-2XPDR-NW2-TX-toOpenROADM-1-2-SRG1-SRG1-PP2-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP2-RX",
-              "dest-node": "OpenROADM-1-2-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-1-2",
-              "source-tp": "XPDR-NW2-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-1-SRG1-SRG1-PP1-TX-to-XPONDER-2-1XPDR-NW1-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW1-RX",
-              "dest-node": "XPONDER-2-1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-SRG1",
-              "source-tp": "SRG1-PP1-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-2-DEG2-DEG2-CTP-TXtoOpenROADM-1-2-DEG3-DEG3-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG3-CTP-RX",
-              "dest-node": "OpenROADM-1-2-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-DEG2",
-              "source-tp": "DEG2-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "XPONDER-2-1XPDR-NW2-TX-toOpenROADM-2-1-SRG1-SRG1-PP2-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP2-RX",
-              "dest-node": "OpenROADM-2-1-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-2-1",
-              "source-tp": "XPDR-NW2-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-1-DEG1-DEG1-CTP-RXtoOpenROADM-2-1-SRG1-SRG1-CP-TX",
-            "destination": {
-              "dest-tp": "SRG1-CP-RX",
-              "dest-node": "OpenROADM-2-1-SRG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-DEG1",
-              "source-tp": "DEG1-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "DROP-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-1-DEG2-DEG2-CTP-TXtoOpenROADM-1-1-DEG3-DEG3-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG3-CTP-RX",
-              "dest-node": "OpenROADM-1-1-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-DEG2",
-              "source-tp": "DEG2-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-1-SRG1-SRG1-PP5-TX-to-XPONDER-1-1XPDR-NW5-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW5-RX",
-              "dest-node": "XPONDER-1-1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-SRG1",
-              "source-tp": "SRG1-PP5-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-1-DEG3-to-OpenROADM-2-2-DEG3",
-            "destination": {
-              "dest-tp": "DEG3-TTP-RX",
-              "dest-node": "OpenROADM-2-2-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-DEG3",
-              "source-tp": "DEG3-TTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
-          },
-          {
-            "link-id": "OpenROADM-2-2-DEG2-DEG2-CTP-TXtoOpenROADM-2-2-DEG1-DEG1-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG1-CTP-RX",
-              "dest-node": "OpenROADM-2-2-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-DEG2",
-              "source-tp": "DEG2-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-2-SRG1-SRG1-PP3-TX-to-XPONDER-1-2XPDR-NW3-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW3-RX",
-              "dest-node": "XPONDER-1-2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-SRG1",
-              "source-tp": "SRG1-PP3-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-1-DEG1-DEG1-CTP-TXtoOpenROADM-1-1-DEG2-DEG2-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG2-CTP-RX",
-              "dest-node": "OpenROADM-1-1-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-DEG1",
-              "source-tp": "DEG1-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-1-DEG3-DEG3-CTP-RXtoOpenROADM-2-1-SRG1-SRG1-CP-TX",
-            "destination": {
-              "dest-tp": "SRG1-CP-RX",
-              "dest-node": "OpenROADM-2-1-SRG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-DEG3",
-              "source-tp": "DEG3-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "DROP-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-2-DEG1-DEG1-CTP-TXtoOpenROADM-1-2-DEG3-DEG3-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG3-CTP-RX",
-              "dest-node": "OpenROADM-1-2-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-DEG1",
-              "source-tp": "DEG1-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-2-DEG2-to-OpenROADM-2-1-DEG2",
-            "destination": {
-              "dest-tp": "DEG2-TTP-RX",
-              "dest-node": "OpenROADM-2-1-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-DEG2",
-              "source-tp": "DEG2-TTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
-          },
-          {
-            "link-id": "XPONDER-2-2XPDR-NW4-TX-toOpenROADM-2-2-SRG1-SRG1-PP4-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP4-RX",
-              "dest-node": "OpenROADM-2-2-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-2-2",
-              "source-tp": "XPDR-NW4-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-2-DEG1-DEG1-CTP-RXtoOpenROADM-2-2-SRG1-SRG1-CP-TX",
-            "destination": {
-              "dest-tp": "SRG1-CP-RX",
-              "dest-node": "OpenROADM-2-2-SRG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-DEG1",
-              "source-tp": "DEG1-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "DROP-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-1-DEG2-to-OpenROADM-2-2-DEG2",
-            "destination": {
-              "dest-tp": "DEG2-TTP-RX",
-              "dest-node": "OpenROADM-2-2-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-DEG2",
-              "source-tp": "DEG2-TTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
-          },
-          {
-            "link-id": "OpenROADM-2-2-DEG3-DEG3-CTP-TXtoOpenROADM-2-2-DEG1-DEG1-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG1-CTP-RX",
-              "dest-node": "OpenROADM-2-2-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-DEG3",
-              "source-tp": "DEG3-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-1-DEG1-DEG1-CTP-TXtoOpenROADM-2-1-DEG2-DEG2-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG2-CTP-RX",
-              "dest-node": "OpenROADM-2-1-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-DEG1",
-              "source-tp": "DEG1-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "XPONDER-1-1XPDR-NW3-TX-toOpenROADM-1-1-SRG1-SRG1-PP3-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP3-RX",
-              "dest-node": "OpenROADM-1-1-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-1-1",
-              "source-tp": "XPDR-NW3-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "XPONDER-2-2XPDR-NW2-TX-toOpenROADM-2-2-SRG1-SRG1-PP2-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP2-RX",
-              "dest-node": "OpenROADM-2-2-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-2-2",
-              "source-tp": "XPDR-NW2-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-1-DEG2-to-OpenROADM-1-2-DEG2",
-            "destination": {
-              "dest-tp": "DEG2-TTP-RX",
-              "dest-node": "OpenROADM-1-2-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-DEG2",
-              "source-tp": "DEG2-TTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
-          },
-          {
-            "link-id": "XPONDER-1-1XPDR-NW1-TX-toOpenROADM-1-1-SRG1-SRG1-PP1-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP1-RX",
-              "dest-node": "OpenROADM-1-1-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-1-1",
-              "source-tp": "XPDR-NW1-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-1-DEG2-DEG2-CTP-TXtoOpenROADM-2-1-DEG3-DEG3-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG3-CTP-RX",
-              "dest-node": "OpenROADM-2-1-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-DEG2",
-              "source-tp": "DEG2-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-1-DEG1-DEG1-CTP-RXtoOpenROADM-1-1-SRG1-SRG1-CP-TX",
-            "destination": {
-              "dest-tp": "SRG1-CP-RX",
-              "dest-node": "OpenROADM-1-1-SRG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-DEG1",
-              "source-tp": "DEG1-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "DROP-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-1-SRG1-SRG1-PP3-TX-to-XPONDER-2-1XPDR-NW3-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW3-RX",
-              "dest-node": "XPONDER-2-1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-SRG1",
-              "source-tp": "SRG1-PP3-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-1-DEG2-DEG2-CTP-RXtoOpenROADM-2-1-SRG1-SRG1-CP-TX",
-            "destination": {
-              "dest-tp": "SRG1-CP-RX",
-              "dest-node": "OpenROADM-2-1-SRG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-DEG2",
-              "source-tp": "DEG2-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "DROP-LINK"
-          },
-          {
-            "link-id": "XPONDER-1-2XPDR-NW5-TX-toOpenROADM-1-2-SRG1-SRG1-PP5-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP5-RX",
-              "dest-node": "OpenROADM-1-2-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-1-2",
-              "source-tp": "XPDR-NW5-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "XPONDER-2-1XPDR-NW5-TX-toOpenROADM-2-1-SRG1-SRG1-PP5-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP5-RX",
-              "dest-node": "OpenROADM-2-1-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-2-1",
-              "source-tp": "XPDR-NW5-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-2-SRG1-SRG1-PP2-TX-to-XPONDER-1-2XPDR-NW2-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW2-RX",
-              "dest-node": "XPONDER-1-2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-SRG1",
-              "source-tp": "SRG1-PP2-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "XPONDER-2-2XPDR-NW3-TX-toOpenROADM-2-2-SRG1-SRG1-PP3-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP3-RX",
-              "dest-node": "OpenROADM-2-2-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-2-2",
-              "source-tp": "XPDR-NW3-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-1-DEG1-DEG1-CTP-TXtoOpenROADM-2-1-DEG3-DEG3-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG3-CTP-RX",
-              "dest-node": "OpenROADM-2-1-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-DEG1",
-              "source-tp": "DEG1-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-1-DEG3-DEG3-CTP-TXtoOpenROADM-1-1-DEG2-DEG2-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG2-CTP-RX",
-              "dest-node": "OpenROADM-1-1-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-DEG3",
-              "source-tp": "DEG3-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-2-SRG1-SRG1-PP5-TX-to-XPONDER-1-2XPDR-NW5-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW5-RX",
-              "dest-node": "XPONDER-1-2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-SRG1",
-              "source-tp": "SRG1-PP5-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "XPONDER-1-2XPDR-NW1-TX-toOpenROADM-1-2-SRG1-SRG1-PP1-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP1-RX",
-              "dest-node": "OpenROADM-1-2-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-1-2",
-              "source-tp": "XPDR-NW1-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-1-DEG3-DEG3-CTP-TXtoOpenROADM-1-1-DEG1-DEG1-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG1-CTP-RX",
-              "dest-node": "OpenROADM-1-1-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-DEG3",
-              "source-tp": "DEG3-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-2-DEG1-DEG1-CTP-TXtoOpenROADM-1-2-DEG2-DEG2-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG2-CTP-RX",
-              "dest-node": "OpenROADM-1-2-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-DEG1",
-              "source-tp": "DEG1-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-2-DEG2-to-OpenROADM-1-1-DEG2",
-            "destination": {
-              "dest-tp": "DEG2-TTP-RX",
-              "dest-node": "OpenROADM-1-1-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-DEG2",
-              "source-tp": "DEG2-TTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
-          },
-          {
-            "link-id": "XPONDER-2-1XPDR-NW4-TX-toOpenROADM-2-1-SRG1-SRG1-PP4-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP4-RX",
-              "dest-node": "OpenROADM-2-1-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-2-1",
-              "source-tp": "XPDR-NW4-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-2-DEG1-DEG1-CTP-TXtoOpenROADM-2-2-DEG3-DEG3-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG3-CTP-RX",
-              "dest-node": "OpenROADM-2-2-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-DEG1",
-              "source-tp": "DEG1-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-2-DEG3-DEG3-CTP-TXtoOpenROADM-1-2-DEG1-DEG1-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG1-CTP-RX",
-              "dest-node": "OpenROADM-1-2-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-DEG3",
-              "source-tp": "DEG3-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "XPONDER-2-1XPDR-NW1-TX-toOpenROADM-2-1-SRG1-SRG1-PP1-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP1-RX",
-              "dest-node": "OpenROADM-2-1-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-2-1",
-              "source-tp": "XPDR-NW1-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-2-SRG1-SRG1-PP2-TX-to-XPONDER-2-2XPDR-NW2-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW2-RX",
-              "dest-node": "XPONDER-2-2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-SRG1",
-              "source-tp": "SRG1-PP2-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-1-SRG1-SRG1-PP2-TX-to-XPONDER-1-1XPDR-NW2-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW2-RX",
-              "dest-node": "XPONDER-1-1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-SRG1",
-              "source-tp": "SRG1-PP2-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-2-SRG1-SRG1-PP5-TX-to-XPONDER-2-2XPDR-NW5-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW5-RX",
-              "dest-node": "XPONDER-2-2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-SRG1",
-              "source-tp": "SRG1-PP5-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-2-DEG1-DEG1-CTP-RXtoOpenROADM-1-2-SRG1-SRG1-CP-TX",
-            "destination": {
-              "dest-tp": "SRG1-CP-RX",
-              "dest-node": "OpenROADM-1-2-SRG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-DEG1",
-              "source-tp": "DEG1-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "DROP-LINK"
-          },
-          {
-            "link-id": "XPONDER-1-2XPDR-NW4-TX-toOpenROADM-1-2-SRG1-SRG1-PP4-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP4-RX",
-              "dest-node": "OpenROADM-1-2-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-1-2",
-              "source-tp": "XPDR-NW4-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-2-DEG3-DEG3-CTP-RXtoOpenROADM-1-2-SRG1-SRG1-CP-TX",
-            "destination": {
-              "dest-tp": "SRG1-CP-RX",
-              "dest-node": "OpenROADM-1-2-SRG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-DEG3",
-              "source-tp": "DEG3-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "DROP-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-2-DEG1-to-OpenROADM-2-1-DEG1",
-            "destination": {
-              "dest-tp": "DEG1-TTP-RX",
-              "dest-node": "OpenROADM-2-1-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-DEG1",
-              "source-tp": "DEG1-TTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
-          },
-          {
-            "link-id": "OpenROADM-1-1-DEG2-DEG2-CTP-RXtoOpenROADM-1-1-SRG1-SRG1-CP-TX",
-            "destination": {
-              "dest-tp": "SRG1-CP-RX",
-              "dest-node": "OpenROADM-1-1-SRG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-DEG2",
-              "source-tp": "DEG2-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "DROP-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-2-DEG2-DEG2-CTP-TXtoOpenROADM-2-2-DEG3-DEG3-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG3-CTP-RX",
-              "dest-node": "OpenROADM-2-2-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-DEG2",
-              "source-tp": "DEG2-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-1-DEG2-DEG2-CTP-TXtoOpenROADM-2-1-DEG1-DEG1-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG1-CTP-RX",
-              "dest-node": "OpenROADM-2-1-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-DEG2",
-              "source-tp": "DEG2-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-2-SRG1-SRG1-PP3-TX-to-XPONDER-2-2XPDR-NW3-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW3-RX",
-              "dest-node": "XPONDER-2-2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-SRG1",
-              "source-tp": "SRG1-PP3-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-1-SRG1-SRG1-PP2-TX-to-XPONDER-2-1XPDR-NW2-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW2-RX",
-              "dest-node": "XPONDER-2-1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-SRG1",
-              "source-tp": "SRG1-PP2-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-1-SRG1-SRG1-PP5-TX-to-XPONDER-2-1XPDR-NW5-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW5-RX",
-              "dest-node": "XPONDER-2-1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-SRG1",
-              "source-tp": "SRG1-PP5-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-1-DEG1-DEG1-CTP-TXtoOpenROADM-1-1-DEG3-DEG3-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG3-CTP-RX",
-              "dest-node": "OpenROADM-1-1-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-DEG1",
-              "source-tp": "DEG1-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-2-DEG1-to-OpenROADM-1-1-DEG1",
-            "destination": {
-              "dest-tp": "DEG1-TTP-RX",
-              "dest-node": "OpenROADM-1-1-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-DEG1",
-              "source-tp": "DEG1-TTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
-          },
-          {
-            "link-id": "XPONDER-2-2XPDR-NW1-TX-toOpenROADM-2-2-SRG1-SRG1-PP1-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP1-RX",
-              "dest-node": "OpenROADM-2-2-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-2-2",
-              "source-tp": "XPDR-NW1-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-1-SRG1-SRG1-PP3-TX-to-XPONDER-1-1XPDR-NW3-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW3-RX",
-              "dest-node": "XPONDER-1-1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-SRG1",
-              "source-tp": "SRG1-PP3-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-1-1-DEG1-to-OpenROADM-1-2-DEG1",
-            "destination": {
-              "dest-tp": "DEG1-TTP-RX",
-              "dest-node": "OpenROADM-1-2-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-1-DEG1",
-              "source-tp": "DEG1-TTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
-          },
-          {
-            "link-id": "OpenROADM-1-2-DEG3-DEG3-CTP-TXtoOpenROADM-1-2-DEG2-DEG2-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG2-CTP-RX",
-              "dest-node": "OpenROADM-1-2-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-DEG3",
-              "source-tp": "DEG3-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-1-2-SRG1-SRG1-PP1-TX-to-XPONDER-1-2XPDR-NW1-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW1-RX",
-              "dest-node": "XPONDER-1-2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-SRG1",
-              "source-tp": "SRG1-PP1-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-2-DEG3-to-OpenROADM-1-1-DEG3",
-            "destination": {
-              "dest-tp": "DEG3-TTP-RX",
-              "dest-node": "OpenROADM-1-1-DEG3"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-DEG3",
-              "source-tp": "DEG3-TTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
-          },
-          {
-            "link-id": "XPONDER-1-1XPDR-NW4-TX-toOpenROADM-1-1-SRG1-SRG1-PP4-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP4-RX",
-              "dest-node": "OpenROADM-1-1-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-1-1",
-              "source-tp": "XPDR-NW4-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-1-DEG3-DEG3-CTP-TXtoOpenROADM-2-1-DEG1-DEG1-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG1-CTP-RX",
-              "dest-node": "OpenROADM-2-1-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-DEG3",
-              "source-tp": "DEG3-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-2-DEG1-DEG1-CTP-TXtoOpenROADM-2-2-DEG2-DEG2-CTP-RX",
-            "destination": {
-              "dest-tp": "DEG2-CTP-RX",
-              "dest-node": "OpenROADM-2-2-DEG2"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-DEG1",
-              "source-tp": "DEG1-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
-          },
-          {
-            "link-id": "OpenROADM-2-1-DEG1-to-OpenROADM-2-2-DEG1",
-            "destination": {
-              "dest-tp": "DEG1-TTP-RX",
-              "dest-node": "OpenROADM-2-2-DEG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-1-DEG1",
-              "source-tp": "DEG1-TTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
-          },
-          {
-            "link-id": "OpenROADM-1-2-SRG1-SRG1-PP4-TX-to-XPONDER-1-2XPDR-NW4-RX",
-            "destination": {
-              "dest-tp": "XPDR-NW4-RX",
-              "dest-node": "XPONDER-1-2"
-            },
-            "source": {
-              "source-node": "OpenROADM-1-2-SRG1",
-              "source-tp": "SRG1-PP4-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
-          },
-          {
-            "link-id": "OpenROADM-2-2-DEG2-DEG2-CTP-RXtoOpenROADM-2-2-SRG1-SRG1-CP-TX",
-            "destination": {
-              "dest-tp": "SRG1-CP-RX",
-              "dest-node": "OpenROADM-2-2-SRG1"
-            },
-            "source": {
-              "source-node": "OpenROADM-2-2-DEG2",
-              "source-tp": "DEG2-CTP-TX"
-            },
-            "org-openroadm-network-topology:link-type": "DROP-LINK"
-          },
-          {
-            "link-id": "XPONDER-1-1XPDR-NW2-TX-toOpenROADM-1-1-SRG1-SRG1-PP2-RX",
-            "destination": {
-              "dest-tp": "SRG1-PP2-RX",
-              "dest-node": "OpenROADM-1-1-SRG1"
-            },
-            "source": {
-              "source-node": "XPONDER-1-1",
-              "source-tp": "XPDR-NW2-TX"
-            },
-            "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
-          }
-        ],
-        "node": [
-          {
-            "node-id": "OpenROADM-1-1-SRG1",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "SRG1-PP2-TX"
-              },
-              {
-                "tp-id": "SRG1-PP3-RX"
-              },
-              {
-                "tp-id": "SRG1-PP2-RX"
-              },
-              {
-                "tp-id": "SRG1-PP3-TX"
-              },
-              {
-                "tp-id": "SRG1-PP1-TX"
-              },
-              {
-                "tp-id": "SRG1-PP4-RX"
-              },
-              {
-                "tp-id": "SRG1-PP5-RX"
-              },
-              {
-                "tp-id": "SRG1-CP-RX"
-              },
-              {
-                "tp-id": "SRG1-PP1-RX"
-              },
-              {
-                "tp-id": "SRG1-CP-TX"
-              },
-              {
-                "tp-id": "SRG1-PP4-TX"
-              },
-              {
-                "tp-id": "SRG1-PP5-TX"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-1-1"
-              }
-            ],
-            "org-openroadm-network-topology:srg-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 1
-                },
-                {
-                  "index": 2
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            },
-            "org-openroadm-network-topology:node-type": "SRG"
-          },
-          {
-            "node-id": "OpenROADM-2-2-SRG1",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "SRG1-PP2-TX"
-              },
-              {
-                "tp-id": "SRG1-PP3-RX"
-              },
-              {
-                "tp-id": "SRG1-PP2-RX"
-              },
-              {
-                "tp-id": "SRG1-PP3-TX"
-              },
-              {
-                "tp-id": "SRG1-PP1-TX"
-              },
-              {
-                "tp-id": "SRG1-PP4-RX"
-              },
-              {
-                "tp-id": "SRG1-PP5-RX"
-              },
-              {
-                "tp-id": "SRG1-CP-RX"
-              },
-              {
-                "tp-id": "SRG1-PP1-RX"
-              },
-              {
-                "tp-id": "SRG1-CP-TX"
-              },
-              {
-                "tp-id": "SRG1-PP4-TX"
-              },
-              {
-                "tp-id": "SRG1-PP5-TX"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-2-2"
-              }
-            ],
-            "org-openroadm-network-topology:srg-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 5
-                },
-                {
-                  "index": 6
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            },
-            "org-openroadm-network-topology:node-type": "SRG"
-          },
-          {
-            "node-id": "OpenROADM-1-2-SRG1",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "SRG1-PP2-TX"
-              },
-              {
-                "tp-id": "SRG1-PP3-RX"
-              },
-              {
-                "tp-id": "SRG1-PP2-RX"
-              },
-              {
-                "tp-id": "SRG1-PP3-TX"
-              },
-              {
-                "tp-id": "SRG1-PP1-TX"
-              },
-              {
-                "tp-id": "SRG1-PP4-RX"
-              },
-              {
-                "tp-id": "SRG1-PP5-RX"
-              },
-              {
-                "tp-id": "SRG1-CP-RX"
-              },
-              {
-                "tp-id": "SRG1-PP1-RX"
-              },
-              {
-                "tp-id": "SRG1-CP-TX"
-              },
-              {
-                "tp-id": "SRG1-PP4-TX"
-              },
-              {
-                "tp-id": "SRG1-PP5-TX"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-1-2"
-              }
-            ],
-            "org-openroadm-network-topology:srg-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 1
-                },
-                {
-                  "index": 2
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            },
-            "org-openroadm-network-topology:node-type": "SRG"
-          },
-          {
-            "node-id": "OpenROADM-1-2-DEG1",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "DEG1-TTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
-              },
-              {
-                "tp-id": "DEG1-TTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-1-2-DEG1"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "DEGREE",
-            "org-openroadm-network-topology:degree-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 1
-                },
-                {
-                  "index": 2
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
+    "data": {
+        "network": [
+            {
+                "network-id": "openroadm-topology",
+                "ietf-network-topology:link": [
+                    {
+                        "link-id": "OpenROADM-1-2-DEG2-DEG2-CTP-TXtoOpenROADM-1-2-DEG1-DEG1-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG1-CTP-RX",
+                            "dest-node": "OpenROADM-1-2-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-DEG2",
+                            "source-tp": "DEG2-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-SRG1-SRG1-CP-TXtoOpenROADM-1-1-DEG2-DEG2-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG2-CTP-RX",
+                            "dest-node": "OpenROADM-1-1-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-SRG1",
+                            "source-tp": "SRG1-CP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ADD-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-SRG1-SRG1-CP-TXtoOpenROADM-1-2-DEG3-DEG3-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG3-CTP-RX",
+                            "dest-node": "OpenROADM-1-2-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-SRG1",
+                            "source-tp": "SRG1-CP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ADD-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-SRG1-SRG1-PP1-TX-to-XPONDER-1-1XPDR-NW1-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW1-RX",
+                            "dest-node": "XPONDER-1-1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-SRG1",
+                            "source-tp": "SRG1-PP1-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-SRG1-SRG1-CP-TXtoOpenROADM-1-1-DEG3-DEG3-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG3-CTP-RX",
+                            "dest-node": "OpenROADM-1-1-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-SRG1",
+                            "source-tp": "SRG1-CP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ADD-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-SRG1-SRG1-CP-TXtoOpenROADM-2-2-DEG1-DEG1-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG1-CTP-RX",
+                            "dest-node": "OpenROADM-2-2-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-SRG1",
+                            "source-tp": "SRG1-CP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ADD-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-DEG2-DEG2-CTP-TXtoOpenROADM-1-1-DEG1-DEG1-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG1-CTP-RX",
+                            "dest-node": "OpenROADM-1-1-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-DEG2",
+                            "source-tp": "DEG2-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "XPONDER-2-2XPDR-NW5-TX-toOpenROADM-2-2-SRG1-SRG1-PP5-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP5-RX",
+                            "dest-node": "OpenROADM-2-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-2-2",
+                            "source-tp": "XPDR-NW5-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-DEG2-DEG2-CTP-RXtoOpenROADM-1-2-SRG1-SRG1-CP-TX",
+                        "destination": {
+                            "dest-tp": "SRG1-CP-RX",
+                            "dest-node": "OpenROADM-1-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-DEG2",
+                            "source-tp": "DEG2-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "DROP-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-SRG1-SRG1-PP4-TX-to-XPONDER-2-2XPDR-NW4-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW4-RX",
+                            "dest-node": "XPONDER-2-2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-SRG1",
+                            "source-tp": "SRG1-PP4-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-SRG1-SRG1-CP-TXtoOpenROADM-1-2-DEG1-DEG1-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG1-CTP-RX",
+                            "dest-node": "OpenROADM-1-2-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-SRG1",
+                            "source-tp": "SRG1-CP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ADD-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-DEG3-DEG3-CTP-RXtoOpenROADM-2-2-SRG1-SRG1-CP-TX",
+                        "destination": {
+                            "dest-tp": "SRG1-CP-RX",
+                            "dest-node": "OpenROADM-2-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-DEG3",
+                            "source-tp": "DEG3-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "DROP-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-SRG1-SRG1-PP1-TX-to-XPONDER-2-2XPDR-NW1-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW1-RX",
+                            "dest-node": "XPONDER-2-2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-SRG1",
+                            "source-tp": "SRG1-PP1-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-SRG1-SRG1-CP-TXtoOpenROADM-1-1-DEG1-DEG1-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG1-CTP-RX",
+                            "dest-node": "OpenROADM-1-1-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-SRG1",
+                            "source-tp": "SRG1-CP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ADD-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-SRG1-SRG1-CP-TXtoOpenROADM-1-2-DEG2-DEG2-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG2-CTP-RX",
+                            "dest-node": "OpenROADM-1-2-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-SRG1",
+                            "source-tp": "SRG1-CP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ADD-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-SRG1-SRG1-PP4-TX-to-XPONDER-1-1XPDR-NW4-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW4-RX",
+                            "dest-node": "XPONDER-1-1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-SRG1",
+                            "source-tp": "SRG1-PP4-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-SRG1-SRG1-CP-TXtoOpenROADM-2-1-DEG3-DEG3-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG3-CTP-RX",
+                            "dest-node": "OpenROADM-2-1-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-SRG1",
+                            "source-tp": "SRG1-CP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ADD-LINK"
+                    },
+                    {
+                        "link-id": "XPONDER-1-1XPDR-NW5-TX-toOpenROADM-1-1-SRG1-SRG1-PP5-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP5-RX",
+                            "dest-node": "OpenROADM-1-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-1-1",
+                            "source-tp": "XPDR-NW5-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-SRG1-SRG1-CP-TXtoOpenROADM-2-1-DEG1-DEG1-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG1-CTP-RX",
+                            "dest-node": "OpenROADM-2-1-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-SRG1",
+                            "source-tp": "SRG1-CP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ADD-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-SRG1-SRG1-CP-TXtoOpenROADM-2-2-DEG2-DEG2-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG2-CTP-RX",
+                            "dest-node": "OpenROADM-2-2-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-SRG1",
+                            "source-tp": "SRG1-CP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ADD-LINK"
+                    },
+                    {
+                        "link-id": "XPONDER-1-2XPDR-NW3-TX-toOpenROADM-1-2-SRG1-SRG1-PP3-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP3-RX",
+                            "dest-node": "OpenROADM-1-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-1-2",
+                            "source-tp": "XPDR-NW3-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-DEG3-DEG3-CTP-RXtoOpenROADM-1-1-SRG1-SRG1-CP-TX",
+                        "destination": {
+                            "dest-tp": "SRG1-CP-RX",
+                            "dest-node": "OpenROADM-1-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-DEG3",
+                            "source-tp": "DEG3-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "DROP-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-SRG1-SRG1-CP-TXtoOpenROADM-2-1-DEG2-DEG2-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG2-CTP-RX",
+                            "dest-node": "OpenROADM-2-1-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-SRG1",
+                            "source-tp": "SRG1-CP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ADD-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-SRG1-SRG1-CP-TXtoOpenROADM-2-2-DEG3-DEG3-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG3-CTP-RX",
+                            "dest-node": "OpenROADM-2-2-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-SRG1",
+                            "source-tp": "SRG1-CP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ADD-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-DEG3-DEG3-CTP-TXtoOpenROADM-2-2-DEG2-DEG2-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG2-CTP-RX",
+                            "dest-node": "OpenROADM-2-2-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-DEG3",
+                            "source-tp": "DEG3-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-DEG3-DEG3-CTP-TXtoOpenROADM-2-1-DEG2-DEG2-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG2-CTP-RX",
+                            "dest-node": "OpenROADM-2-1-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-DEG3",
+                            "source-tp": "DEG3-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "XPONDER-2-1XPDR-NW3-TX-toOpenROADM-2-1-SRG1-SRG1-PP3-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP3-RX",
+                            "dest-node": "OpenROADM-2-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-2-1",
+                            "source-tp": "XPDR-NW3-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-SRG1-SRG1-PP4-TX-to-XPONDER-2-1XPDR-NW4-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW4-RX",
+                            "dest-node": "XPONDER-2-1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-SRG1",
+                            "source-tp": "SRG1-PP4-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "XPONDER-1-2XPDR-NW2-TX-toOpenROADM-1-2-SRG1-SRG1-PP2-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP2-RX",
+                            "dest-node": "OpenROADM-1-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-1-2",
+                            "source-tp": "XPDR-NW2-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-SRG1-SRG1-PP1-TX-to-XPONDER-2-1XPDR-NW1-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW1-RX",
+                            "dest-node": "XPONDER-2-1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-SRG1",
+                            "source-tp": "SRG1-PP1-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-DEG2-DEG2-CTP-TXtoOpenROADM-1-2-DEG3-DEG3-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG3-CTP-RX",
+                            "dest-node": "OpenROADM-1-2-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-DEG2",
+                            "source-tp": "DEG2-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "XPONDER-2-1XPDR-NW2-TX-toOpenROADM-2-1-SRG1-SRG1-PP2-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP2-RX",
+                            "dest-node": "OpenROADM-2-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-2-1",
+                            "source-tp": "XPDR-NW2-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-DEG1-DEG1-CTP-RXtoOpenROADM-2-1-SRG1-SRG1-CP-TX",
+                        "destination": {
+                            "dest-tp": "SRG1-CP-RX",
+                            "dest-node": "OpenROADM-2-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-DEG1",
+                            "source-tp": "DEG1-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "DROP-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-DEG2-DEG2-CTP-TXtoOpenROADM-1-1-DEG3-DEG3-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG3-CTP-RX",
+                            "dest-node": "OpenROADM-1-1-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-DEG2",
+                            "source-tp": "DEG2-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-SRG1-SRG1-PP5-TX-to-XPONDER-1-1XPDR-NW5-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW5-RX",
+                            "dest-node": "XPONDER-1-1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-SRG1",
+                            "source-tp": "SRG1-PP5-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-DEG3-to-OpenROADM-2-2-DEG3",
+                        "destination": {
+                            "dest-tp": "DEG3-TTP-RX",
+                            "dest-node": "OpenROADM-2-2-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-DEG3",
+                            "source-tp": "DEG3-TTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-DEG2-DEG2-CTP-TXtoOpenROADM-2-2-DEG1-DEG1-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG1-CTP-RX",
+                            "dest-node": "OpenROADM-2-2-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-DEG2",
+                            "source-tp": "DEG2-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-SRG1-SRG1-PP3-TX-to-XPONDER-1-2XPDR-NW3-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW3-RX",
+                            "dest-node": "XPONDER-1-2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-SRG1",
+                            "source-tp": "SRG1-PP3-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-DEG1-DEG1-CTP-TXtoOpenROADM-1-1-DEG2-DEG2-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG2-CTP-RX",
+                            "dest-node": "OpenROADM-1-1-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-DEG1",
+                            "source-tp": "DEG1-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-DEG3-DEG3-CTP-RXtoOpenROADM-2-1-SRG1-SRG1-CP-TX",
+                        "destination": {
+                            "dest-tp": "SRG1-CP-RX",
+                            "dest-node": "OpenROADM-2-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-DEG3",
+                            "source-tp": "DEG3-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "DROP-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-DEG1-DEG1-CTP-TXtoOpenROADM-1-2-DEG3-DEG3-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG3-CTP-RX",
+                            "dest-node": "OpenROADM-1-2-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-DEG1",
+                            "source-tp": "DEG1-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-DEG2-to-OpenROADM-2-1-DEG2",
+                        "destination": {
+                            "dest-tp": "DEG2-TTP-RX",
+                            "dest-node": "OpenROADM-2-1-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-DEG2",
+                            "source-tp": "DEG2-TTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
+                    },
+                    {
+                        "link-id": "XPONDER-2-2XPDR-NW4-TX-toOpenROADM-2-2-SRG1-SRG1-PP4-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP4-RX",
+                            "dest-node": "OpenROADM-2-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-2-2",
+                            "source-tp": "XPDR-NW4-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-DEG1-DEG1-CTP-RXtoOpenROADM-2-2-SRG1-SRG1-CP-TX",
+                        "destination": {
+                            "dest-tp": "SRG1-CP-RX",
+                            "dest-node": "OpenROADM-2-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-DEG1",
+                            "source-tp": "DEG1-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "DROP-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-DEG2-to-OpenROADM-2-2-DEG2",
+                        "destination": {
+                            "dest-tp": "DEG2-TTP-RX",
+                            "dest-node": "OpenROADM-2-2-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-DEG2",
+                            "source-tp": "DEG2-TTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-DEG3-DEG3-CTP-TXtoOpenROADM-2-2-DEG1-DEG1-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG1-CTP-RX",
+                            "dest-node": "OpenROADM-2-2-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-DEG3",
+                            "source-tp": "DEG3-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-DEG1-DEG1-CTP-TXtoOpenROADM-2-1-DEG2-DEG2-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG2-CTP-RX",
+                            "dest-node": "OpenROADM-2-1-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-DEG1",
+                            "source-tp": "DEG1-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "XPONDER-1-1XPDR-NW3-TX-toOpenROADM-1-1-SRG1-SRG1-PP3-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP3-RX",
+                            "dest-node": "OpenROADM-1-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-1-1",
+                            "source-tp": "XPDR-NW3-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "XPONDER-2-2XPDR-NW2-TX-toOpenROADM-2-2-SRG1-SRG1-PP2-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP2-RX",
+                            "dest-node": "OpenROADM-2-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-2-2",
+                            "source-tp": "XPDR-NW2-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-DEG2-to-OpenROADM-1-2-DEG2",
+                        "destination": {
+                            "dest-tp": "DEG2-TTP-RX",
+                            "dest-node": "OpenROADM-1-2-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-DEG2",
+                            "source-tp": "DEG2-TTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
+                    },
+                    {
+                        "link-id": "XPONDER-1-1XPDR-NW1-TX-toOpenROADM-1-1-SRG1-SRG1-PP1-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP1-RX",
+                            "dest-node": "OpenROADM-1-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-1-1",
+                            "source-tp": "XPDR-NW1-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-DEG2-DEG2-CTP-TXtoOpenROADM-2-1-DEG3-DEG3-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG3-CTP-RX",
+                            "dest-node": "OpenROADM-2-1-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-DEG2",
+                            "source-tp": "DEG2-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-DEG1-DEG1-CTP-RXtoOpenROADM-1-1-SRG1-SRG1-CP-TX",
+                        "destination": {
+                            "dest-tp": "SRG1-CP-RX",
+                            "dest-node": "OpenROADM-1-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-DEG1",
+                            "source-tp": "DEG1-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "DROP-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-SRG1-SRG1-PP3-TX-to-XPONDER-2-1XPDR-NW3-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW3-RX",
+                            "dest-node": "XPONDER-2-1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-SRG1",
+                            "source-tp": "SRG1-PP3-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-DEG2-DEG2-CTP-RXtoOpenROADM-2-1-SRG1-SRG1-CP-TX",
+                        "destination": {
+                            "dest-tp": "SRG1-CP-RX",
+                            "dest-node": "OpenROADM-2-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-DEG2",
+                            "source-tp": "DEG2-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "DROP-LINK"
+                    },
+                    {
+                        "link-id": "XPONDER-1-2XPDR-NW5-TX-toOpenROADM-1-2-SRG1-SRG1-PP5-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP5-RX",
+                            "dest-node": "OpenROADM-1-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-1-2",
+                            "source-tp": "XPDR-NW5-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "XPONDER-2-1XPDR-NW5-TX-toOpenROADM-2-1-SRG1-SRG1-PP5-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP5-RX",
+                            "dest-node": "OpenROADM-2-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-2-1",
+                            "source-tp": "XPDR-NW5-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-SRG1-SRG1-PP2-TX-to-XPONDER-1-2XPDR-NW2-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW2-RX",
+                            "dest-node": "XPONDER-1-2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-SRG1",
+                            "source-tp": "SRG1-PP2-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "XPONDER-2-2XPDR-NW3-TX-toOpenROADM-2-2-SRG1-SRG1-PP3-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP3-RX",
+                            "dest-node": "OpenROADM-2-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-2-2",
+                            "source-tp": "XPDR-NW3-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-DEG1-DEG1-CTP-TXtoOpenROADM-2-1-DEG3-DEG3-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG3-CTP-RX",
+                            "dest-node": "OpenROADM-2-1-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-DEG1",
+                            "source-tp": "DEG1-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-DEG3-DEG3-CTP-TXtoOpenROADM-1-1-DEG2-DEG2-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG2-CTP-RX",
+                            "dest-node": "OpenROADM-1-1-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-DEG3",
+                            "source-tp": "DEG3-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-SRG1-SRG1-PP5-TX-to-XPONDER-1-2XPDR-NW5-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW5-RX",
+                            "dest-node": "XPONDER-1-2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-SRG1",
+                            "source-tp": "SRG1-PP5-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "XPONDER-1-2XPDR-NW1-TX-toOpenROADM-1-2-SRG1-SRG1-PP1-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP1-RX",
+                            "dest-node": "OpenROADM-1-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-1-2",
+                            "source-tp": "XPDR-NW1-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-DEG3-DEG3-CTP-TXtoOpenROADM-1-1-DEG1-DEG1-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG1-CTP-RX",
+                            "dest-node": "OpenROADM-1-1-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-DEG3",
+                            "source-tp": "DEG3-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-DEG1-DEG1-CTP-TXtoOpenROADM-1-2-DEG2-DEG2-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG2-CTP-RX",
+                            "dest-node": "OpenROADM-1-2-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-DEG1",
+                            "source-tp": "DEG1-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-DEG2-to-OpenROADM-1-1-DEG2",
+                        "destination": {
+                            "dest-tp": "DEG2-TTP-RX",
+                            "dest-node": "OpenROADM-1-1-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-DEG2",
+                            "source-tp": "DEG2-TTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
+                    },
+                    {
+                        "link-id": "XPONDER-2-1XPDR-NW4-TX-toOpenROADM-2-1-SRG1-SRG1-PP4-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP4-RX",
+                            "dest-node": "OpenROADM-2-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-2-1",
+                            "source-tp": "XPDR-NW4-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-DEG1-DEG1-CTP-TXtoOpenROADM-2-2-DEG3-DEG3-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG3-CTP-RX",
+                            "dest-node": "OpenROADM-2-2-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-DEG1",
+                            "source-tp": "DEG1-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-DEG3-DEG3-CTP-TXtoOpenROADM-1-2-DEG1-DEG1-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG1-CTP-RX",
+                            "dest-node": "OpenROADM-1-2-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-DEG3",
+                            "source-tp": "DEG3-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "XPONDER-2-1XPDR-NW1-TX-toOpenROADM-2-1-SRG1-SRG1-PP1-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP1-RX",
+                            "dest-node": "OpenROADM-2-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-2-1",
+                            "source-tp": "XPDR-NW1-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-SRG1-SRG1-PP2-TX-to-XPONDER-2-2XPDR-NW2-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW2-RX",
+                            "dest-node": "XPONDER-2-2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-SRG1",
+                            "source-tp": "SRG1-PP2-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-SRG1-SRG1-PP2-TX-to-XPONDER-1-1XPDR-NW2-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW2-RX",
+                            "dest-node": "XPONDER-1-1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-SRG1",
+                            "source-tp": "SRG1-PP2-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-SRG1-SRG1-PP5-TX-to-XPONDER-2-2XPDR-NW5-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW5-RX",
+                            "dest-node": "XPONDER-2-2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-SRG1",
+                            "source-tp": "SRG1-PP5-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-DEG1-DEG1-CTP-RXtoOpenROADM-1-2-SRG1-SRG1-CP-TX",
+                        "destination": {
+                            "dest-tp": "SRG1-CP-RX",
+                            "dest-node": "OpenROADM-1-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-DEG1",
+                            "source-tp": "DEG1-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "DROP-LINK"
+                    },
+                    {
+                        "link-id": "XPONDER-1-2XPDR-NW4-TX-toOpenROADM-1-2-SRG1-SRG1-PP4-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP4-RX",
+                            "dest-node": "OpenROADM-1-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-1-2",
+                            "source-tp": "XPDR-NW4-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-DEG3-DEG3-CTP-RXtoOpenROADM-1-2-SRG1-SRG1-CP-TX",
+                        "destination": {
+                            "dest-tp": "SRG1-CP-RX",
+                            "dest-node": "OpenROADM-1-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-DEG3",
+                            "source-tp": "DEG3-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "DROP-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-DEG1-to-OpenROADM-2-1-DEG1",
+                        "destination": {
+                            "dest-tp": "DEG1-TTP-RX",
+                            "dest-node": "OpenROADM-2-1-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-DEG1",
+                            "source-tp": "DEG1-TTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-DEG2-DEG2-CTP-RXtoOpenROADM-1-1-SRG1-SRG1-CP-TX",
+                        "destination": {
+                            "dest-tp": "SRG1-CP-RX",
+                            "dest-node": "OpenROADM-1-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-DEG2",
+                            "source-tp": "DEG2-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "DROP-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-DEG2-DEG2-CTP-TXtoOpenROADM-2-2-DEG3-DEG3-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG3-CTP-RX",
+                            "dest-node": "OpenROADM-2-2-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-DEG2",
+                            "source-tp": "DEG2-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-DEG2-DEG2-CTP-TXtoOpenROADM-2-1-DEG1-DEG1-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG1-CTP-RX",
+                            "dest-node": "OpenROADM-2-1-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-DEG2",
+                            "source-tp": "DEG2-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-SRG1-SRG1-PP3-TX-to-XPONDER-2-2XPDR-NW3-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW3-RX",
+                            "dest-node": "XPONDER-2-2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-SRG1",
+                            "source-tp": "SRG1-PP3-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-SRG1-SRG1-PP2-TX-to-XPONDER-2-1XPDR-NW2-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW2-RX",
+                            "dest-node": "XPONDER-2-1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-SRG1",
+                            "source-tp": "SRG1-PP2-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-SRG1-SRG1-PP5-TX-to-XPONDER-2-1XPDR-NW5-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW5-RX",
+                            "dest-node": "XPONDER-2-1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-SRG1",
+                            "source-tp": "SRG1-PP5-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-DEG1-DEG1-CTP-TXtoOpenROADM-1-1-DEG3-DEG3-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG3-CTP-RX",
+                            "dest-node": "OpenROADM-1-1-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-DEG1",
+                            "source-tp": "DEG1-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-DEG1-to-OpenROADM-1-1-DEG1",
+                        "destination": {
+                            "dest-tp": "DEG1-TTP-RX",
+                            "dest-node": "OpenROADM-1-1-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-DEG1",
+                            "source-tp": "DEG1-TTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
+                    },
+                    {
+                        "link-id": "XPONDER-2-2XPDR-NW1-TX-toOpenROADM-2-2-SRG1-SRG1-PP1-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP1-RX",
+                            "dest-node": "OpenROADM-2-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-2-2",
+                            "source-tp": "XPDR-NW1-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-SRG1-SRG1-PP3-TX-to-XPONDER-1-1XPDR-NW3-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW3-RX",
+                            "dest-node": "XPONDER-1-1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-SRG1",
+                            "source-tp": "SRG1-PP3-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-1-DEG1-to-OpenROADM-1-2-DEG1",
+                        "destination": {
+                            "dest-tp": "DEG1-TTP-RX",
+                            "dest-node": "OpenROADM-1-2-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-1-DEG1",
+                            "source-tp": "DEG1-TTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-DEG3-DEG3-CTP-TXtoOpenROADM-1-2-DEG2-DEG2-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG2-CTP-RX",
+                            "dest-node": "OpenROADM-1-2-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-DEG3",
+                            "source-tp": "DEG3-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-SRG1-SRG1-PP1-TX-to-XPONDER-1-2XPDR-NW1-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW1-RX",
+                            "dest-node": "XPONDER-1-2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-SRG1",
+                            "source-tp": "SRG1-PP1-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-DEG3-to-OpenROADM-1-1-DEG3",
+                        "destination": {
+                            "dest-tp": "DEG3-TTP-RX",
+                            "dest-node": "OpenROADM-1-1-DEG3"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-DEG3",
+                            "source-tp": "DEG3-TTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
+                    },
+                    {
+                        "link-id": "XPONDER-1-1XPDR-NW4-TX-toOpenROADM-1-1-SRG1-SRG1-PP4-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP4-RX",
+                            "dest-node": "OpenROADM-1-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-1-1",
+                            "source-tp": "XPDR-NW4-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-DEG3-DEG3-CTP-TXtoOpenROADM-2-1-DEG1-DEG1-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG1-CTP-RX",
+                            "dest-node": "OpenROADM-2-1-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-DEG3",
+                            "source-tp": "DEG3-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-DEG1-DEG1-CTP-TXtoOpenROADM-2-2-DEG2-DEG2-CTP-RX",
+                        "destination": {
+                            "dest-tp": "DEG2-CTP-RX",
+                            "dest-node": "OpenROADM-2-2-DEG2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-DEG1",
+                            "source-tp": "DEG1-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "EXPRESS-LINK"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-1-DEG1-to-OpenROADM-2-2-DEG1",
+                        "destination": {
+                            "dest-tp": "DEG1-TTP-RX",
+                            "dest-node": "OpenROADM-2-2-DEG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-1-DEG1",
+                            "source-tp": "DEG1-TTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "ROADM-TO-ROADM"
+                    },
+                    {
+                        "link-id": "OpenROADM-1-2-SRG1-SRG1-PP4-TX-to-XPONDER-1-2XPDR-NW4-RX",
+                        "destination": {
+                            "dest-tp": "XPDR-NW4-RX",
+                            "dest-node": "XPONDER-1-2"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-1-2-SRG1",
+                            "source-tp": "SRG1-PP4-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-INPUT"
+                    },
+                    {
+                        "link-id": "OpenROADM-2-2-DEG2-DEG2-CTP-RXtoOpenROADM-2-2-SRG1-SRG1-CP-TX",
+                        "destination": {
+                            "dest-tp": "SRG1-CP-RX",
+                            "dest-node": "OpenROADM-2-2-SRG1"
+                        },
+                        "source": {
+                            "source-node": "OpenROADM-2-2-DEG2",
+                            "source-tp": "DEG2-CTP-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "DROP-LINK"
+                    },
+                    {
+                        "link-id": "XPONDER-1-1XPDR-NW2-TX-toOpenROADM-1-1-SRG1-SRG1-PP2-RX",
+                        "destination": {
+                            "dest-tp": "SRG1-PP2-RX",
+                            "dest-node": "OpenROADM-1-1-SRG1"
+                        },
+                        "source": {
+                            "source-node": "XPONDER-1-1",
+                            "source-tp": "XPDR-NW2-TX"
+                        },
+                        "org-openroadm-network-topology:link-type": "XPONDER-OUTPUT"
+                    }
+                ],
+                "node": [
+                    {
+                        "node-id": "OpenROADM-1-1-SRG1",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "SRG1-PP2-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP3-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP2-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP3-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP1-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP4-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP5-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-CP-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP1-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-CP-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP4-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP5-TX"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-1-1"
+                            }
+                        ],
+                        "org-openroadm-network-topology:srg-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        },
+                        "org-openroadm-network-topology:node-type": "SRG"
+                    },
+                    {
+                        "node-id": "OpenROADM-2-2-SRG1",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "SRG1-PP2-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP3-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP2-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP3-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP1-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP4-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP5-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-CP-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP1-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-CP-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP4-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP5-TX"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-2-2"
+                            }
+                        ],
+                        "org-openroadm-network-topology:srg-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        },
+                        "org-openroadm-network-topology:node-type": "SRG"
+                    },
+                    {
+                        "node-id": "OpenROADM-1-2-SRG1",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "SRG1-PP2-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP3-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP2-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP3-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP1-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP4-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP5-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-CP-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP1-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-CP-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP4-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP5-TX"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-1-2"
+                            }
+                        ],
+                        "org-openroadm-network-topology:srg-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        },
+                        "org-openroadm-network-topology:node-type": "SRG"
+                    },
+                    {
+                        "node-id": "OpenROADM-1-2-DEG1",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "DEG1-TTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-TTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-1-2-DEG1"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "DEGREE",
+                        "org-openroadm-network-topology:degree-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        }
+                    },
+                    {
+                        "node-id": "OpenROADM-2-2-DEG3",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "DEG1-TTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-TTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-2-2-DEG3"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "DEGREE",
+                        "org-openroadm-network-topology:degree-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        }
+                    },
+                    {
+                        "node-id": "OpenROADM-1-2-DEG3",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "DEG1-TTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-TTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-1-2-DEG3"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "DEGREE",
+                        "org-openroadm-network-topology:degree-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map":"//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        }
+                    },
+                    {
+                        "node-id": "OpenROADM-2-2-DEG2",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "DEG1-TTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-TTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-2-2-DEG2"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "DEGREE",
+                        "org-openroadm-network-topology:degree-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        }
+                    },
+                    {
+                        "node-id": "OpenROADM-1-2-DEG2",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "DEG1-TTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-TTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-1-2-DEG2"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "DEGREE",
+                        "org-openroadm-network-topology:degree-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        }
+                    },
+                    {
+                        "node-id": "OpenROADM-2-2-DEG1",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "DEG1-TTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-TTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-2-2-DEG1"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "DEGREE",
+                        "org-openroadm-network-topology:degree-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        }
+                    },
+                    {
+                        "node-id": "XPONDER-1-1",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "XPDR-NW5-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW4-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW4-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW2-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW3-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW1-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW5-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW2-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW3-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW1-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "XPONDER-1-1"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "XPONDER"
+                    },
+                    {
+                        "node-id": "XPONDER-1-2",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "XPDR-NW5-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW4-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW4-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW2-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW3-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW1-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW5-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW2-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW3-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW1-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "XPONDER-1-2"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "XPONDER"
+                    },
+                    {
+                        "node-id": "XPONDER-2-1",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "XPDR-NW5-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW4-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW4-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW2-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW3-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW1-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW5-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW2-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW3-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW1-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "XPONDER-2-1"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "XPONDER"
+                    },
+                    {
+                        "node-id": "OpenROADM-1-1-DEG3",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "DEG1-TTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-TTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-1-1-DEG3"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "DEGREE",
+                        "org-openroadm-network-topology:degree-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        }
+                    },
+                    {
+                        "node-id": "XPONDER-2-2",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "XPDR-NW5-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW4-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW4-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW2-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW3-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW1-TX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW5-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW2-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW3-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            },
+                            {
+                                "tp-id": "XPDR-NW1-RX",
+                                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
+                                "org-openroadm-network-topology:xpdr-network-attributes": {
+                                    "wavelength": {
+                                        "index": 2
+                                    }
+                                }
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "XPONDER-2-2"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "XPONDER"
+                    },
+                    {
+                        "node-id": "OpenROADM-2-1-SRG1",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "SRG1-PP2-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP3-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP2-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP3-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP1-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP4-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP5-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-CP-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP1-RX"
+                            },
+                            {
+                                "tp-id": "SRG1-CP-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP4-TX"
+                            },
+                            {
+                                "tp-id": "SRG1-PP5-TX"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-2-1"
+                            }
+                        ],
+                        "org-openroadm-network-topology:srg-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        },
+                        "org-openroadm-network-topology:node-type": "SRG"
+                    },
+                    {
+                        "node-id": "OpenROADM-2-1-DEG2",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "DEG1-TTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-TTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-2-1-DEG2"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "DEGREE",
+                        "org-openroadm-network-topology:degree-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        }
+                    },
+                    {
+                        "node-id": "OpenROADM-2-1-DEG3",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "DEG1-TTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-TTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-2-1-DEG3"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "DEGREE",
+                        "org-openroadm-network-topology:degree-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        }
+                    },
+                    {
+                        "node-id": "OpenROADM-1-1-DEG2",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "DEG1-TTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-TTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-1-1-DEG2"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "DEGREE",
+                        "org-openroadm-network-topology:degree-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        }
+                    },
+                    {
+                        "node-id": "OpenROADM-1-1-DEG1",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "DEG1-TTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-TTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-1-1-DEG1"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "DEGREE",
+                        "org-openroadm-network-topology:degree-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        }
+                    },
+                    {
+                        "node-id": "OpenROADM-2-1-DEG1",
+                        "ietf-network-topology:termination-point": [
+                            {
+                                "tp-id": "DEG1-TTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-TTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-RX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
+                            },
+                            {
+                                "tp-id": "DEG1-CTP-TX",
+                                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
+                            }
+                        ],
+                        "supporting-node": [
+                            {
+                                "network-ref": "Transport-underlay",
+                                "node-ref": "OpenROADM-2-1-DEG1"
+                            }
+                        ],
+                        "org-openroadm-network-topology:node-type": "DEGREE",
+                        "org-openroadm-network-topology:degree-attributes": {
+                            "avail-freq-maps": [
+                                {
+                                    "map-name": "cband",
+                                    "start-edge-freq": 191.325,
+                                    "freq-map-granularity": 6.25,
+                                    "effective-bits": 8,
+                                    "freq-map": "//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                                }
+                            ]
+                        }
+                    }
+                ]
             }
-          },
-          {
-            "node-id": "OpenROADM-2-2-DEG3",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "DEG1-TTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
-              },
-              {
-                "tp-id": "DEG1-TTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-2-2-DEG3"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "DEGREE",
-            "org-openroadm-network-topology:degree-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 5
-                },
-                {
-                  "index": 6
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            }
-          },
-          {
-            "node-id": "OpenROADM-1-2-DEG3",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "DEG1-TTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
-              },
-              {
-                "tp-id": "DEG1-TTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-1-2-DEG3"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "DEGREE",
-            "org-openroadm-network-topology:degree-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 1
-                },
-                {
-                  "index": 2
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            }
-          },
-          {
-            "node-id": "OpenROADM-2-2-DEG2",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "DEG1-TTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
-              },
-              {
-                "tp-id": "DEG1-TTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-2-2-DEG2"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "DEGREE",
-            "org-openroadm-network-topology:degree-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 5
-                },
-                {
-                  "index": 6
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            }
-          },
-          {
-            "node-id": "OpenROADM-1-2-DEG2",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "DEG1-TTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
-              },
-              {
-                "tp-id": "DEG1-TTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-1-2-DEG2"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "DEGREE",
-            "org-openroadm-network-topology:degree-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 1
-                },
-                {
-                  "index": 2
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            }
-          },
-          {
-            "node-id": "OpenROADM-2-2-DEG1",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "DEG1-TTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
-              },
-              {
-                "tp-id": "DEG1-TTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-2-2-DEG1"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "DEGREE",
-            "org-openroadm-network-topology:degree-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 5
-                },
-                {
-                  "index": 6
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            }
-          },
-          {
-            "node-id": "XPONDER-1-1",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "XPDR-NW5-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW4-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW4-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW2-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW3-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW1-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW5-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW2-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW3-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW1-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "XPONDER-1-1"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "XPONDER"
-          },
-          {
-            "node-id": "XPONDER-1-2",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "XPDR-NW5-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW4-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW4-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW2-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW3-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW1-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW5-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW2-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW3-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW1-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "XPONDER-1-2"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "XPONDER"
-          },
-          {
-            "node-id": "XPONDER-2-1",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "XPDR-NW5-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW4-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW4-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW2-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW3-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW1-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW5-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW2-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW3-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW1-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "XPONDER-2-1"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "XPONDER"
-          },
-          {
-            "node-id": "OpenROADM-1-1-DEG3",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "DEG1-TTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
-              },
-              {
-                "tp-id": "DEG1-TTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-1-1-DEG3"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "DEGREE",
-            "org-openroadm-network-topology:degree-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 1
-                },
-                {
-                  "index": 2
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            }
-          },
-          {
-            "node-id": "XPONDER-2-2",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "XPDR-NW5-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW4-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW4-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW2-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW3-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW1-TX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW5-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW2-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {}
-              },
-              {
-                "tp-id": "XPDR-NW3-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              },
-              {
-                "tp-id": "XPDR-NW1-RX",
-                "org-openroadm-network-topology:tp-type": "XPONDER-NETWORK",
-                "org-openroadm-network-topology:xpdr-network-attributes": {
-                  "wavelength": {
-                    "index": 2
-                  }
-                }
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "XPONDER-2-2"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "XPONDER"
-          },
-          {
-            "node-id": "OpenROADM-2-1-SRG1",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "SRG1-PP2-TX"
-              },
-              {
-                "tp-id": "SRG1-PP3-RX"
-              },
-              {
-                "tp-id": "SRG1-PP2-RX"
-              },
-              {
-                "tp-id": "SRG1-PP3-TX"
-              },
-              {
-                "tp-id": "SRG1-PP1-TX"
-              },
-              {
-                "tp-id": "SRG1-PP4-RX"
-              },
-              {
-                "tp-id": "SRG1-PP5-RX"
-              },
-              {
-                "tp-id": "SRG1-CP-RX"
-              },
-              {
-                "tp-id": "SRG1-PP1-RX"
-              },
-              {
-                "tp-id": "SRG1-CP-TX"
-              },
-              {
-                "tp-id": "SRG1-PP4-TX"
-              },
-              {
-                "tp-id": "SRG1-PP5-TX"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-2-1"
-              }
-            ],
-            "org-openroadm-network-topology:srg-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 5
-                },
-                {
-                  "index": 6
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            },
-            "org-openroadm-network-topology:node-type": "SRG"
-          },
-          {
-            "node-id": "OpenROADM-2-1-DEG2",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "DEG1-TTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
-              },
-              {
-                "tp-id": "DEG1-TTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-2-1-DEG2"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "DEGREE",
-            "org-openroadm-network-topology:degree-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 5
-                },
-                {
-                  "index": 6
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            }
-          },
-          {
-            "node-id": "OpenROADM-2-1-DEG3",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "DEG1-TTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
-              },
-              {
-                "tp-id": "DEG1-TTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-2-1-DEG3"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "DEGREE",
-            "org-openroadm-network-topology:degree-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 5
-                },
-                {
-                  "index": 6
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            }
-          },
-          {
-            "node-id": "OpenROADM-1-1-DEG2",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "DEG1-TTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
-              },
-              {
-                "tp-id": "DEG1-TTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-1-1-DEG2"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "DEGREE",
-            "org-openroadm-network-topology:degree-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 1
-                },
-                {
-                  "index": 2
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            }
-          },
-          {
-            "node-id": "OpenROADM-1-1-DEG1",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "DEG1-TTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
-              },
-              {
-                "tp-id": "DEG1-TTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-1-1-DEG1"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "DEGREE",
-            "org-openroadm-network-topology:degree-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 1
-                },
-                {
-                  "index": 2
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            }
-          },
-          {
-            "node-id": "OpenROADM-2-1-DEG1",
-            "ietf-network-topology:termination-point": [
-              {
-                "tp-id": "DEG1-TTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-TTP"
-              },
-              {
-                "tp-id": "DEG1-TTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-TTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-RX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-RX-CTP"
-              },
-              {
-                "tp-id": "DEG1-CTP-TX",
-                "org-openroadm-network-topology:tp-type": "DEGREE-TX-CTP"
-              }
-            ],
-            "supporting-node": [
-              {
-                "network-ref": "Transport-underlay",
-                "node-ref": "OpenROADM-2-1-DEG1"
-              }
-            ],
-            "org-openroadm-network-topology:node-type": "DEGREE",
-            "org-openroadm-network-topology:degree-attributes": {
-              "available-wavelengths": [
-                {
-                  "index": 5
-                },
-                {
-                  "index": 6
-                },
-                {
-                  "index": 3
-                },
-                {
-                  "index": 4
-                }
-              ]
-            }
-          }
         ]
-      }
-    ]
-  }
-}
\ No newline at end of file
+    }
+}
index df0dcb7547e54c9ba34a883df343ef0a9e31433a..e1794be89d7a067a0acd3eb054cbef3dd30ab480 100644 (file)
@@ -25,43 +25,44 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.transportpce.common.Timeouts;
 import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev181130.FrequencyGHz;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev181130.FrequencyTHz;
-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.AvailableWavelengthsKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengths;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengthsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengthsKey;
-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.CpAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CtpAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.PpAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.PpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.RxTtpAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.RxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.TxTtpAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.TxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrClientAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrNetworkAttributes;
-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.topology.rev181130.networks.network.node.termination.point.XpdrPortAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrPortAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.pp.attributes.UsedWavelength;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.pp.attributes.UsedWavelengthBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.pp.attributes.UsedWavelengthKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmTpType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengthsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev181130.xpdr.port.connection.attributes.Wavelength;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev181130.xpdr.port.connection.attributes.WavelengthBuilder;
+import org.opendaylight.transportpce.common.fixedflex.GridConstant;
+import org.opendaylight.transportpce.common.fixedflex.GridUtils;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyGHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyTHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev200529.degree.used.wavelengths.UsedWavelengths;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev200529.degree.used.wavelengths.UsedWavelengthsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev200529.degree.used.wavelengths.UsedWavelengthsKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CpAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CtpAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.PpAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.PpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.RxTtpAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.RxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.TxTtpAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.TxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrClientAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrNetworkAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrPortAttributes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrPortAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.pp.attributes.UsedWavelength;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.pp.attributes.UsedWavelengthBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.pp.attributes.UsedWavelengthKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMaps;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMapsKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev200529.xpdr.port.connection.attributes.Wavelength;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev200529.xpdr.port.connection.attributes.WavelengthBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.PathDescription;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.atoz.direction.AToZ;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.ztoa.direction.ZToA;
@@ -71,13 +72,11 @@ 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.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.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.NodeKey;
 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.node.TerminationPointKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder;
-import org.opendaylight.yangtools.yang.common.Uint32;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -85,6 +84,7 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
 
     private static final Logger LOG = LoggerFactory.getLogger(NetworkModelWavelengthServiceImpl.class);
     private final DataBroker dataBroker;
+    private final AvailFreqMapsKey availFreqMapKey = new AvailFreqMapsKey(GridConstant.C_BAND);
 
     public NetworkModelWavelengthServiceImpl(DataBroker dataBroker) {
         this.dataBroker = dataBroker;
@@ -166,14 +166,14 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 .Node.class, new NodeKey(new NodeId(nodeId))).augmentation(Node1.class).build();
     }
 
-    private InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+    private InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
         .Node1> createNode2IID(String nodeId) {
         return InstanceIdentifier
                 .builder(Networks.class).child(Network.class, new NetworkKey(
                 new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
                 .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network
-                .Node.class, new NodeKey(new NodeId(nodeId))).augmentation(org.opendaylight.yang.gen.v1.http.org
-                .openroadm.common.network.rev181130.Node1.class).build();
+                .Node.class, new NodeKey(new NodeId(nodeId))).augmentation(org.opendaylight.yang.gen.v1.http
+                        .org.openroadm.common.network.rev200529.Node1.class).build();
     }
 
     private Optional<Node1> getNode1FromDatastore(String nodeId) {
@@ -190,11 +190,11 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
         return nodeOpt;
     }
 
-    private Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+    private Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
         .Node1> getNode2FromDatastore(String nodeId) {
-        InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1>
+        InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1>
                 nodeIID = createNode2IID(nodeId);
-        Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1> nodeOpt;
+        Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1> nodeOpt;
         try (ReadTransaction nodeReadTx = this.dataBroker.newReadOnlyTransaction()) {
             nodeOpt = nodeReadTx.read(LogicalDatastoreType.CONFIGURATION, nodeIID)
                     .get(Timeouts.DATASTORE_READ, TimeUnit.MILLISECONDS);
@@ -206,136 +206,15 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
     }
 
     private void addAvailableWL(List<String> nodeIds, Long wavelengthNumber) {
-        WriteTransaction nodeWriteTx = this.dataBroker.newWriteOnlyTransaction();
-        for (String nodeId : nodeIds) {
-            Optional<Node1> node1Opt = getNode1FromDatastore(nodeId);
-            Node1 node1;
-            Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1> node2Opt =
-                getNode2FromDatastore(nodeId);
-            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 node2;
-            if (node2Opt.isPresent()) {
-                node2 = node2Opt.get();
-            } else {
-                LOG.error("Unable to get common-network node {} from topology {}! Skipping addition of available"
-                    + "wavelength for this node.", nodeId, NetworkUtils.OVERLAY_NETWORK_ID);
-                continue;
-            }
-            if (node1Opt.isPresent()) {
-                node1 = node1Opt.get();
-            } else {
-                LOG.error("Unable to get network-topology node {} from topology {}! Skipping addition of available"
-                    + "wavelength for this node.", nodeId, NetworkUtils.OVERLAY_NETWORK_ID);
-                continue;
-            }
-
-            Node1Builder node1Builder = new Node1Builder(node1);
-            switch (node2.getNodeType()) {
-                case DEGREE:
-                    DegreeAttributes degreeAttributes = node1.getDegreeAttributes();
-                    DegreeAttributesBuilder degreeAttributesBuilder;
-                    if (degreeAttributes == null) {
-                        degreeAttributesBuilder = new DegreeAttributesBuilder();
-                    } else {
-                        degreeAttributesBuilder = new DegreeAttributesBuilder(degreeAttributes);
-                    }
-                    Map<org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130
-                            .degree.node.attributes.AvailableWavelengthsKey,
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130
-                            .degree.node.attributes.AvailableWavelengths> availableDegreeWLs = new HashMap<>();
-                    availableDegreeWLs.putAll(degreeAttributesBuilder.getAvailableWavelengths());
-                    AvailableWavelengths availableWaveLength =
-                        new org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes
-                            .AvailableWavelengthsBuilder().setIndex(Uint32.valueOf(wavelengthNumber)).build();
-                    availableDegreeWLs.put(availableWaveLength.key(), availableWaveLength);
-                    degreeAttributesBuilder.setAvailableWavelengths(availableDegreeWLs);
-                    node1Builder.setDegreeAttributes(degreeAttributesBuilder.build());
-                    break;
-                case SRG:
-                    SrgAttributes srgAttributes = node1.getSrgAttributes();
-                    SrgAttributesBuilder srgAttributesBuilder;
-                    if (srgAttributes == null) {
-                        srgAttributesBuilder = new SrgAttributesBuilder();
-                    } else {
-                        srgAttributesBuilder = new SrgAttributesBuilder(srgAttributes);
-                    }
-                    Map<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                        .AvailableWavelengthsKey,
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                        .AvailableWavelengths> availableSrgWLs = new HashMap<>();
-                    availableSrgWLs.putAll(srgAttributesBuilder.getAvailableWavelengths());
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130
-                        .srg.node.attributes.AvailableWavelengths aval =
-                            new AvailableWavelengthsBuilder().setIndex(Uint32.valueOf(wavelengthNumber))
-                                    .build();
-                    availableSrgWLs.put(aval.key(),aval);
-                    srgAttributesBuilder.setAvailableWavelengths(availableSrgWLs);
-                    node1Builder.setSrgAttributes(srgAttributesBuilder.build());
-                    break;
-
-                default:
-                    // TODO skip for now
-                    continue;
-            }
-            nodeWriteTx.put(LogicalDatastoreType.CONFIGURATION, createNode1IID(nodeId), node1Builder.build());
-        }
-        try {
-            nodeWriteTx.commit().get(Timeouts.DATASTORE_DELETE, TimeUnit.MILLISECONDS);
-        } catch (InterruptedException | ExecutionException | TimeoutException e) {
-            LOG.error("Unable to add available WL {} for nodes {}!", wavelengthNumber, String.join(", ", nodeIds), e);
-        }
+        updateFreqMaps4Nodes(nodeIds, wavelengthNumber, true);
     }
 
-    private void deleteAvailableWL(List<String> nodeIds, Long wavelengthNumber) {
-        WriteTransaction nodeWriteTx = this.dataBroker.newWriteOnlyTransaction();
-        for (String nodeId : nodeIds) {
-            Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1> nodeOpt =
-                getNode2FromDatastore(nodeId);
-            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 node;
-            if (nodeOpt.isPresent()) {
-                node = nodeOpt.get();
-            } else {
-                LOG.error(
-                    "Unable to get node {} from topology {}! Skipping addition of available wavelength for this node.",
-                         nodeId, NetworkUtils.OVERLAY_NETWORK_ID);
-                continue;
-            }
 
-            InstanceIdentifierBuilder<Node1> nodeIIDBuilder = InstanceIdentifier.builder(Networks.class)
-                .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
-                .child(Node.class, new NodeKey(new NodeId(nodeId))).augmentation(Node1.class);
-            InstanceIdentifier availableWlIID;
 
-            switch (node.getNodeType()) {
-            //switch (((org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1) node)
-            //        .getNodeType()) {
-                case DEGREE:
-                    availableWlIID = nodeIIDBuilder.child(DegreeAttributes.class)
-                            .child(org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node
-                                    .attributes.AvailableWavelengths.class,
-                                    new AvailableWavelengthsKey(Uint32.valueOf(wavelengthNumber)))
-                            .build();
-                    break;
-                case SRG:
-                    availableWlIID = nodeIIDBuilder.child(SrgAttributes.class)
-                            .child(org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                                            .AvailableWavelengths.class,
-                                    new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node
-                                            .attributes.AvailableWavelengthsKey(Uint32.valueOf(wavelengthNumber)))
-                            .build();
-                    break;
 
-                default:
-                    // TODO skip for now
-                    continue;
-            }
-            nodeWriteTx.delete(LogicalDatastoreType.CONFIGURATION, availableWlIID);
-        }
-        try {
-            nodeWriteTx.commit().get(Timeouts.DATASTORE_DELETE, TimeUnit.MILLISECONDS);
-        } catch (InterruptedException | ExecutionException | TimeoutException e) {
-            LOG.error("Unable to delete available WL {} for nodes {}!", wavelengthNumber, String.join(", ", nodeIds),
-                    e);
-        }
+
+    private void deleteAvailableWL(List<String> nodeIds, Long wavelengthNumber) {
+        updateFreqMaps4Nodes(nodeIds, wavelengthNumber, false);
     }
 
     private InstanceIdentifierBuilder<TerminationPoint1> createTerminationPoint1IIDBuilder(String nodeId, String tpId) {
@@ -349,7 +228,7 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 .augmentation(TerminationPoint1.class);
     }
 
-    private InstanceIdentifierBuilder<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+    private InstanceIdentifierBuilder<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
         .TerminationPoint1> createTerminationPoint2IIDBuilder(String nodeId, String tpId) {
         return InstanceIdentifier
                 .builder(Networks.class).child(Network.class, new NetworkKey(
@@ -358,7 +237,7 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 .augmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
                 .Node1.class).child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology
                 .rev180226.networks.network.node.TerminationPoint.class, new TerminationPointKey(new TpId(tpId)))
-                .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+                .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                     .TerminationPoint1.class);
     }
 
@@ -376,11 +255,11 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
         return tpOpt;
     }
 
-    private Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+    private Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
         .TerminationPoint1> getTerminationPoint2FromDatastore(String nodeId, String tpId) {
-        InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+        InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
             .TerminationPoint1> tpIID = createTerminationPoint2IIDBuilder(nodeId, tpId).build();
-        Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1> tpOpt;
+        Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1> tpOpt;
         try (ReadTransaction readTx = this.dataBroker.newReadOnlyTransaction()) {
             tpOpt = readTx.read(LogicalDatastoreType.CONFIGURATION, tpIID)
                     .get(Timeouts.DATASTORE_READ, TimeUnit.MILLISECONDS);
@@ -395,73 +274,99 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
     private void deleteUsedWL(long wavelengthIndex, List<NodeIdPair> tpIds) {
         WriteTransaction deleteUsedWlTx = this.dataBroker.newWriteOnlyTransaction();
         for (NodeIdPair idPair : tpIds) {
-            Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+            Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                 .TerminationPoint1> tp2Opt = getTerminationPoint2FromDatastore(idPair.getNodeID(), idPair.getTpID());
 
             OpenroadmTpType tpType;
             if (tp2Opt.isPresent()) {
                 tpType = tp2Opt.get().getTpType();
-                //    ((org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1)
-                //        tpOpt.get()).getTpType();
             } else {
                 LOG.error("Unable to get termination point {} from topology {}! Skipping removal of used wavelength"
                         + " for this node.", idPair.getTpID(), NetworkUtils.OVERLAY_NETWORK_ID);
                 continue;
             }
+            Optional<TerminationPoint1> tp1Opt = getTerminationPoint1FromDatastore(idPair.getNodeID(),
+                    idPair.getTpID());
             InstanceIdentifier.InstanceIdentifierBuilder<TerminationPoint1> usedWlIIDBuilder =
                     createTerminationPoint1IIDBuilder(idPair.getNodeID(), idPair.getTpID());
-            InstanceIdentifier usedWlIID;
             switch (tpType) {
                 case DEGREETXTTP:
                 case DEGREETXRXTTP:
-                    usedWlIID = usedWlIIDBuilder.child(TxTtpAttributes.class).child(UsedWavelengths.class,
-                            new UsedWavelengthsKey(Uint32.valueOf(wavelengthIndex))).build();
+                    deleteUsedWlTx.delete(LogicalDatastoreType.CONFIGURATION,
+                            usedWlIIDBuilder.child(TxTtpAttributes.class).child(UsedWavelengths.class,
+                                    new UsedWavelengthsKey((int)wavelengthIndex)).build());
                     break;
 
                 case DEGREERXTTP:
-                    usedWlIID = usedWlIIDBuilder.child(RxTtpAttributes.class).child(UsedWavelengths.class,
-                            new UsedWavelengthsKey(Uint32.valueOf(wavelengthIndex))).build();
+                    deleteUsedWlTx.delete(LogicalDatastoreType.CONFIGURATION,
+                            usedWlIIDBuilder.child(RxTtpAttributes.class).child(UsedWavelengths.class,
+                                    new UsedWavelengthsKey((int)wavelengthIndex)).build());
                     break;
 
                 case DEGREETXCTP:
                 case DEGREERXCTP:
                 case DEGREETXRXCTP:
-                    usedWlIID = usedWlIIDBuilder.child(CtpAttributes.class).child(UsedWavelengths.class,
-                            new UsedWavelengthsKey(Uint32.valueOf(wavelengthIndex))).build();
+                    if (tp1Opt.isPresent()) {
+                        TerminationPoint1 tp1 = tp1Opt.get();
+                        TerminationPoint1Builder tp1Builder = new TerminationPoint1Builder(tp1);
+                        CtpAttributesBuilder ctpAttributesBuilder;
+                        if (tp1Builder.getCtpAttributes() != null) {
+                            ctpAttributesBuilder = new CtpAttributesBuilder(tp1Builder.getCtpAttributes());
+                            Map<AvailFreqMapsKey, AvailFreqMaps> availFreqMapsMap = tp1Builder.getCtpAttributes()
+                                    .nonnullAvailFreqMaps();
+                            ctpAttributesBuilder
+                                    .setAvailFreqMaps(updateFreqMaps(wavelengthIndex, availFreqMapsMap, true));
+                            deleteUsedWlTx.merge(LogicalDatastoreType.CONFIGURATION,
+                                    createTerminationPoint1IIDBuilder(idPair.getNodeID(),
+                                            idPair.getTpID()).build(), tp1Builder.build());
+                        }
+                    }
                     break;
 
                 case SRGTXCP:
                 case SRGRXCP:
                 case SRGTXRXCP:
-                    usedWlIID = usedWlIIDBuilder.child(CpAttributes.class).child(org.opendaylight.yang.gen.v1.http.org
-                        .openroadm.network.topology.rev181130.networks.network.node.termination.point.cp.attributes
-                        .UsedWavelengths.class, new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology
-                        .rev181130.networks.network.node.termination.point.cp.attributes
-                        .UsedWavelengthsKey(Uint32.valueOf(wavelengthIndex))).build();
+                    if (tp1Opt.isPresent()) {
+                        TerminationPoint1 tp1 = tp1Opt.get();
+                        TerminationPoint1Builder tp1Builder = new TerminationPoint1Builder(tp1);
+                        CpAttributesBuilder cpAttributesBuilder;
+                        if (tp1Builder.getCpAttributes() != null) {
+                            cpAttributesBuilder = new CpAttributesBuilder(tp1Builder.getCpAttributes());
+                            Map<AvailFreqMapsKey, AvailFreqMaps> availFreqMapsMap = tp1Builder.getCpAttributes()
+                                    .nonnullAvailFreqMaps();
+                            cpAttributesBuilder
+                                    .setAvailFreqMaps(updateFreqMaps(wavelengthIndex, availFreqMapsMap, true));
+                            deleteUsedWlTx.merge(LogicalDatastoreType.CONFIGURATION,
+                                    createTerminationPoint1IIDBuilder(idPair.getNodeID(),
+                                            idPair.getTpID()).build(), tp1Builder.build());
+                        }
+                    }
                     break;
 
                 case SRGTXRXPP:
                 case SRGRXPP:
                 case SRGTXPP:
-                    usedWlIID = usedWlIIDBuilder.child(PpAttributes.class).child(UsedWavelength.class,
-                            new UsedWavelengthKey(Uint32.valueOf(wavelengthIndex))).build();
+                    deleteUsedWlTx.delete(LogicalDatastoreType.CONFIGURATION,
+                            usedWlIIDBuilder.child(PpAttributes.class).child(UsedWavelength.class,
+                                    new UsedWavelengthKey((int)wavelengthIndex)).build());
                     break;
 
                 case XPONDERNETWORK:
-                    usedWlIID = usedWlIIDBuilder.child(XpdrNetworkAttributes.class).child(Wavelength.class).build();
+                    deleteUsedWlTx.delete(LogicalDatastoreType.CONFIGURATION,
+                            usedWlIIDBuilder.child(XpdrNetworkAttributes.class).child(Wavelength.class).build());
                     break;
                 case XPONDERCLIENT:
-                    usedWlIID = usedWlIIDBuilder.child(XpdrClientAttributes.class).child(Wavelength.class).build();
+                    deleteUsedWlTx.delete(LogicalDatastoreType.CONFIGURATION,
+                            usedWlIIDBuilder.child(XpdrClientAttributes.class).child(Wavelength.class).build());
                     break;
                 case XPONDERPORT:
-                    usedWlIID = usedWlIIDBuilder.child(XpdrPortAttributes.class).child(Wavelength.class).build();
+                    deleteUsedWlTx.delete(LogicalDatastoreType.CONFIGURATION,
+                            usedWlIIDBuilder.child(XpdrPortAttributes.class).child(Wavelength.class).build());
                     break;
 
                 default:
-                    // TODO skip for now
-                    continue;
+                    break;
             }
-            deleteUsedWlTx.delete(LogicalDatastoreType.CONFIGURATION, usedWlIID);
         }
         try {
             deleteUsedWlTx.commit().get(Timeouts.DATASTORE_DELETE, TimeUnit.MILLISECONDS);
@@ -475,13 +380,14 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
         WriteTransaction addUsedWlTx = this.dataBroker.newWriteOnlyTransaction();
         FixedFlexImpl fixedFlex = new FixedFlexImpl(wavelengthIndex);
         FrequencyTHz centralTHz = new FrequencyTHz(new BigDecimal(fixedFlex.getCenterFrequency()));
+        Map<AvailFreqMapsKey, AvailFreqMaps> availFreqMapsMap;
         for (NodeIdPair idPair : tpIds) {
             Optional<TerminationPoint1> tp1Opt =
                 getTerminationPoint1FromDatastore(idPair.getNodeID(), idPair.getTpID());
             TerminationPoint1 tp1 = null;
-            Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+            Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                 .TerminationPoint1> tp2Opt = getTerminationPoint2FromDatastore(idPair.getNodeID(), idPair.getTpID());
-            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1 tp2;
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1 tp2;
             if (tp2Opt.isPresent()) {
                 tp2 = tp2Opt.get();
             } else {
@@ -498,11 +404,9 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 tp1Builder = new TerminationPoint1Builder();
             }
 
-            UsedWavelengths usedWaveLength = new UsedWavelengthsBuilder().setIndex(Uint32.valueOf(wavelengthIndex))
+            UsedWavelengths usedWaveLength = new UsedWavelengthsBuilder().setIndex((int)wavelengthIndex)
                 .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build();
             switch (tp2.getTpType()) {
-            //switch (((org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1) tp)
-            //        .getTpType()) {
                 case DEGREETXTTP:
                 case DEGREETXRXTTP:
                     TxTtpAttributes txTtpAttributes = null;
@@ -546,20 +450,17 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 case DEGREERXCTP:
                 case DEGREETXRXCTP:
                     CtpAttributes ctpAttributes = null;
-                    Map<UsedWavelengthsKey,UsedWavelengths> usedDegreeCtpWls;
                     if (tp1 != null) {
                         ctpAttributes = tp1.getCtpAttributes();
                     }
                     CtpAttributesBuilder ctpAttributesBuilder;
-                    usedDegreeCtpWls = new HashMap<>();
                     if (ctpAttributes == null) {
                         ctpAttributesBuilder = new CtpAttributesBuilder();
                     } else {
                         ctpAttributesBuilder = new CtpAttributesBuilder(ctpAttributes);
-                        usedDegreeCtpWls.putAll(ctpAttributesBuilder.getUsedWavelengths());
                     }
-                    usedDegreeCtpWls.put(usedWaveLength.key(),usedWaveLength);
-                    ctpAttributesBuilder.setUsedWavelengths(usedDegreeCtpWls);
+                    availFreqMapsMap = ctpAttributesBuilder.getAvailFreqMaps();
+                    ctpAttributesBuilder.setAvailFreqMaps(updateFreqMaps(wavelengthIndex, availFreqMapsMap, false));
                     tp1Builder.setCtpAttributes(ctpAttributesBuilder.build());
                     break;
 
@@ -567,29 +468,17 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 case SRGRXCP:
                 case SRGTXRXCP:
                     CpAttributes cpAttributes = null;
-                    Map<org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network
-                        .node.termination.point.cp.attributes.UsedWavelengthsKey,
-                        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network
-                        .node.termination.point.cp.attributes.UsedWavelengths> usedDegreeCpWls;
                     if (tp1 != null) {
                         cpAttributes = tp1.getCpAttributes();
                     }
                     CpAttributesBuilder cpAttributesBuilder;
-                    usedDegreeCpWls = new HashMap<>();
                     if (cpAttributes == null) {
                         cpAttributesBuilder = new CpAttributesBuilder();
                     } else {
                         cpAttributesBuilder = new CpAttributesBuilder(cpAttributes);
-                        usedDegreeCpWls.putAll(cpAttributesBuilder.getUsedWavelengths());
                     }
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks
-                        .network.node.termination.point.cp.attributes.UsedWavelengths cpUsedWaveLength =
-                            new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
-                                .networks.network.node.termination.point.cp.attributes.UsedWavelengthsBuilder()
-                                .setIndex(Uint32.valueOf(wavelengthIndex))
-                                .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build();
-                    usedDegreeCpWls.put(cpUsedWaveLength.key(),cpUsedWaveLength);
-                    cpAttributesBuilder.setUsedWavelengths(usedDegreeCpWls);
+                    availFreqMapsMap = cpAttributesBuilder.getAvailFreqMaps();
+                    cpAttributesBuilder.setAvailFreqMaps(updateFreqMaps(wavelengthIndex, availFreqMapsMap, false));
                     tp1Builder.setCpAttributes(cpAttributesBuilder.build());
                     break;
 
@@ -610,7 +499,7 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                         usedDegreePpWls.putAll(ppAttributesBuilder.getUsedWavelength());
                     }
                     UsedWavelength usedDegreeWaveLength = new UsedWavelengthBuilder()
-                            .setIndex(Uint32.valueOf(wavelengthIndex))
+                            .setIndex((int)wavelengthIndex)
                             .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build();
                     usedDegreePpWls.put(usedDegreeWaveLength.key(),usedDegreeWaveLength);
                     ppAttributesBuilder.setUsedWavelength(usedDegreePpWls);
@@ -666,4 +555,98 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
             LOG.error("Unable to add used WL {} for TPs {}!", wavelengthIndex, String.join(", ", tpIdsString), e);
         }
     }
+
+    /**
+     * Update availFreqMapsMap for wavelengthNumber for nodes in nodeIds.
+     * @param nodeIds List of node id.
+     * @param wavelengthNumber Long
+     * @param isSlotAvailable boolean true if waveLength is available, false otherwise.
+     */
+    //TODO: reduce its Cognitive Complexity from 21 to the 15
+    private void updateFreqMaps4Nodes(List<String> nodeIds, Long wavelengthNumber, boolean isSlotAvailable) {
+        WriteTransaction nodeWriteTx = this.dataBroker.newWriteOnlyTransaction();
+        Map<AvailFreqMapsKey, AvailFreqMaps> availFreqMapsMap;
+        String action = isSlotAvailable ? "addition" : "deletion";
+        for (String nodeId : nodeIds) {
+            Optional<Node1> node1Opt = getNode1FromDatastore(nodeId);
+            Optional<org.opendaylight.yang.gen.v1
+                .http.org.openroadm.common.network.rev200529.Node1> node2Opt = getNode2FromDatastore(nodeId);
+            if (!node1Opt.isPresent() || !node2Opt.isPresent()) {
+                LOG.error(
+                        "From topology {} for node id {} -> Get common-network : {} ! "
+                                + "Get network-topology : {} ! Skipping {} of available wavelength for this node.",
+                        NetworkUtils.OVERLAY_NETWORK_ID, nodeId, node1Opt.isPresent(), node2Opt.isPresent(), action);
+                continue;
+            }
+            Node1 node1 = node1Opt.get();
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 node2 = node2Opt.get();
+            Node1Builder node1Builder = new Node1Builder(node1);
+            switch (node2.getNodeType()) {
+                case DEGREE:
+                    DegreeAttributes degreeAttributes = node1.getDegreeAttributes();
+                    DegreeAttributesBuilder degreeAttributesBuilder;
+                    if (degreeAttributes == null) {
+                        degreeAttributesBuilder = new DegreeAttributesBuilder();
+                    } else {
+                        degreeAttributesBuilder = new DegreeAttributesBuilder(degreeAttributes);
+                    }
+                    availFreqMapsMap = degreeAttributesBuilder.getAvailFreqMaps();
+                    degreeAttributesBuilder
+                    .setAvailFreqMaps(updateFreqMaps(wavelengthNumber, availFreqMapsMap, isSlotAvailable));
+                    node1Builder.setDegreeAttributes(degreeAttributesBuilder.build());
+                    break;
+                case SRG:
+                    SrgAttributes srgAttributes = node1.getSrgAttributes();
+                    SrgAttributesBuilder srgAttributesBuilder;
+                    if (srgAttributes == null) {
+                        srgAttributesBuilder = new SrgAttributesBuilder();
+                    } else {
+                        srgAttributesBuilder = new SrgAttributesBuilder(srgAttributes);
+                    }
+                    availFreqMapsMap = srgAttributesBuilder.getAvailFreqMaps();
+                    srgAttributesBuilder
+                    .setAvailFreqMaps(updateFreqMaps(wavelengthNumber, availFreqMapsMap, isSlotAvailable));
+                    node1Builder.setSrgAttributes(srgAttributesBuilder.build());
+                    break;
+                default:
+                    LOG.warn("Node type not managed {}", node2.getNodeType());
+                    break;
+            }
+            nodeWriteTx.put(LogicalDatastoreType.CONFIGURATION, createNode1IID(nodeId), node1Builder.build());
+        }
+        try {
+            nodeWriteTx.commit().get(Timeouts.DATASTORE_WRITE, TimeUnit.MILLISECONDS);
+        } catch (ExecutionException | TimeoutException e) {
+            LOG.error("Cannot perform {} WL {} for nodes {}!", action, wavelengthNumber, String.join(", ", nodeIds), e);
+        } catch (InterruptedException e) {
+            LOG.error("{} interrupted  WL {} for nodes {}!", action, wavelengthNumber, String.join(", ", nodeIds), e);
+            Thread.currentThread().interrupt();
+        }
+    }
+
+    /**
+     * Update availFreqMapsMap for wavelengthNumber.
+     * @param wavelengthNumber Long
+     * @param availFreqMapsMap Map
+     * @param isSlotAvailable boolean
+     * @return availFreqMapsMap updated for wavelengthNumber.
+     */
+    private Map<AvailFreqMapsKey, AvailFreqMaps> updateFreqMaps(Long wavelengthNumber,
+            Map<AvailFreqMapsKey, AvailFreqMaps> availFreqMapsMap, boolean isSlotAvailable) {
+        byte slotValue = (byte)GridConstant.USED_SLOT_VALUE;
+        if (isSlotAvailable) {
+            slotValue = (byte)GridConstant.AVAILABLE_SLOT_VALUE;
+        }
+        if (availFreqMapsMap == null) {
+            availFreqMapsMap = GridUtils.initFreqMaps4FixedGrid2Available();
+        }
+        AvailFreqMaps availFreqMaps = availFreqMapsMap.get(availFreqMapKey);
+        if (availFreqMaps != null && availFreqMaps.getFreqMap() != null) {
+            int intWlNumber = wavelengthNumber.intValue();
+            if (intWlNumber > 0 && intWlNumber <= availFreqMaps.getFreqMap().length) {
+                availFreqMaps.getFreqMap()[intWlNumber - 1] = slotValue;
+            }
+        }
+        return availFreqMapsMap;
+    }
 }
index 363d6eb97c811349840c4ff8607dacf96e9e5cb0..69b46a6d66b771da6cc817ad0e95fc1af882e3c2 100644 (file)
@@ -70,7 +70,7 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.node.interfaces.NodeInterfaceBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.node.interfaces.NodeInterfaceKey;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.olm.renderer.input.Nodes;
-import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.OtnLinkType;
+import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.OtnLinkType;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
index 655b329b5f2c7af43cc9271f66ffe2bc2cd80e26..8febfdc3d5b5cdb1a95eba8500d688c8f5441102 100644 (file)
@@ -34,7 +34,7 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.node.interfaces.NodeInterfaceBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.node.interfaces.NodeInterfaceKey;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.otn.renderer.input.Nodes;
-import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.OtnLinkType;
+import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.OtnLinkType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
index 22b6db6227af91dc461479d4e4590c025acfa79d..c65257c4434f3ac2a4217f3984341b942832b273 100644 (file)
@@ -11,6 +11,7 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ExecutionException;
@@ -24,57 +25,56 @@ import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
 import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
+import org.opendaylight.transportpce.common.fixedflex.FixedGridConstant;
+import org.opendaylight.transportpce.common.fixedflex.GridConstant;
 import org.opendaylight.transportpce.renderer.stub.MountPointServiceStub;
 import org.opendaylight.transportpce.renderer.stub.MountPointStub;
 import org.opendaylight.transportpce.renderer.utils.ServiceDeleteDataUtils;
 import org.opendaylight.transportpce.renderer.utils.WaveLengthServiceUtils;
 import org.opendaylight.transportpce.test.AbstractTest;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev181130.FrequencyGHz;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev181130.FrequencyTHz;
-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.used.wavelengths.UsedWavelengths;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengthsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengthsKey;
-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.DegreeAttributesBuilder;
-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.CpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.PpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.RxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.TxTtpAttributesBuilder;
-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.topology.rev181130.networks.network.node.termination.point.XpdrPortAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.pp.attributes.UsedWavelength;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.pp.attributes.UsedWavelengthBuilder;
-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.xponder.rev181130.xpdr.port.connection.attributes.WavelengthBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyGHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyTHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.PpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.RxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.TxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrClientAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrPortAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMaps;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMapsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMapsKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev200529.xpdr.port.connection.attributes.WavelengthBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.PathDescription;
-import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.common.Uint16;
 
 @Ignore
 @RunWith(Parameterized.class)
 public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
-    private static final Uint32 UI32_WAVE_LENGTH = Uint32.valueOf(20);
     private static final long WAVE_LENGTH = 20L;
     private NetworkModelWavelengthService networkModelWavelengthService;
     private DeviceTransactionManager deviceTransactionManager;
     private TerminationPoint1 terminationPoint1;
-    private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+    private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
         .TerminationPoint1 terminationPoint2;
     private PathDescription pathDescription;
     private Node1 node1;
-    private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 node2;
+    private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 node2;
+    private final AvailFreqMapsKey freqMapKey = new AvailFreqMapsKey(GridConstant.C_BAND);
 
     public NetworkModelWaveLengthServiceFreeTest(PathDescription pathDescription, TerminationPoint1 terminationPoint1,
         Node1 node1,
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1 terminationPoint2,
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 node2) {
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1 terminationPoint2,
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 node2) {
 
         this.pathDescription = pathDescription;
         this.terminationPoint1 = terminationPoint1;
@@ -93,39 +93,37 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
 
         FixedFlexImpl fixedFlex = new FixedFlexImpl();
         fixedFlex = fixedFlex.getFixedFlexWaveMapping(WAVE_LENGTH);
-        FrequencyGHz frequencyGHz = new FrequencyGHz(new BigDecimal(fixedFlex.getWavelength()));
-        FrequencyTHz frequencyTHz = new FrequencyTHz(new BigDecimal(fixedFlex.getCenterFrequency()));
 
-        UsedWavelength usedWaveLength = (new UsedWavelengthBuilder()).setIndex(UI32_WAVE_LENGTH).build();
-        UsedWavelengths usedWaveLengthDegree = (new UsedWavelengthsBuilder()).setIndex(UI32_WAVE_LENGTH).build();
-        Map<UsedWavelengthsKey, UsedWavelengths> usedWaveLengthDegreeMap =
-                Map.of(usedWaveLengthDegree.key(),usedWaveLengthDegree);
-        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
-            .networks.network.node.termination.point.cp.attributes.UsedWavelengths usedWaveLentgthCp =
-                (new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks
-                    .network.node.termination.point.cp.attributes.UsedWavelengthsBuilder())
-                        .setIndex(UI32_WAVE_LENGTH)
-                        .build();
+        byte[] byteArray = new byte[FixedGridConstant.NB_CHANNELS * FixedGridConstant.EFFECTIVE_BITS];
+        Arrays.fill(byteArray, (byte) GridConstant.USED_SLOT_VALUE);
+        for (int i = 152;i <= 159;i++) {
+            byteArray[i] = (byte) GridConstant.AVAILABLE_SLOT_VALUE;
+        }
+        Map<AvailFreqMapsKey, AvailFreqMaps> waveMap = new HashMap<>();
+        AvailFreqMaps availFreqMaps = new AvailFreqMapsBuilder().setMapName(GridConstant.C_BAND)
+                .setFreqMapGranularity(new FrequencyGHz(BigDecimal.valueOf(FixedGridConstant.GRANULARITY)))
+                .setStartEdgeFreq(new FrequencyTHz(BigDecimal.valueOf(FixedGridConstant.START_EDGE_FREQUENCY)))
+                .setEffectiveBits(Uint16.valueOf(FixedGridConstant.EFFECTIVE_BITS))
+                .setFreqMap(byteArray)
+                .build();
+        waveMap.put(availFreqMaps.key(), availFreqMaps);
+        FrequencyGHz frequencyGHz = new FrequencyGHz(BigDecimal.valueOf(fixedFlex.getWavelength()));
+        FrequencyTHz frequencyTHz = new FrequencyTHz(BigDecimal.valueOf(fixedFlex.getCenterFrequency()));
         TerminationPoint1Builder terminationPoint1Builder = new TerminationPoint1Builder()
             .setCtpAttributes((new CtpAttributesBuilder())
-                .setUsedWavelengths(
-                    usedWaveLengthDegreeMap)
+                    .setAvailFreqMaps(waveMap)
                 .build())
             .setCpAttributes((new CpAttributesBuilder())
-                .setUsedWavelengths(
-                    Map.of(usedWaveLentgthCp.key(),
-                        usedWaveLentgthCp))
+                    .setAvailFreqMaps(waveMap)
                 .build())
             .setTxTtpAttributes((new TxTtpAttributesBuilder())
-                .setUsedWavelengths(
-                    usedWaveLengthDegreeMap)
+                    .setAvailFreqMaps(waveMap)
                 .build())
             .setRxTtpAttributes((new RxTtpAttributesBuilder())
-                .setUsedWavelengths(
-                    usedWaveLengthDegreeMap)
+                    .setAvailFreqMaps(waveMap)
                 .build())
             .setPpAttributes((new PpAttributesBuilder())
-                .setUsedWavelength(Map.of(usedWaveLength.key(),usedWaveLength))
+                    .setAvailFreqMaps(waveMap)
                 .build())
             .setXpdrClientAttributes((new XpdrClientAttributesBuilder())
                 .setWavelength((new WavelengthBuilder())
@@ -147,15 +145,15 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
                 .build());
 
         Node1Builder node1Builder = new Node1Builder()
-            .setDegreeAttributes((new DegreeAttributesBuilder()).setAvailableWavelengths(Map.of()).build())
-            .setSrgAttributes((new SrgAttributesBuilder()).setAvailableWavelengths(Map.of()).build());
+            .setDegreeAttributes((new DegreeAttributesBuilder()).setAvailFreqMaps(Map.of()).build())
+            .setSrgAttributes((new SrgAttributesBuilder()).setAvailFreqMaps(Map.of()).build());
 
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder
             terminationPoint2Builder =
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder();
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder();
 
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder node2Builder =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder node2Builder =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder();
 
         for (OpenroadmNodeType nodeType : Arrays.asList(OpenroadmNodeType.XPONDER, OpenroadmNodeType.DEGREE,
             OpenroadmNodeType.SRG)) {
@@ -174,11 +172,8 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
         }
 
         node2Builder.setNodeType(OpenroadmNodeType.SRG);
-        node1Builder
-            .setDegreeAttributes((new DegreeAttributesBuilder())
-                .setAvailableWavelengths(Map.of())
-                .build())
-            .setSrgAttributes(null);
+        node1Builder.setDegreeAttributes((new DegreeAttributesBuilder()).setAvailFreqMaps(Map.of()).build())
+                .setSrgAttributes(null);
         terminationPoint2Builder.setTpType(OpenroadmTpType.DEGREETXTTP);
         parameters.add(new Object[] { pathDescription, terminationPoint1Builder.build(), node1Builder.build(),
             terminationPoint2Builder.build(), node2Builder.build() });
@@ -205,24 +200,22 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
         this.networkModelWavelengthService.freeWavelengths(this.pathDescription);
         Node1 updatedNode1 = WaveLengthServiceUtils.getNode1FromDatastore("node1" + StringConstants.TTP_TOKEN,
             this.deviceTransactionManager);
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 updatedNode2 =
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 updatedNode2 =
             WaveLengthServiceUtils.getNode2FromDatastore("node1" + StringConstants.TTP_TOKEN,
             this.deviceTransactionManager);
         TerminationPoint1 updatedTerminationPoint1 =
             WaveLengthServiceUtils.getTerminationPoint1FromDatastore("node1" + StringConstants.TTP_TOKEN,
                 StringConstants.TTP_TOKEN, this.deviceTransactionManager);
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
             .TerminationPoint1 updatedTerminationPoint2 = WaveLengthServiceUtils
             .getTerminationPoint2FromDatastore("node1" + StringConstants.TTP_TOKEN, StringConstants.TTP_TOKEN,
             this.deviceTransactionManager);
         switch (updatedTerminationPoint2.getTpType()) {
-        //switch (((org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1)
-        //        updatedTerminationPoint1).getTpType()) {
             case DEGREETXRXCTP:
             case DEGREETXCTP:
             case DEGREERXCTP:
                 Assert.assertNull(updatedTerminationPoint1.getCtpAttributes());
-                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -233,7 +226,7 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
             case SRGTXCP:
             case SRGRXCP:
             case SRGTXRXCP:
-                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertNull(updatedTerminationPoint1.getCpAttributes());
                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
@@ -244,8 +237,8 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
                 break;
             case DEGREETXRXTTP:
             case DEGREETXTTP:
-                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertNull(updatedTerminationPoint1.getTxTtpAttributes());
                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -254,8 +247,8 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
                 break;
             case DEGREERXTTP:
-                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertNull(updatedTerminationPoint1.getRxTtpAttributes());
                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -266,8 +259,8 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
             case SRGRXPP:
             case SRGTXPP:
             case SRGTXRXPP:
-                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertNull(updatedTerminationPoint1.getPpAttributes());
@@ -276,8 +269,8 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
                 break;
             case XPONDERCLIENT:
-                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -286,8 +279,8 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
                 break;
             case XPONDERNETWORK:
-                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -296,8 +289,8 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
                 break;
             case XPONDERPORT:
-                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -306,8 +299,8 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
                 Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes());
                 break;
             default:
-                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -316,29 +309,27 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
                 break;
         }
-        List<AvailableWavelengths> availableWavelengths = new ArrayList<>(updatedNode1
-               .getDegreeAttributes().nonnullAvailableWavelengths().values());
-        List<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths>
-            availableWavelengths4srg =
-                new ArrayList<>(updatedNode1.getSrgAttributes().getAvailableWavelengths().values());
+        AvailFreqMaps availFreqMaps4Srg = updatedNode1.getSrgAttributes().nonnullAvailFreqMaps().get(freqMapKey);
+        AvailFreqMaps availFreqMaps4Degree = updatedNode1.getDegreeAttributes().nonnullAvailFreqMaps().get(freqMapKey);
+        int effectiveBits = availFreqMaps4Srg.getEffectiveBits().intValue();
+        byte[] array = new byte[effectiveBits];
+        Arrays.fill(array, (byte) 1);
         switch (updatedNode2.getNodeType()) {
-        //switch (((org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1) updatedNode1)
-        //        .getNodeType()) {
             case DEGREE:
-                Assert.assertEquals(1, availableWavelengths.size());
-                Assert.assertEquals(UI32_WAVE_LENGTH,
-                    availableWavelengths.get(0).getIndex());
-                Assert.assertTrue(availableWavelengths4srg.isEmpty());
+                Assert.assertNotNull("FreqMap should not be null", availFreqMaps4Degree.getFreqMap());
+                Assert.assertTrue("Index 20 should be available",
+                        Arrays.equals(Arrays.copyOfRange(availFreqMaps4Degree.getFreqMap(), 152, 160), array));
+                Assert.assertNull(availFreqMaps4Srg);
                 break;
             case SRG:
-                Assert.assertEquals(1, availableWavelengths4srg.size());
-                Assert.assertEquals(UI32_WAVE_LENGTH,
-                    availableWavelengths4srg.get(0).getIndex());
-                Assert.assertTrue(availableWavelengths.isEmpty());
+                Assert.assertNotNull("FreqMap should not be null", availFreqMaps4Srg.getFreqMap());
+                Assert.assertTrue("Index 20 should be available",
+                        Arrays.equals(Arrays.copyOfRange(availFreqMaps4Srg.getFreqMap(), 152, 160), array));
+                Assert.assertNull(availFreqMaps4Degree);
                 break;
             default:
-                Assert.assertTrue(availableWavelengths.isEmpty());
-                Assert.assertTrue(availableWavelengths4srg.isEmpty());
+                Assert.assertNull(availFreqMaps4Degree);
+                Assert.assertNull(availFreqMaps4Srg);
                 break;
         }
     }
index d52a28feaae6d2b2c75c3940afb7b40dafa5a38b..dad4b2cd7a2f91de6fec9552d2f046d6af329e22 100644 (file)
@@ -7,9 +7,11 @@
  */
 package org.opendaylight.transportpce.renderer;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ExecutionException;
@@ -22,31 +24,36 @@ import org.junit.runners.Parameterized;
 import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl;
+import org.opendaylight.transportpce.common.fixedflex.FixedGridConstant;
+import org.opendaylight.transportpce.common.fixedflex.GridConstant;
 import org.opendaylight.transportpce.renderer.stub.MountPointServiceStub;
 import org.opendaylight.transportpce.renderer.stub.MountPointStub;
 import org.opendaylight.transportpce.renderer.utils.ServiceDeleteDataUtils;
 import org.opendaylight.transportpce.renderer.utils.WaveLengthServiceUtils;
 import org.opendaylight.transportpce.test.AbstractTest;
-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.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.DegreeAttributesBuilder;
-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.CpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.PpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.RxTtpAttributesBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.TxTtpAttributesBuilder;
-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.topology.rev181130.networks.network.node.termination.point.XpdrPortAttributesBuilder;
-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.common.optical.channel.types.rev200529.FrequencyGHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyTHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.CtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.PpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.RxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.TxTtpAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrClientAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrPortAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMaps;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMapsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.available.freq.map.AvailFreqMapsKey;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.path.PathDescription;
-import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.common.Uint16;
 
 @Ignore
 @RunWith(Parameterized.class)
@@ -56,10 +63,10 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
     private DeviceTransactionManager deviceTransactionManager;
 
     private TerminationPoint1 terminationPoint1;
-    private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1 terminatPoint2;
+    private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1 terminatPoint2;
     private PathDescription pathDescription;
     private Node1 node1;
-    private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 node2;
+    private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 node2;
 
     @Before
     public void setMountPoint() {
@@ -70,8 +77,8 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
 
     public NetworkModelWaveLengthServiceUseTest(PathDescription pathDescription, TerminationPoint1 terminationPoint1,
         Node1 node1,
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1 terminationPoint2,
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 node2) {
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1 terminationPoint2,
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 node2) {
         this.pathDescription = pathDescription;
         this.terminationPoint1 = terminationPoint1;
         this.terminatPoint2 = terminationPoint2;
@@ -87,8 +94,8 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
             ServiceDeleteDataUtils.createTransactionPathDescription(StringConstants.TTP_TOKEN);
 
         TerminationPoint1Builder terminationPoint1Builder = new TerminationPoint1Builder()
-            .setCtpAttributes((new CtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
-            .setCpAttributes((new CpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
+            .setCtpAttributes((new CtpAttributesBuilder()).setAvailFreqMaps(Map.of()).build())
+            .setCpAttributes((new CpAttributesBuilder()).setAvailFreqMaps(Map.of()).build())
             .setTxTtpAttributes((new TxTtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
             .setRxTtpAttributes((new RxTtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
             .setPpAttributes((new PpAttributesBuilder()).setUsedWavelength(Map.of()).build())
@@ -96,26 +103,33 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
             .setXpdrNetworkAttributes((new XpdrNetworkAttributesBuilder()).build())
             .setXpdrPortAttributes((new XpdrPortAttributesBuilder()).build());
 
-        AvailableWavelengths aval = new AvailableWavelengthsBuilder().setIndex(Uint32.valueOf(20)).build();
-        org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths avalSrg =
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                    .AvailableWavelengthsBuilder().setIndex(Uint32.valueOf(20)).build();
+        byte[] byteArray = new byte[FixedGridConstant.NB_CHANNELS * FixedGridConstant.EFFECTIVE_BITS];
+        Arrays.fill(byteArray, (byte) GridConstant.USED_SLOT_VALUE);
+        for (int i = 152;i <= 159;i++) {
+            byteArray[i] = (byte) GridConstant.AVAILABLE_SLOT_VALUE;
+        }
+        Map<AvailFreqMapsKey, AvailFreqMaps> waveMap = new HashMap<>();
+        AvailFreqMaps availFreqMaps = new AvailFreqMapsBuilder().setMapName(GridConstant.C_BAND)
+                .setFreqMapGranularity(new FrequencyGHz(BigDecimal.valueOf(FixedGridConstant.GRANULARITY)))
+                .setStartEdgeFreq(new FrequencyTHz(BigDecimal.valueOf(FixedGridConstant.START_EDGE_FREQUENCY)))
+                .setEffectiveBits(Uint16.valueOf(FixedGridConstant.EFFECTIVE_BITS))
+                .setFreqMap(byteArray)
+                .build();
+        waveMap.put(availFreqMaps.key(), availFreqMaps);
         Node1Builder node1Builder = new Node1Builder()
             .setDegreeAttributes((new DegreeAttributesBuilder())
-                .setAvailableWavelengths(
-                    Map.of(aval.key(),aval))
+                .setAvailFreqMaps(waveMap)
                 .build())
             .setSrgAttributes((new SrgAttributesBuilder())
-                .setAvailableWavelengths(
-                    Map.of(avalSrg.key(),avalSrg))
+                    .setAvailFreqMaps(waveMap)
                 .build());
 
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder
             terminationPoint2Builder =
-                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder();
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder();
 
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder node2Builder =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder node2Builder =
+            new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1Builder();
 
         for (OpenroadmNodeType nodeType : Arrays
             .asList(OpenroadmNodeType.XPONDER, OpenroadmNodeType.DEGREE, OpenroadmNodeType.SRG)) {
@@ -148,25 +162,25 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
         this.networkModelWavelengthService.useWavelengths(this.pathDescription);
         Node1 updatedNode1 = WaveLengthServiceUtils.getNode1FromDatastore("node1" + StringConstants.TTP_TOKEN,
             this.deviceTransactionManager);
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 updatedNode2 =
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 updatedNode2 =
             WaveLengthServiceUtils.getNode2FromDatastore("node1" + StringConstants.TTP_TOKEN,
                 this.deviceTransactionManager);
         TerminationPoint1 updatedTerminationPoint1 = WaveLengthServiceUtils
             .getTerminationPoint1FromDatastore("node1" + StringConstants.TTP_TOKEN, StringConstants.TTP_TOKEN,
                 this.deviceTransactionManager);
-        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+        org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
             .TerminationPoint1 updatedTerminationPoint2 = WaveLengthServiceUtils
             .getTerminationPoint2FromDatastore("node1" + StringConstants.TTP_TOKEN, StringConstants.TTP_TOKEN,
             this.deviceTransactionManager);
 
         switch (updatedTerminationPoint2.getTpType()) {
-        //switch (((org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1)
+        //switch (((org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1)
         //        updatedTerminationPoint1).getTpType()) {
             case DEGREETXRXCTP:
             case DEGREETXCTP:
             case DEGREERXCTP:
-                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -177,8 +191,8 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
             case SRGTXCP:
             case SRGRXCP:
             case SRGTXRXCP:
-                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertFalse(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -188,8 +202,8 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
                 break;
             case DEGREETXRXTTP:
             case DEGREETXTTP:
-                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -198,8 +212,8 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
                 Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
                 break;
             case DEGREERXTTP:
-                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -210,8 +224,8 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
             case SRGRXPP:
             case SRGTXPP:
             case SRGTXRXPP:
-                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertFalse(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -220,8 +234,8 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
                 Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
                 break;
             case XPONDERCLIENT:
-                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -230,8 +244,8 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
                 Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
                 break;
             case XPONDERNETWORK:
-                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -240,8 +254,8 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
                 Assert.assertNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
                 break;
             case XPONDERPORT:
-                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -250,8 +264,8 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes());
                 break;
             default:
-                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getUsedWavelengths().isEmpty());
-                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getUsedWavelengths().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCtpAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertTrue(updatedTerminationPoint1.getCpAttributes().getAvailFreqMaps().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getTxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getRxTtpAttributes().getUsedWavelengths().isEmpty());
                 Assert.assertTrue(updatedTerminationPoint1.getPpAttributes().getUsedWavelength().isEmpty());
@@ -261,19 +275,17 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
                 break;
         }
         switch (updatedNode2.getNodeType()) {
-        //switch (((org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1) updatedNode1)
-        //        .getNodeType()) {
             case DEGREE:
                 Assert.assertNull(updatedNode1.getDegreeAttributes());
-                Assert.assertFalse(updatedNode1.getSrgAttributes().getAvailableWavelengths().isEmpty());
+                Assert.assertFalse(updatedNode1.getSrgAttributes().getAvailFreqMaps().isEmpty());
                 break;
             case SRG:
                 Assert.assertNull(updatedNode1.getSrgAttributes());
-                Assert.assertFalse(updatedNode1.getDegreeAttributes().getAvailableWavelengths().isEmpty());
+                Assert.assertFalse(updatedNode1.getDegreeAttributes().getAvailFreqMaps().isEmpty());
                 break;
             default:
-                Assert.assertFalse(updatedNode1.getDegreeAttributes().getAvailableWavelengths().isEmpty());
-                Assert.assertFalse(updatedNode1.getSrgAttributes().getAvailableWavelengths().isEmpty());
+                Assert.assertFalse(updatedNode1.getDegreeAttributes().getAvailFreqMaps().isEmpty());
+                Assert.assertFalse(updatedNode1.getSrgAttributes().getAvailFreqMaps().isEmpty());
                 break;
         }
 
index 1750d4e0d10496d13c191f86c9b3ec68765d0a0d..e04cb25c78154c6c85f52e160da0126343c0343c 100644 (file)
@@ -12,8 +12,8 @@ import java.util.concurrent.ExecutionException;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.NetworkUtils;
 import org.opendaylight.transportpce.common.device.DeviceTransactionManager;
-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.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1;
 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;
@@ -47,7 +47,7 @@ public final class WaveLengthServiceUtils {
             .augmentation(TerminationPoint1.class);
     }
 
-    private static InstanceIdentifierBuilder<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+    private static InstanceIdentifierBuilder<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
             .TerminationPoint1> createTerminationPoint2IIDBuilder(
                 String nodeId, String tpId) {
         return InstanceIdentifier
@@ -61,7 +61,7 @@ public final class WaveLengthServiceUtils {
             .child(
                 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks
                 .network.node.TerminationPoint.class, new TerminationPointKey(new TpId(tpId)))
-            .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+            .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
                 .TerminationPoint1.class);
     }
 
@@ -74,7 +74,7 @@ public final class WaveLengthServiceUtils {
     }
 
     public static void putTerminationPoint2ToDatastore(String nodeId, String tpId,
-            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1
                 terminationPoint1, DeviceTransactionManager deviceTransactionManager)
             throws ExecutionException, InterruptedException {
         TransactionUtils
@@ -90,13 +90,13 @@ public final class WaveLengthServiceUtils {
             .readTransaction(deviceTransactionManager, nodeId, LogicalDatastoreType.CONFIGURATION, tpIID);
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+    public static org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
             .TerminationPoint1 getTerminationPoint2FromDatastore(String nodeId, String tpId,
             DeviceTransactionManager deviceTransactionManager)
             throws ExecutionException, InterruptedException {
-        InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1>
+        InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1>
             tpIID = createTerminationPoint2IIDBuilder(nodeId, tpId).build();
-        return (org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1)
+        return (org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1)
              TransactionUtils
                 .readTransaction(deviceTransactionManager, nodeId, LogicalDatastoreType.CONFIGURATION, tpIID);
     }
@@ -112,7 +112,7 @@ public final class WaveLengthServiceUtils {
             .build();
     }
 
-    private static InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+    private static InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
         .Node1> createNode2IID(String nodeId) {
         return InstanceIdentifier
             .builder(Networks.class)
@@ -120,7 +120,7 @@ public final class WaveLengthServiceUtils {
             .child(
                 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network
                 .Node.class, new NodeKey(new NodeId(nodeId)))
-            .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class)
+            .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1.class)
             .build();
     }
 
@@ -134,10 +134,10 @@ public final class WaveLengthServiceUtils {
     }
 
     public static void putNode2ToDatastore(String nodeId,
-            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 node1,
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1 node1,
             DeviceTransactionManager deviceTransactionManager)
            throws ExecutionException, InterruptedException {
-        InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1> nodeIID =
+        InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1> nodeIID =
             createNode2IID(nodeId);
         TransactionUtils
             .writeTransaction(deviceTransactionManager, nodeId,
@@ -151,12 +151,12 @@ public final class WaveLengthServiceUtils {
             .readTransaction(deviceTransactionManager, nodeId, LogicalDatastoreType.CONFIGURATION, nodeIID);
     }
 
-    public static org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+    public static org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
             .Node1 getNode2FromDatastore(String nodeId, DeviceTransactionManager deviceTransactionManager)
             throws ExecutionException, InterruptedException {
-        InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
+        InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529
             .Node1> nodeIID = createNode2IID(nodeId);
-        return (org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1) TransactionUtils
+        return (org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1) TransactionUtils
             .readTransaction(deviceTransactionManager, nodeId, LogicalDatastoreType.CONFIGURATION, nodeIID);
     }
 }
index e12a6b5db12c673df5ac92770dd1777911c6b64d..c0b13d5aeba60fbdb436f6ad60949b668b7d0218 100644 (file)
@@ -18,17 +18,17 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.UUID;
 import java.util.stream.Collectors;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.OduSwitchingPools;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.OduSwitchingPoolsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmTpType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Link1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Node1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.OduSwitchingPools;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.OduSwitchingPoolsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Node1;
 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.topology.rev180226.TpId;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPoint;
@@ -113,12 +113,12 @@ public class ConvertORTopoToTapiTopo {
 
     public void convertNode(Node ietfNode, List<String> networkPorts) {
         this.ietfNodeId = ietfNode.getNodeId().getValue();
-        if (ietfNode.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class)
+        if (ietfNode.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1.class)
             == null) {
             return;
         }
         this.ietfNodeType = ietfNode.augmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class).getNodeType();
+            org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1.class).getNodeType();
         this.oorNetworkPortList = ietfNode.augmentation(
                 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
             .getTerminationPoint().values().stream()
@@ -190,7 +190,7 @@ public class ConvertORTopoToTapiTopo {
             if (!linksToNotConvert.contains(link.getLinkId().getValue())) {
                 Link tapiLink = createTapiLink(link);
                 linksToNotConvert.add(link
-                    .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class)
+                    .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1.class)
                     .getOppositeLink().getValue());
                 tapiLinks.put(tapiLink.key(), tapiLink);
             }
@@ -239,7 +239,7 @@ public class ConvertORTopoToTapiTopo {
         for (TerminationPoint tp : this.oorNetworkPortList) {
             TpId tpid1 = tp.getTpId();
             TpId tpid2 = new TpId(tp.augmentation(
-                    org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1.class)
+                    org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.TerminationPoint1.class)
                 .getAssociatedConnectionMapPort());
             List<TpId> tpList = new ArrayList<>();
             tpList.add(tpid1);
@@ -566,8 +566,8 @@ public class ConvertORTopoToTapiTopo {
         LayerProtocolName lpn) {
         List<Class<? extends LAYERPROTOCOLQUALIFIER>> sclpqList = new ArrayList<>();
         List<SupportedInterfaceCapability> sicList = new ArrayList<>(
-            tp.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm
-            .otn.network.topology.rev181130.TerminationPoint1.class).getTpSupportedInterfaces()
+            tp.augmentation(org.opendaylight.yang.gen.v1.http
+                    .org.openroadm.otn.network.topology.rev200529.TerminationPoint1.class).getTpSupportedInterfaces()
             .getSupportedInterfaceCapability().values());
         for (SupportedInterfaceCapability sic : sicList) {
             switch (lpn.getName()) {
index 244c48373490e0a382b20b86f1330cdd8a532d9b..a716b6e9f64180ebbcf6692fd90bf67c93f07b6b 100644 (file)
@@ -32,11 +32,11 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.NodesKey;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.Mapping;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.MappingKey;
-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.TerminationPoint1;
-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;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
 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.network.Node;
@@ -216,7 +216,7 @@ public class TapiTopologyImpl implements TapiTopologyService {
             tapiLinkList.putAll(tapiFactory.getTapiLinks());
         }
         if (openroadmTopo.nonnullNode().values().stream().filter(nt ->
-                nt.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class)
+                nt.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Node1.class)
                 .getNodeType().equals(OpenroadmNodeType.SRG)).count() > 0) {
             tapiFactory.convertRoadmInfrastructure();
             tapiNodeList.putAll(tapiFactory.getTapiNodes());
@@ -283,7 +283,7 @@ public class TapiTopologyImpl implements TapiTopologyService {
         String networkLcp;
         if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERCLIENT)) {
             networkLcp = tp.augmentation(
-                org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1.class)
+                org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.TerminationPoint1.class)
                 .getAssociatedConnectionMapPort();
         } else {
             networkLcp = tp.getTpId().getValue();
index c79c1cca26cb1b9b847920ff3b77875ece1dcb58..b5d981e922bbac5ca6d67ccf26f8fadf916c0bcb 100644 (file)
@@ -34,8 +34,8 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.InstanceIdentifiers;
 import org.opendaylight.transportpce.tapi.utils.TopologyDataUtils;
 import org.opendaylight.transportpce.test.AbstractTest;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmTpType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmTpType;
 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;
index f638e6a09d8385610d5263461f4e7859803985b9..0f560f3f742657a2754305036367e3952a933ce9 100644 (file)
@@ -52,9 +52,8 @@ public final class TopologyDataUtils {
             InputStream targetStream;
             try {
                 targetStream = new FileInputStream(topoFile);
-                Optional<NormalizedNode<?, ?>> transformIntoNormalizedNode = null;
-                transformIntoNormalizedNode = XMLDataObjectConverter.createWithDataStoreUtil(dataStoreContextUtil)
-                    .transformIntoNormalizedNode(targetStream);
+                Optional<NormalizedNode<?, ?>> transformIntoNormalizedNode = XMLDataObjectConverter
+                        .createWithDataStoreUtil(dataStoreContextUtil).transformIntoNormalizedNode(targetStream);
                 if (!transformIntoNormalizedNode.isPresent()) {
                     throw new IllegalStateException(String.format(
                         "Could not transform the input %s into normalized nodes", fileName));
index 053f56d7cbeed0144a6db18ad7f6d334ff0d708b..a7d2a5cf4e01a383bd3b2d5dc5b06e9f86e7d1a9 100644 (file)
     </termination-point>
     <srg-attributes
       xmlns="http://org/openroadm/network/topology">
-      <available-wavelengths>
-        <index>95</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>94</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>96</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>43</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>42</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>45</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>44</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>39</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>38</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>41</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>40</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>35</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>34</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>37</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>36</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>31</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>30</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>33</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>32</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>59</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>58</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>61</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>60</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>55</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>54</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>57</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>56</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>51</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>50</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>53</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>52</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>47</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>46</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>49</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>48</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>75</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>74</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>77</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>76</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>71</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>70</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>73</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>72</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>67</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>66</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>69</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>68</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>63</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>62</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>65</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>64</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>91</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>90</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>93</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>92</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>87</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>86</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>89</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>88</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>83</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>82</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>85</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>84</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>79</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>78</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>81</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>80</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>11</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>10</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>13</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>12</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>7</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>6</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>9</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>8</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>3</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>2</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>5</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>4</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>1</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>27</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>26</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>29</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>28</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>23</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>22</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>25</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>24</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>19</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>18</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>21</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>20</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>15</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>14</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>17</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>16</index>
-      </available-wavelengths>
+    <avail-freq-maps>
+        <map-name>cband</map-name>
+        <start-edge-freq> 191.325</start-edge-freq>
+        <freq-map-granularity> 6.25</freq-map-granularity>
+        <effective-bits>8</effective-bits>
+        <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        </freq-map>
+    </avail-freq-maps>
     </srg-attributes>
     <supporting-node>
       <network-ref>clli-network</network-ref>
     </termination-point>
     <srg-attributes
       xmlns="http://org/openroadm/network/topology">
-      <available-wavelengths>
-        <index>95</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>94</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>96</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>43</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>42</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>45</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>44</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>39</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>38</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>41</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>40</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>35</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>34</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>37</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>36</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>31</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>30</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>33</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>32</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>59</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>58</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>61</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>60</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>55</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>54</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>57</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>56</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>51</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>50</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>53</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>52</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>47</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>46</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>49</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>48</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>75</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>74</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>77</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>76</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>71</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>70</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>73</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>72</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>67</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>66</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>69</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>68</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>63</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>62</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>65</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>64</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>91</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>90</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>93</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>92</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>87</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>86</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>89</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>88</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>83</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>82</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>85</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>84</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>79</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>78</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>81</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>80</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>11</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>10</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>13</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>12</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>7</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>6</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>9</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>8</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>3</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>2</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>5</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>4</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>1</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>27</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>26</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>29</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>28</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>23</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>22</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>25</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>24</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>19</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>18</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>21</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>20</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>15</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>14</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>17</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>16</index>
-      </available-wavelengths>
+    <avail-freq-maps>
+        <map-name>cband</map-name>
+        <start-edge-freq> 191.325</start-edge-freq>
+        <freq-map-granularity> 6.25</freq-map-granularity>
+        <effective-bits>8</effective-bits>
+        <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        </freq-map>
+    </avail-freq-maps> 
     </srg-attributes>
     <supporting-node>
       <network-ref>clli-network</network-ref>
     <degree-attributes
       xmlns="http://org/openroadm/network/topology">
       <degree-number>1</degree-number>
-      <available-wavelengths>
-        <index>95</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>94</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>96</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>43</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>42</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>45</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>44</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>39</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>38</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>41</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>40</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>35</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>34</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>37</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>36</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>31</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>30</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>33</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>32</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>59</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>58</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>61</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>60</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>55</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>54</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>57</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>56</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>51</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>50</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>53</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>52</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>47</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>46</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>49</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>48</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>75</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>74</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>77</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>76</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>71</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>70</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>73</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>72</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>67</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>66</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>69</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>68</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>63</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>62</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>65</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>64</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>91</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>90</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>93</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>92</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>87</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>86</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>89</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>88</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>83</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>82</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>85</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>84</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>79</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>78</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>81</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>80</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>11</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>10</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>13</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>12</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>7</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>6</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>9</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>8</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>3</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>2</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>5</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>4</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>1</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>27</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>26</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>29</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>28</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>23</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>22</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>25</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>24</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>19</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>18</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>21</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>20</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>15</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>14</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>17</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>16</index>
-      </available-wavelengths>
-    </degree-attributes>
+    <avail-freq-maps>
+        <map-name>cband</map-name>
+        <start-edge-freq> 191.325</start-edge-freq>
+        <freq-map-granularity> 6.25</freq-map-granularity>
+        <effective-bits>8</effective-bits>
+        <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        </freq-map>
+    </avail-freq-maps>     </degree-attributes>
     <supporting-node>
       <network-ref>clli-network</network-ref>
       <node-ref>NodeA</node-ref>
     <degree-attributes
       xmlns="http://org/openroadm/network/topology">
       <degree-number>2</degree-number>
-      <available-wavelengths>
-        <index>95</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>94</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>96</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>43</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>42</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>45</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>44</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>39</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>38</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>41</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>40</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>35</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>34</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>37</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>36</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>31</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>30</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>33</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>32</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>59</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>58</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>61</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>60</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>55</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>54</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>57</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>56</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>51</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>50</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>53</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>52</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>47</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>46</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>49</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>48</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>75</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>74</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>77</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>76</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>71</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>70</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>73</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>72</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>67</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>66</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>69</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>68</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>63</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>62</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>65</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>64</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>91</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>90</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>93</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>92</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>87</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>86</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>89</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>88</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>83</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>82</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>85</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>84</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>79</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>78</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>81</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>80</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>11</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>10</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>13</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>12</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>7</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>6</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>9</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>8</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>3</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>2</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>5</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>4</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>1</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>27</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>26</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>29</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>28</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>23</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>22</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>25</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>24</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>19</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>18</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>21</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>20</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>15</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>14</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>17</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>16</index>
-      </available-wavelengths>
-    </degree-attributes>
+    <avail-freq-maps>
+        <map-name>cband</map-name>
+        <start-edge-freq> 191.325</start-edge-freq>
+        <freq-map-granularity> 6.25</freq-map-granularity>
+        <effective-bits>8</effective-bits>
+        <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        </freq-map>
+    </avail-freq-maps>     </degree-attributes>
     <supporting-node>
       <network-ref>clli-network</network-ref>
       <node-ref>NodeA</node-ref>
     </termination-point>
     <srg-attributes
       xmlns="http://org/openroadm/network/topology">
-      <available-wavelengths>
-        <index>95</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>94</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>96</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>43</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>42</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>45</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>44</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>39</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>38</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>41</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>40</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>35</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>34</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>37</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>36</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>31</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>30</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>33</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>32</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>59</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>58</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>61</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>60</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>55</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>54</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>57</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>56</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>51</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>50</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>53</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>52</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>47</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>46</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>49</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>48</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>75</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>74</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>77</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>76</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>71</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>70</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>73</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>72</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>67</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>66</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>69</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>68</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>63</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>62</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>65</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>64</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>91</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>90</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>93</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>92</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>87</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>86</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>89</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>88</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>83</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>82</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>85</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>84</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>79</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>78</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>81</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>80</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>11</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>10</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>13</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>12</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>7</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>6</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>9</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>8</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>3</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>2</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>5</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>4</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>1</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>27</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>26</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>29</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>28</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>23</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>22</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>25</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>24</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>19</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>18</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>21</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>20</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>15</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>14</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>17</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>16</index>
-      </available-wavelengths>
-    </srg-attributes>
+    <avail-freq-maps>
+        <map-name>cband</map-name>
+        <start-edge-freq> 191.325</start-edge-freq>
+        <freq-map-granularity> 6.25</freq-map-granularity>
+        <effective-bits>8</effective-bits>
+        <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        </freq-map>
+    </avail-freq-maps>     </srg-attributes>
     <supporting-node>
       <network-ref>clli-network</network-ref>
       <node-ref>NodeC</node-ref>
     <degree-attributes
       xmlns="http://org/openroadm/network/topology">
       <degree-number>1</degree-number>
-      <available-wavelengths>
-        <index>95</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>94</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>96</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>43</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>42</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>45</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>44</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>39</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>38</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>41</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>40</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>35</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>34</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>37</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>36</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>31</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>30</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>33</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>32</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>59</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>58</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>61</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>60</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>55</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>54</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>57</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>56</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>51</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>50</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>53</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>52</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>47</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>46</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>49</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>48</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>75</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>74</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>77</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>76</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>71</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>70</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>73</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>72</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>67</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>66</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>69</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>68</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>63</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>62</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>65</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>64</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>91</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>90</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>93</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>92</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>87</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>86</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>89</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>88</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>83</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>82</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>85</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>84</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>79</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>78</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>81</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>80</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>11</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>10</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>13</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>12</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>7</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>6</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>9</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>8</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>3</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>2</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>5</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>4</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>1</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>27</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>26</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>29</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>28</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>23</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>22</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>25</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>24</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>19</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>18</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>21</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>20</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>15</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>14</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>17</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>16</index>
-      </available-wavelengths>
-    </degree-attributes>
+    <avail-freq-maps>
+        <map-name>cband</map-name>
+        <start-edge-freq> 191.325</start-edge-freq>
+        <freq-map-granularity> 6.25</freq-map-granularity>
+        <effective-bits>8</effective-bits>
+        <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        </freq-map>
+    </avail-freq-maps>     </degree-attributes>
     <supporting-node>
       <network-ref>clli-network</network-ref>
       <node-ref>NodeC</node-ref>
     <degree-attributes
       xmlns="http://org/openroadm/network/topology">
       <degree-number>2</degree-number>
-      <available-wavelengths>
-        <index>95</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>94</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>96</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>43</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>42</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>45</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>44</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>39</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>38</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>41</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>40</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>35</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>34</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>37</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>36</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>31</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>30</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>33</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>32</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>59</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>58</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>61</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>60</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>55</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>54</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>57</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>56</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>51</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>50</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>53</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>52</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>47</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>46</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>49</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>48</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>75</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>74</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>77</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>76</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>71</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>70</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>73</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>72</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>67</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>66</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>69</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>68</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>63</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>62</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>65</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>64</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>91</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>90</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>93</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>92</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>87</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>86</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>89</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>88</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>83</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>82</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>85</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>84</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>79</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>78</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>81</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>80</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>11</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>10</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>13</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>12</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>7</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>6</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>9</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>8</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>3</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>2</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>5</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>4</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>1</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>27</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>26</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>29</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>28</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>23</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>22</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>25</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>24</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>19</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>18</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>21</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>20</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>15</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>14</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>17</index>
-      </available-wavelengths>
-      <available-wavelengths>
-        <index>16</index>
-      </available-wavelengths>
+    <avail-freq-maps>
+        <map-name>cband</map-name>
+        <start-edge-freq> 191.325</start-edge-freq>
+        <freq-map-granularity> 6.25</freq-map-granularity>
+        <effective-bits>8</effective-bits>
+        <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        </freq-map>
+    </avail-freq-maps>
     </degree-attributes>
     <supporting-node>
       <network-ref>clli-network</network-ref>
     </source>
     <OMS-attributes
       xmlns="http://org/openroadm/network/topology">
-      <opposite-link>ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX
-      </opposite-link>
     </OMS-attributes>
     <destination>
       <dest-tp>DEG1-TTP-TXRX</dest-tp>
     </source>
     <OMS-attributes
       xmlns="http://org/openroadm/network/topology">
-      <opposite-link>ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX
-      </opposite-link>
     </OMS-attributes>
     <destination>
       <dest-tp>DEG2-TTP-TXRX</dest-tp>
   </link>
 </network>
 </networks>
-</data>
\ No newline at end of file
+</data>
index 0cefc4811be85dfe89f80aac92875fd76ed507c5..e335b70c8edae3f899368e0855a118d779b8eab3 100644 (file)
@@ -7,16 +7,14 @@
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>s>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-CTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-CTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
-  <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        </degree-attributes>
+    <degree-attributes xmlns="http://org/openroadm/network/topology">
+      <avail-freq-maps>
+        <map-name>cband</map-name>
+        <start-edge-freq>191.325</start-edge-freq>
+        <freq-map-granularity>6.25</freq-map-granularity>
+        <effective-bits>8</effective-bits>
+        <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        </freq-map>
+      </avail-freq-maps>
+    </degree-attributes>
     <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>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>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
          </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-         <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>s>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-RX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-RX-TTP</tp-type> </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type> </termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>               </termination-point>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-TX</tp-id>               </termination-point>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-2-DEG1-to-OpenROADM-1-1-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1112</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-1-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-2-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-1-DEG1-to-OpenROADM-1-2-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1211</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-2-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-1-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-3-DEG2-to-OpenROADM-1-2-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1213</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-2-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-3-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-1-3-DEG2-to-OpenROADM-1-2-DEG2</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-2-DEG2-to-OpenROADM-1-3-DEG2</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <clfi xmlns="http://org/openroadm/common/network">fiber1312</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-4-DEG1-to-OpenROADM-1-3-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1314</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-3-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-4-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-3-DEG1-to-OpenROADM-1-4-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1413</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-4-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-3-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-1-DEG2-to-OpenROADM-1-4-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1411</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-4-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-1-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-4-DEG2-to-OpenROADM-1-1-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1114</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-1-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-4-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-2-DEG1-to-OpenROADM-2-1-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber2122</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-1-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-2-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-1-DEG1-to-OpenROADM-2-2-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber2221</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-2-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-1-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-3-DEG2-to-OpenROADM-2-2-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber2223</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-2-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-3-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-2-DEG2-to-OpenROADM-2-3-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber2322</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-3-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-2-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-4-DEG1-to-OpenROADM-2-3-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber2324</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-3-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-4-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-3-DEG1-to-OpenROADM-2-4-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber2423</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-4-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-3-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-1-DEG2-to-OpenROADM-2-4-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber2421</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-4-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-1-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-4-DEG2-to-OpenROADM-2-1-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber2124</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-1-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-4-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-2-DEG1-to-OpenROADM-3-1-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber3132</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-1-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-2-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-1-DEG1-to-OpenROADM-3-2-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber3231</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-2-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-1-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-3-DEG2-to-OpenROADM-3-2-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber3233</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-2-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-3-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-2-DEG2-to-OpenROADM-3-3-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber3332</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-3-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-2-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-4-DEG1-to-OpenROADM-3-3-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber3334</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-3-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-4-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-3-DEG1-to-OpenROADM-3-4-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber3433</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-4-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-3-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-1-DEG2-to-OpenROADM-3-4-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber3431</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-4-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-1-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-4-DEG2-to-OpenROADM-3-1-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber3431</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-1-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-4-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-2-DEG1-to-OpenROADM-4-1-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber4142</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-1-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-2-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-1-DEG1-to-OpenROADM-4-2-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber4241</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-2-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-1-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-3-DEG2-to-OpenROADM-4-2-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber4243</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-2-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-3-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-2-DEG2-to-OpenROADM-4-3-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber4342</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-3-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-2-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-4-DEG1-to-OpenROADM-4-3-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber4344</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-3-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-4-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-3-DEG1-to-OpenROADM-4-4-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber4443</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-4-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-3-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-1-DEG2-to-OpenROADM-4-4-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber4441</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-4-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-1-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-4-DEG2-to-OpenROADM-4-1-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber4144</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-1-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-4-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-2-DEG1-to-OpenROADM-5-1-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber5152</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-1-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-2-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-1-DEG1-to-OpenROADM-5-2-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber5251</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-2-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-1-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-3-DEG2-to-OpenROADM-5-2-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber5253</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-2-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-3-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-2-DEG2-to-OpenROADM-5-3-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber5352</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-3-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-2-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-4-DEG1-to-OpenROADM-5-3-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber5354</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-3-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-4-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-3-DEG1-to-OpenROADM-5-4-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber5453</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-4-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-3-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-1-DEG2-to-OpenROADM-5-4-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber5451</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-4-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-1-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-4-DEG2-to-OpenROADM-5-1-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber5154</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-1-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-4-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-1-DEG3-to-OpenROADM-1-4-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1421</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-4-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-1-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-4-DEG3-to-OpenROADM-2-1-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber2114</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-1-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-4-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-2-DEG3-to-OpenROADM-1-3-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1322</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-3-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-2-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-3-DEG3-to-OpenROADM-2-2-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber2213</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-2-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-3-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-1-DEG3-to-OpenROADM-2-4-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber2431</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-4-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-1-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-4-DEG3-to-OpenROADM-3-1-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber3124</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-1-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-4-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-2-DEG3-to-OpenROADM-2-3-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber2332</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-3-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-2-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-3-DEG3-to-OpenROADM-3-2-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber3223</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-2-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-3-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-1-DEG3-to-OpenROADM-3-4-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber3441</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-4-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-1-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-4-DEG3-to-OpenROADM-4-1-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber4134</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-1-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-4-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-2-DEG3-to-OpenROADM-3-3-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber3342</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-3-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-2-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-3-DEG3-to-OpenROADM-4-2-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber4233</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-2-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-3-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-1-DEG3-to-OpenROADM-4-4-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber4451</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-4-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-1-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-4-DEG3-to-OpenROADM-5-1-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber5144</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
+
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-1-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-4-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-2-DEG3-to-OpenROADM-4-3-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber4352</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">10</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-3-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-2-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-3-DEG3-to-OpenROADM-5-2-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber5243</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">10</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-2-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-3-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-1-DEG3-to-OpenROADM-5-4-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber5411</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-4-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-1-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-4-DEG3-to-OpenROADM-1-1-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1154</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-1-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-4-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-2-DEG3-to-OpenROADM-5-3-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber5312</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">10</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-3-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-2-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-3-DEG3-to-OpenROADM-1-2-DEG3</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1253</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">10</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-2-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-3-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
index deaf1caf4f230427d3b57c50e6d3441dda4e29c6..2149db018d7c5d857042f6a9ee74cc8df72e8ad2 100644 (file)
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>  <cp-attributes xmlns="http://org/openroadm/network/topology"></cp-attributes>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-RX-CP</tp-type>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>1</index> </available-wavelengths>
-        <available-wavelengths> <index>2</index> </available-wavelengths>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>  <cp-attributes xmlns="http://org/openroadm/network/topology"></cp-attributes>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-RX-CP</tp-type>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>  <cp-attributes xmlns="http://org/openroadm/network/topology"></cp-attributes>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-RX-CP</tp-type>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>3</index> </available-wavelengths>
-        <available-wavelengths> <index>4</index> </available-wavelengths>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>  <cp-attributes xmlns="http://org/openroadm/network/topology"></cp-attributes>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-RX-CP</tp-type>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>  <cp-attributes xmlns="http://org/openroadm/network/topology"></cp-attributes>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-RX-CP</tp-type>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>5</index> </available-wavelengths>
-        <available-wavelengths> <index>6</index> </available-wavelengths>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAP////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>  <cp-attributes xmlns="http://org/openroadm/network/topology"></cp-attributes>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-RX-CP</tp-type>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>  <cp-attributes xmlns="http://org/openroadm/network/topology"></cp-attributes>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-RX-CP</tp-type>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>s>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>7</index> </available-wavelengths>
-        <available-wavelengths> <index>8</index> </available-wavelengths>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAA/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>  <cp-attributes xmlns="http://org/openroadm/network/topology"></cp-attributes>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-RX-CP</tp-type>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
-        <available-wavelengths> <index>17</index> </available-wavelengths>
-        <available-wavelengths> <index>18</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
-        <available-wavelengths> <index>17</index> </available-wavelengths>
-        <available-wavelengths> <index>18</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
-        <available-wavelengths> <index>17</index> </available-wavelengths>
-        <available-wavelengths> <index>18</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
-        <available-wavelengths> <index>17</index> </available-wavelengths>
-        <available-wavelengths> <index>18</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>  <cp-attributes xmlns="http://org/openroadm/network/topology"></cp-attributes>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-RX-CP</tp-type>               </termination-point>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG1-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
-        <available-wavelengths> <index>17</index> </available-wavelengths>
-        <available-wavelengths> <index>18</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG2-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
-        <available-wavelengths> <index>17</index> </available-wavelengths>
-        <available-wavelengths> <index>18</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
     <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology"> <tp-id>DEG3-TTP-TX</tp-id>  <tx-ttp-attributes xmlns="http://org/openroadm/network/topology"></tx-ttp-attributes>
     <tp-type xmlns="http://org/openroadm/common/network">DEGREE-TX-TTP</tp-type></termination-point>
   <degree-attributes xmlns="http://org/openroadm/network/topology">
-        <available-wavelengths> <index>9</index> </available-wavelengths>
-        <available-wavelengths> <index>10</index> </available-wavelengths>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
-        <available-wavelengths> <index>17</index> </available-wavelengths>
-        <available-wavelengths> <index>18</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </degree-attributes>
     <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>
         <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>
-        <available-wavelengths> <index>11</index> </available-wavelengths>
-        <available-wavelengths> <index>12</index> </available-wavelengths>
-        <available-wavelengths> <index>13</index> </available-wavelengths>
-        <available-wavelengths> <index>14</index> </available-wavelengths>
-        <available-wavelengths> <index>15</index> </available-wavelengths>
-        <available-wavelengths> <index>16</index> </available-wavelengths>
-        <available-wavelengths> <index>17</index> </available-wavelengths>
-        <available-wavelengths> <index>18</index> </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>AAAAAAAAAAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+                </freq-map>
+            </avail-freq-maps>
         </srg-attributes>
         <termination-point xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">               <tp-id>SRG1-CP-RX</tp-id>  <cp-attributes xmlns="http://org/openroadm/network/topology"></cp-attributes>
    <tp-type xmlns="http://org/openroadm/common/network">SRG-RX-CP</tp-type>               </termination-point>
     <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/network/topology">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/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>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-2-DEG1-to-OpenROADM-1-1-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1112a</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-1-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-2-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-1-DEG1-to-OpenROADM-1-2-DEG1</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1211a</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-2-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-1-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-1-2-DEG2-to-OpenROADM-1-1-DEG2</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-1-DEG2-to-OpenROADM-1-2-DEG2</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <clfi xmlns="http://org/openroadm/common/network">fiber1211b</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-2-DEG2-to-OpenROADM-1-1-DEG2</opposite-link>
     <clfi xmlns="http://org/openroadm/common/network">fiber1112b</clfi>
     <TE-metric xmlns="http://org/openroadm/common/network">10</TE-metric>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-1-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-2-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-2-1-DEG1-to-OpenROADM-2-2-DEG1</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-2-DEG1-to-OpenROADM-2-1-DEG1</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-1-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-2-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-2-2-DEG1-to-OpenROADM-2-1-DEG1</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber5</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-2-2-DEG1-to-OpenROADM-2-1-DEG1</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-1-DEG1-to-OpenROADM-2-2-DEG1</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-2-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-1-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-2-1-DEG1-to-OpenROADM-2-2-DEG1</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber6</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-2-2-DEG2-to-OpenROADM-2-1-DEG2</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-1-DEG2-to-OpenROADM-2-2-DEG2</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-2-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-1-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-2-1-DEG2-to-OpenROADM-2-2-DEG2</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber7</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-2-1-DEG2-to-OpenROADM-2-2-DEG2</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-2-DEG2-to-OpenROADM-2-1-DEG2</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-1-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-2-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-2-2-DEG2-to-OpenROADM-2-1-DEG2</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber8</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-3-1-DEG1-to-OpenROADM-3-2-DEG1</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-2-DEG1-to-OpenROADM-3-1-DEG1</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-1-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-2-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-3-2-DEG1-to-OpenROADM-3-1-DEG1</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber9</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-3-2-DEG1-to-OpenROADM-3-1-DEG1</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-1-DEG1-to-OpenROADM-3-2-DEG1</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-2-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-1-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-3-1-DEG1-to-OpenROADM-3-2-DEG1</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber10</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-3-2-DEG2-to-OpenROADM-3-1-DEG2</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-1-DEG2-to-OpenROADM-3-2-DEG2</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-2-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-1-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-3-1-DEG2-to-OpenROADM-3-2-DEG2</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber11</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-3-1-DEG2-to-OpenROADM-3-2-DEG2</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-2-DEG2-to-OpenROADM-3-1-DEG2</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-1-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-2-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-3-2-DEG2-to-OpenROADM-3-1-DEG2</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber12</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-4-1-DEG1-to-OpenROADM-4-2-DEG1</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-2-DEG1-to-OpenROADM-4-1-DEG1</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-1-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-2-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-4-2-DEG1-to-OpenROADM-4-1-DEG1</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber13</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-4-2-DEG1-to-OpenROADM-4-1-DEG1</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-1-DEG1-to-OpenROADM-4-2-DEG1</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-2-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-1-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-4-1-DEG1-to-OpenROADM-4-2-DEG1</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber14</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-4-2-DEG2-to-OpenROADM-4-1-DEG2</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-1-DEG2-to-OpenROADM-4-2-DEG2</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-2-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-1-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-4-1-DEG2-to-OpenROADM-4-2-DEG2</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber15</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-4-1-DEG2-to-OpenROADM-4-2-DEG2</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-2-DEG2-to-OpenROADM-4-1-DEG2</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-1-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-2-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-4-2-DEG2-to-OpenROADM-4-1-DEG2</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber16</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-5-1-DEG1-to-OpenROADM-5-2-DEG1</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-2-DEG1-to-OpenROADM-5-1-DEG1</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-1-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>    
     <destination><dest-node>OpenROADM-5-2-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>    
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-5-2-DEG1-to-OpenROADM-5-1-DEG1</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber17</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-5-2-DEG1-to-OpenROADM-5-1-DEG1</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-1-DEG1-to-OpenROADM-5-2-DEG1</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-2-DEG1</source-node><source-tp>DEG1-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-1-DEG1</dest-node><dest-tp>DEG1-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-5-1-DEG1-to-OpenROADM-5-2-DEG1</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber18</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-5-2-DEG2-to-OpenROADM-5-1-DEG2</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-1-DEG2-to-OpenROADM-5-2-DEG2</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-2-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-1-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-5-1-DEG2-to-OpenROADM-5-2-DEG2</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber19</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-5-1-DEG2-to-OpenROADM-5-2-DEG2</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-2-DEG2-to-OpenROADM-5-1-DEG2</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-1-DEG2</source-node><source-tp>DEG2-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-2-DEG2</dest-node><dest-tp>DEG2-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-5-2-DEG2-to-OpenROADM-5-1-DEG2</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber20</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-1-2-DEG3-to-OpenROADM-2-1-DEG3</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-1-DEG3-to-OpenROADM-1-2-DEG3</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-2-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-1-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-2-1-DEG3-to-OpenROADM-1-2-DEG3</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber21</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-2-1-DEG3-to-OpenROADM-1-2-DEG3</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-2-DEG3-to-OpenROADM-2-1-DEG3</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-1-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-2-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-1-2-DEG3-to-OpenROADM-2-1-DEG3</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber22</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-2-2-DEG3-to-OpenROADM-3-1-DEG3</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-1-DEG3-to-OpenROADM-2-2-DEG3</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-2-2-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-1-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-3-1-DEG3-to-OpenROADM-2-2-DEG3</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber23</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-3-1-DEG3-to-OpenROADM-2-2-DEG3</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-2-2-DEG3-to-OpenROADM-3-1-DEG3</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-1-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-2-2-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-2-2-DEG3-to-OpenROADM-3-1-DEG3</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber24</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-3-2-DEG3-to-OpenROADM-4-1-DEG3</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-1-DEG3-to-OpenROADM-3-2-DEG3</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-3-2-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-1-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-4-1-DEG3-to-OpenROADM-3-2-DEG3</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber25</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-4-1-DEG3-to-OpenROADM-3-2-DEG3</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-3-2-DEG3-to-OpenROADM-4-1-DEG3</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-1-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-3-2-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-3-2-DEG3-to-OpenROADM-4-1-DEG3</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber26</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-4-2-DEG3-to-OpenROADM-5-1-DEG3</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-1-DEG3-to-OpenROADM-4-2-DEG3</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-4-2-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-1-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-5-1-DEG3-to-OpenROADM-4-2-DEG3</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber27</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">    
     <link-id>OpenROADM-5-1-DEG3-to-OpenROADM-4-2-DEG3</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-4-2-DEG3-to-OpenROADM-5-1-DEG3</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-1-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-4-2-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-4-2-DEG3-to-OpenROADM-5-1-DEG3</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber28</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-5-2-DEG3-to-OpenROADM-1-1-DEG3</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-1-1-DEG3-to-OpenROADM-5-2-DEG3</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-5-2-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-1-1-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-1-1-DEG3-to-OpenROADM-5-2-DEG3</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber29</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
 <link xmlns="urn:ietf:params:xml:ns:yang:ietf-network-topology">
     <link-id>OpenROADM-1-1-DEG3-to-OpenROADM-5-2-DEG3</link-id>
     <opposite-link xmlns="http://org/openroadm/common/network">OpenROADM-5-2-DEG3-to-OpenROADM-1-1-DEG3</opposite-link>
-    <link-latency xmlns="http://org/openroadm/network/topology">1</link-latency>
     <link-type xmlns="http://org/openroadm/common/network">ROADM-TO-ROADM</link-type>
     <source><source-node>OpenROADM-1-1-DEG3</source-node><source-tp>DEG3-TTP-TX</source-tp></source>
     <destination><dest-node>OpenROADM-5-2-DEG3</dest-node><dest-tp>DEG3-TTP-RX</dest-tp></destination>
     <OMS-attributes xmlns="http://org/openroadm/network/topology">
-        <opposite-link>OpenROADM-5-2-DEG3-to-OpenROADM-1-1-DEG3</opposite-link>
-        <TE-metric>10</TE-metric>
         <span>
-            <clfi>fiber30</clfi>
             <auto-spanloss>true</auto-spanloss>
             <spanloss-base>11.4</spanloss-base>
             <spanloss-current>12</spanloss-current>
index 6b7c846192998596d3feded117711b9cb6d140da..d5bbc405a786a166888073e44aaff9a7a2aefd3b 100644 (file)
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber12",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-2-DEG1",
                         "dest-tp": "DEG1-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber13",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-3-DEG1",
                         "dest-tp": "DEG1-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber21",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-1-DEG1",
                         "dest-tp": "DEG1-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber23",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-3-DEG2",
                         "dest-tp": "DEG2-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber25",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-5-DEG3",
                         "dest-tp": "DEG3-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber31",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-1-DEG2",
                         "dest-tp": "DEG2-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber32",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-2-DEG2",
                         "dest-tp": "DEG2-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber35",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-5-DEG2",
                         "dest-tp": "DEG2-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber34",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-4-DEG2",
                         "dest-tp": "DEG2-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber45",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-5-DEG1",
                         "dest-tp": "DEG1-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber43",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-3-DEG4",
                         "dest-tp": "DEG4-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber54",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-4-DEG1",
                         "dest-tp": "DEG1-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber53",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-3-DEG3",
                         "dest-tp": "DEG3-TTP-RX"
                         }
                     },
                     "org-openroadm-common-network:link-type": "ROADM-TO-ROADM",
-                    "org-openroadm-common-network:clfi": "fiber52",
-                    "org-openroadm-common-network:TE-metric": 10,
-                    "org-openroadm-network-topology:link-latency": 1,
                     "destination": {
                         "dest-node": "OpenROADM-2-DEG3",
                         "dest-tp": "DEG3-TTP-RX"
                         }
                     ],
                     "org-openroadm-network-topology:srg-attributes": {
-                        "available-wavelengths": [
+                        "avail-freq-maps": [
                             {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":1,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":2,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                         }
                     ],
                     "org-openroadm-network-topology:srg-attributes": {
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":1,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":2,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":3,
-                        "available-wavelengths": [
+                        "avail-freq-maps": [
                             {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                         }
                     ],
                     "org-openroadm-network-topology:srg-attributes": {
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":1,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":2,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":3,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":4,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                         }
                     ],
                     "org-openroadm-network-topology:srg-attributes": {
-                        "available-wavelengths": [
+                        "avail-freq-maps": [
                             {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":1,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":2,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                         }
                     ],
                     "org-openroadm-network-topology:srg-attributes": {
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":1,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":2,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 4
-                            },
-                            {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
                     ],
                     "org-openroadm-network-topology:degree-attributes": {
                         "degree-number":3,
-                        "available-wavelengths": [
-                            {
-                                "index": 10
-                            },
-                            {
-                                "index": 9
-                            },
-                            {
-                                "index": 6
-                            },
-                            {
-                                "index": 5
-                            },
-                            {
-                                "index": 8
-                            },
-                            {
-                                "index": 7
-                            },
-                            {
-                                "index": 2
-                            },
-                            {
-                                "index": 1
-                            },
-                            {
-                                "index": 4
-                            },
+                        "avail-freq-maps": [
                             {
-                                "index": 3
+                                "map-name": "cband",
+                                "start-edge-freq": 191.325,
+                                "freq-map-granularity": 6.25,
+                                "effective-bits": 8,
+                                "freq-map":"/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
                             }
                         ]
                     },
index 086a0601cbe51be8ccefab4eb25d5d9d131a0211..d17ae48ace377b2115cfe53f53cc2b89fd5b0f28 100644 (file)
             <node-ref>NodeC</node-ref>
         </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
-            <available-wavelengths>
-                <index>93</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>94</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>95</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>96</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>29</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>30</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>31</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>32</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>33</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>34</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>35</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>36</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>37</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>38</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>39</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>40</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>41</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>42</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>43</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>44</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>45</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>46</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>47</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>48</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>49</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>50</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>51</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>52</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>53</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>54</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>55</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>56</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>57</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>58</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>59</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>60</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>61</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>62</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>63</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>64</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>65</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>66</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>67</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>68</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>69</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>70</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>71</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>72</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>73</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>74</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>75</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>76</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>77</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>78</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>79</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>80</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>81</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>82</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>83</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>84</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>85</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>86</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>87</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>88</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>89</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>90</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>91</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>92</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>1</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>2</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>3</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>4</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>5</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>6</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>7</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>8</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>9</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>10</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>11</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>12</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>13</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>14</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>15</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>16</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>17</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>18</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>19</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>20</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>21</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>22</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>23</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>24</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>25</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>26</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>27</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>28</index>
-            </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+                </freq-map>
+            </avail-freq-maps>s>
         </srg-attributes>
         <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
     </node>
         </supporting-node>
         <degree-attributes xmlns="http://org/openroadm/network/topology">
             <degree-number>1</degree-number>
-            <available-wavelengths>
-                <index>93</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>94</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>95</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>96</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>29</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>30</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>31</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>32</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>33</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>34</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>35</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>36</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>37</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>38</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>39</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>40</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>41</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>42</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>43</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>44</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>45</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>46</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>47</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>48</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>49</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>50</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>51</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>52</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>53</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>54</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>55</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>56</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>57</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>58</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>59</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>60</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>61</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>62</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>63</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>64</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>65</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>66</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>67</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>68</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>69</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>70</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>71</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>72</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>73</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>74</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>75</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>76</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>77</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>78</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>79</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>80</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>81</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>82</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>83</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>84</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>85</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>86</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>87</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>88</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>89</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>90</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>91</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>92</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>1</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>2</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>3</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>4</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>5</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>6</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>7</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>8</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>9</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>10</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>11</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>12</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>13</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>14</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>15</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>16</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>17</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>18</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>19</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>20</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>21</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>22</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>23</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>24</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>25</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>26</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>27</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>28</index>
-            </available-wavelengths>
+           <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+                </freq-map>
+            </avail-freq-maps>s>
         </degree-attributes>
     </node>
     <node>
         </supporting-node>
         <degree-attributes xmlns="http://org/openroadm/network/topology">
             <degree-number>2</degree-number>
-            <available-wavelengths>
-                <index>93</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>94</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>95</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>96</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>29</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>30</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>31</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>32</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>33</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>34</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>35</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>36</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>37</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>38</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>39</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>40</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>41</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>42</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>43</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>44</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>45</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>46</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>47</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>48</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>49</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>50</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>51</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>52</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>53</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>54</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>55</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>56</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>57</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>58</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>59</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>60</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>61</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>62</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>63</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>64</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>65</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>66</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>67</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>68</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>69</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>70</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>71</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>72</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>73</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>74</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>75</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>76</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>77</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>78</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>79</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>80</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>81</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>82</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>83</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>84</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>85</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>86</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>87</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>88</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>89</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>90</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>91</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>92</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>1</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>2</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>3</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>4</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>5</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>6</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>7</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>8</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>9</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>10</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>11</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>12</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>13</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>14</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>15</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>16</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>17</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>18</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>19</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>20</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>21</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>22</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>23</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>24</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>25</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>26</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>27</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>28</index>
-            </available-wavelengths>
+        <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+                </freq-map>
+            </avail-freq-maps>s>
         </degree-attributes>
     </node>
     <node>
             <node-ref>NodeA</node-ref>
         </supporting-node>
         <srg-attributes xmlns="http://org/openroadm/network/topology">
-            <available-wavelengths>
-                <index>93</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>94</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>95</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>96</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>29</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>30</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>31</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>32</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>33</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>34</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>35</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>36</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>37</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>38</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>39</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>40</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>41</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>42</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>43</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>44</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>45</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>46</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>47</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>48</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>49</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>50</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>51</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>52</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>53</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>54</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>55</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>56</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>57</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>58</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>59</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>60</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>61</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>62</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>63</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>64</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>65</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>66</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>67</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>68</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>69</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>70</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>71</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>72</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>73</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>74</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>75</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>76</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>77</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>78</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>79</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>80</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>81</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>82</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>83</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>84</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>85</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>86</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>87</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>88</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>89</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>90</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>91</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>92</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>1</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>2</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>3</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>4</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>5</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>6</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>7</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>8</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>9</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>10</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>11</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>12</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>13</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>14</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>15</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>16</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>17</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>18</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>19</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>20</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>21</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>22</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>23</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>24</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>25</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>26</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>27</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>28</index>
-            </available-wavelengths>
+        <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+                </freq-map>
+            </avail-freq-maps>s>
         </srg-attributes>
         <node-type xmlns="http://org/openroadm/common/network">SRG</node-type>
     </node>
         </supporting-node>
         <degree-attributes xmlns="http://org/openroadm/network/topology">
             <degree-number>2</degree-number>
-            <available-wavelengths>
-                <index>93</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>94</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>95</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>96</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>29</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>30</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>31</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>32</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>33</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>34</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>35</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>36</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>37</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>38</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>39</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>40</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>41</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>42</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>43</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>44</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>45</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>46</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>47</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>48</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>49</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>50</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>51</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>52</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>53</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>54</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>55</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>56</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>57</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>58</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>59</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>60</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>61</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>62</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>63</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>64</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>65</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>66</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>67</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>68</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>69</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>70</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>71</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>72</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>73</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>74</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>75</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>76</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>77</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>78</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>79</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>80</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>81</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>82</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>83</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>84</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>85</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>86</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>87</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>88</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>89</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>90</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>91</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>92</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>1</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>2</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>3</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>4</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>5</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>6</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>7</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>8</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>9</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>10</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>11</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>12</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>13</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>14</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>15</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>16</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>17</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>18</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>19</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>20</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>21</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>22</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>23</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>24</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>25</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>26</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>27</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>28</index>
-            </available-wavelengths>
+         <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+                </freq-map>
+            </avail-freq-maps>s>
         </degree-attributes>
     </node>
     <node>
         </supporting-node>
         <degree-attributes xmlns="http://org/openroadm/network/topology">
             <degree-number>1</degree-number>
-            <available-wavelengths>
-                <index>93</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>94</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>95</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>96</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>29</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>30</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>31</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>32</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>33</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>34</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>35</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>36</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>37</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>38</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>39</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>40</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>41</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>42</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>43</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>44</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>45</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>46</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>47</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>48</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>49</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>50</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>51</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>52</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>53</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>54</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>55</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>56</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>57</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>58</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>59</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>60</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>61</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>62</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>63</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>64</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>65</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>66</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>67</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>68</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>69</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>70</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>71</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>72</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>73</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>74</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>75</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>76</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>77</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>78</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>79</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>80</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>81</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>82</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>83</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>84</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>85</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>86</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>87</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>88</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>89</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>90</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>91</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>92</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>1</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>2</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>3</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>4</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>5</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>6</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>7</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>8</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>9</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>10</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>11</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>12</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>13</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>14</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>15</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>16</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>17</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>18</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>19</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>20</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>21</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>22</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>23</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>24</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>25</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>26</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>27</index>
-            </available-wavelengths>
-            <available-wavelengths>
-                <index>28</index>
-            </available-wavelengths>
+            <avail-freq-maps>
+                <map-name>cband</map-name>
+                <start-edge-freq>191.325</start-edge-freq>
+                <freq-map-granularity>6.25</freq-map-granularity>
+                <effective-bits>8</effective-bits>
+                <freq-map>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+                </freq-map>
+            </avail-freq-maps>s>
         </degree-attributes>
     </node>
 </network>
index 43c0348130c47a143b76a8c6882a4819758dfe2f..92032039e051c32a54ab30a40d789a0ce9f09cfb 100644 (file)
 # pylint: disable=no-member
 # pylint: disable=too-many-public-methods
 
+import base64
 import time
 import unittest
 
 import requests
 from common import test_utils
+from common.test_utils import INDEX_1_USED_FREQ_MAP, INDEX_1_2_USED_FREQ_MAP, AVAILABLE_FREQ_MAP
 
 
 class TransportPCEFulltesting(unittest.TestCase):
-
     cr_serv_sample_data = {"input": {
         "sdnc-request-header": {
             "request-id": "e3028bae-a90f-4ddd-a83f-cf224eba0e58",
             "rpc-action": "service-create",
             "request-system-id": "appname",
             "notification-url":
-            "http://localhost:8585/NotificationServer/notify"
+                "http://localhost:8585/NotificationServer/notify"
         },
         "service-name": "service1",
         "common-id": "ASATT1234567",
@@ -36,40 +37,40 @@ class TransportPCEFulltesting(unittest.TestCase):
             "node-id": "XPDRA01",
             "service-format": "Ethernet",
             "clli": "SNJSCAMCJP8",
-                    "tx-direction": {
-                        "port": {
-                            "port-device-name":
-                                "ROUTER_SNJSCAMCJP8_000000.00_00",
-                            "port-type": "router",
-                            "port-name": "Gigabit Ethernet_Tx.ge-5/0/0.0",
-                            "port-rack": "000000.00",
-                            "port-shelf": "00"
-                        },
-                        "lgx": {
-                            "lgx-device-name":
-                                "LGX Panel_SNJSCAMCJP8_000000.00_00",
-                            "lgx-port-name": "LGX Back.3",
-                            "lgx-port-rack": "000000.00",
-                            "lgx-port-shelf": "00"
-                        }
-                    },
+            "tx-direction": {
+                "port": {
+                    "port-device-name":
+                        "ROUTER_SNJSCAMCJP8_000000.00_00",
+                    "port-type": "router",
+                    "port-name": "Gigabit Ethernet_Tx.ge-5/0/0.0",
+                    "port-rack": "000000.00",
+                    "port-shelf": "00"
+                },
+                "lgx": {
+                    "lgx-device-name":
+                        "LGX Panel_SNJSCAMCJP8_000000.00_00",
+                    "lgx-port-name": "LGX Back.3",
+                    "lgx-port-rack": "000000.00",
+                    "lgx-port-shelf": "00"
+                }
+            },
             "rx-direction": {
-                        "port": {
-                            "port-device-name":
-                                "ROUTER_SNJSCAMCJP8_000000.00_00",
-                            "port-type": "router",
-                            "port-name": "Gigabit Ethernet_Rx.ge-5/0/0.0",
-                            "port-rack": "000000.00",
-                            "port-shelf": "00"
-                        },
-                        "lgx": {
-                            "lgx-device-name":
-                                "LGX Panel_SNJSCAMCJP8_000000.00_00",
-                            "lgx-port-name": "LGX Back.4",
-                            "lgx-port-rack": "000000.00",
-                            "lgx-port-shelf": "00"
-                        }
-                    },
+                "port": {
+                    "port-device-name":
+                        "ROUTER_SNJSCAMCJP8_000000.00_00",
+                    "port-type": "router",
+                    "port-name": "Gigabit Ethernet_Rx.ge-5/0/0.0",
+                    "port-rack": "000000.00",
+                    "port-shelf": "00"
+                },
+                "lgx": {
+                    "lgx-device-name":
+                        "LGX Panel_SNJSCAMCJP8_000000.00_00",
+                    "lgx-port-name": "LGX Back.4",
+                    "lgx-port-rack": "000000.00",
+                    "lgx-port-shelf": "00"
+                }
+            },
             "optic-type": "gray"
         },
         "service-z-end": {
@@ -77,40 +78,40 @@ class TransportPCEFulltesting(unittest.TestCase):
             "node-id": "XPDRC01",
             "service-format": "Ethernet",
             "clli": "SNJSCAMCJT4",
-                    "tx-direction": {
-                        "port": {
-                            "port-device-name":
-                                "ROUTER_SNJSCAMCJT4_000000.00_00",
-                            "port-type": "router",
-                            "port-name": "Gigabit Ethernet_Tx.ge-1/0/0.0",
-                            "port-rack": "000000.00",
-                            "port-shelf": "00"
-                        },
-                        "lgx": {
-                            "lgx-device-name":
-                                "LGX Panel_SNJSCAMCJT4_000000.00_00",
-                            "lgx-port-name": "LGX Back.29",
-                            "lgx-port-rack": "000000.00",
-                            "lgx-port-shelf": "00"
-                        }
-                    },
+            "tx-direction": {
+                "port": {
+                    "port-device-name":
+                        "ROUTER_SNJSCAMCJT4_000000.00_00",
+                    "port-type": "router",
+                    "port-name": "Gigabit Ethernet_Tx.ge-1/0/0.0",
+                    "port-rack": "000000.00",
+                    "port-shelf": "00"
+                },
+                "lgx": {
+                    "lgx-device-name":
+                        "LGX Panel_SNJSCAMCJT4_000000.00_00",
+                    "lgx-port-name": "LGX Back.29",
+                    "lgx-port-rack": "000000.00",
+                    "lgx-port-shelf": "00"
+                }
+            },
             "rx-direction": {
-                        "port": {
-                            "port-device-name":
-                                "ROUTER_SNJSCAMCJT4_000000.00_00",
-                            "port-type": "router",
-                            "port-name": "Gigabit Ethernet_Rx.ge-1/0/0.0",
-                            "port-rack": "000000.00",
-                            "port-shelf": "00"
-                        },
-                        "lgx": {
-                            "lgx-device-name":
-                                "LGX Panel_SNJSCAMCJT4_000000.00_00",
-                            "lgx-port-name": "LGX Back.30",
-                            "lgx-port-rack": "000000.00",
-                            "lgx-port-shelf": "00"
-                        }
-                    },
+                "port": {
+                    "port-device-name":
+                        "ROUTER_SNJSCAMCJT4_000000.00_00",
+                    "port-type": "router",
+                    "port-name": "Gigabit Ethernet_Rx.ge-1/0/0.0",
+                    "port-rack": "000000.00",
+                    "port-shelf": "00"
+                },
+                "lgx": {
+                    "lgx-device-name":
+                        "LGX Panel_SNJSCAMCJT4_000000.00_00",
+                    "lgx-port-name": "LGX Back.30",
+                    "lgx-port-rack": "000000.00",
+                    "lgx-port-shelf": "00"
+                }
+            },
             "optic-type": "gray"
         },
         "due-date": "2016-11-28T00:00:01Z",
@@ -191,7 +192,6 @@ class TransportPCEFulltesting(unittest.TestCase):
     def test_09_add_omsAttributes_ROADMA_ROADMC(self):
         # Config ROADMA-ROADMC oms-attributes
         data = {"span": {
-            "clfi": "fiber1",
             "auto-spanloss": "true",
             "spanloss-base": 11.4,
             "spanloss-current": 12,
@@ -207,7 +207,6 @@ class TransportPCEFulltesting(unittest.TestCase):
     def test_10_add_omsAttributes_ROADMC_ROADMA(self):
         # Config ROADMC-ROADMA oms-attributes
         data = {"span": {
-            "clfi": "fiber1",
             "auto-spanloss": "true",
             "spanloss-base": 11.4,
             "spanloss-current": 12,
@@ -313,10 +312,10 @@ class TransportPCEFulltesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADMA01-SRG1")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertNotIn({u'index': 1},
-                         res['node'][0][
-                             u'org-openroadm-network-topology:srg-attributes'][
-                             'available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 0, "Index 1 should not be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'SRG1-PP1-TXRX':
@@ -332,18 +331,18 @@ class TransportPCEFulltesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADMA01-DEG1")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertNotIn({u'index': 1},
-                         res['node'][0][
-                             u'org-openroadm-network-topology:'
-                             u'degree-attributes'][
-                             'available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:degree-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 0, "Index 1 should not be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'DEG1-CTP-TXRX':
-                self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
+                self.assertIn({u'map-name': 'cband', u'freq-map-granularity': 6.25, u'start-edge-freq': 191.325,
+                               u'effective-bits': 8, u'freq-map': INDEX_1_USED_FREQ_MAP},
                               ele['org-openroadm-network-topology:'
                                   'ctp-attributes'][
-                                  'used-wavelengths'])
+                                  'avail-freq-maps'])
             if ele['tp-id'] == 'DEG1-TTP-TXRX':
                 self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
                               ele['org-openroadm-network-topology:'
@@ -419,10 +418,10 @@ class TransportPCEFulltesting(unittest.TestCase):
         # the following statement replaces self.assertDictContainsSubset deprecated in python 3.2
         self.assertDictEqual(
             dict({
-                 'connection-number': 'DEG1-TTP-TXRX-SRG1-PP2-TXRX-2',
-                 'wavelength-number': 2,
-                 'opticalControlMode': 'power'
-                 }, **res['roadm-connections'][0]),
+                'connection-number': 'DEG1-TTP-TXRX-SRG1-PP2-TXRX-2',
+                'wavelength-number': 2,
+                'opticalControlMode': 'power'
+            }, **res['roadm-connections'][0]),
             res['roadm-connections'][0]
         )
         self.assertDictEqual(
@@ -449,7 +448,7 @@ class TransportPCEFulltesting(unittest.TestCase):
                                      'xpdr-network-attributes'][
                                      'wavelength'])
             if ele['tp-id'] == 'XPDR1-CLIENT1' or \
-               ele['tp-id'] == 'XPDR1-CLIENT3':
+                    ele['tp-id'] == 'XPDR1-CLIENT3':
                 self.assertNotIn(
                     'org-openroadm-network-topology:xpdr-client-attributes',
                     dict.keys(ele))
@@ -459,12 +458,11 @@ class TransportPCEFulltesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADMA01-SRG1")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertNotIn({u'index': 1}, res['node'][0][
-            u'org-openroadm-network-topology:srg-attributes'][
-            'available-wavelengths'])
-        self.assertNotIn({u'index': 2}, res['node'][0][
-            u'org-openroadm-network-topology:srg-attributes'][
-            'available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 0, "Index 1 should not be available")
+        self.assertEqual(freq_map_array[1], 0, "Index 2 should not be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'SRG1-PP1-TXRX':
@@ -492,21 +490,19 @@ class TransportPCEFulltesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADMA01-DEG1")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertNotIn({u'index': 1}, res['node'][0][
-            u'org-openroadm-network-topology:degree-attributes'][
-            'available-wavelengths'])
-        self.assertNotIn({u'index': 2}, res['node'][0][
-            u'org-openroadm-network-topology:degree-attributes'][
-            'available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:degree-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 0, "Index 1 should not be available")
+        self.assertEqual(freq_map_array[1], 0, "Index 2 should not be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'DEG1-CTP-TXRX':
-                self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
-                              ele['org-openroadm-network-topology:'
-                                  'ctp-attributes']['used-wavelengths'])
-                self.assertIn({u'index': 2, u'frequency': 196.05, u'width': 40},
+                self.assertIn({u'map-name': 'cband', u'freq-map-granularity': 6.25, u'start-edge-freq': 191.325,
+                               u'effective-bits': 8, u'freq-map': INDEX_1_2_USED_FREQ_MAP},
                               ele['org-openroadm-network-topology:'
-                                  'ctp-attributes']['used-wavelengths'])
+                                  'ctp-attributes'][
+                                  'avail-freq-maps'])
             if ele['tp-id'] == 'DEG1-TTP-TXRX':
                 self.assertIn({u'index': 1, u'frequency': 196.1, u'width': 40},
                               ele['org-openroadm-network-topology:'
@@ -577,8 +573,8 @@ 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')):
+                    and (ele['tp-id'] == 'XPDR1-CLIENT1' or ele[
+                        'tp-id'] == 'XPDR1-CLIENT3')):
                 self.assertNotIn(
                     'org-openroadm-network-topology:xpdr-client-attributes',
                     dict.keys(ele))
@@ -596,38 +592,26 @@ class TransportPCEFulltesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADMA01-SRG1")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertIn({u'index': 1}, res['node'][0][
-            u'org-openroadm-network-topology:srg-attributes'][
-            'available-wavelengths'])
-        self.assertIn({u'index': 2}, res['node'][0][
-            u'org-openroadm-network-topology:srg-attributes'][
-            'available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map'])
+        self.assertTrue(test_utils.check_freq_map(freq_map), "Index 1 and 2 should be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
-            if ele['tp-id'] == 'SRG1-PP1-TXRX' or \
-               ele['tp-id'] == 'SRG1-PP1-TXRX':
-                self.assertNotIn('org-openroadm-network-topology:pp-attributes',
-                                 dict.keys(ele))
-            else:
-                self.assertNotIn('org-openroadm-network-topology:pp-attributes',
-                                 dict.keys(ele))
+            self.assertNotIn('org-openroadm-network-topology:pp-attributes', dict.keys(ele))
         time.sleep(10)
 
     def test_35_check_topo_ROADMA_DEG1(self):
         response = test_utils.get_ordm_topo_request("node/ROADMA01-DEG1")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertIn({u'index': 1}, res['node'][0][
-            u'org-openroadm-network-topology:degree-attributes'][
-            'available-wavelengths'])
-        self.assertIn({u'index': 2}, res['node'][0][
-            u'org-openroadm-network-topology:degree-attributes'][
-            'available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:degree-attributes']['avail-freq-maps'][0]['freq-map'])
+        self.assertTrue(test_utils.check_freq_map(freq_map), "Index 1 and 2 should be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'DEG1-CTP-TXRX':
-                self.assertNotIn('org-openroadm-network-topology:'
-                                 'ctp-attributes', dict.keys(ele))
+                self.assertEqual(ele['org-openroadm-network-topology:ctp-attributes']['avail-freq-maps'][0]['freq-map'],
+                                 AVAILABLE_FREQ_MAP)
             if ele['tp-id'] == 'DEG1-TTP-TXRX':
                 self.assertNotIn('org-openroadm-network-topology:'
                                  'tx-ttp-attributes', dict.keys(ele))
index bc9b3a634b64d191901ae85816601801674af2c3..c20b0eba59af0482e52b16f27def9759453aece3 100644 (file)
 
 # pylint: disable=no-member
 # pylint: disable=too-many-public-methods
-
+import base64
 import unittest
 import time
 import requests
 from common import test_utils
+from common.test_utils import INDEX_1_USED_FREQ_MAP, INDEX_1_2_USED_FREQ_MAP, AVAILABLE_FREQ_MAP
 
 
 class TransportPCEFulltesting(unittest.TestCase):
@@ -290,8 +291,10 @@ class TransportPCEFulltesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADM-A1-SRG1")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertNotIn({u'index': 1},
-                         res['node'][0][u'org-openroadm-network-topology:srg-attributes']['available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 0, "Index 1 should not be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'SRG1-PP1-TXRX':
@@ -306,14 +309,18 @@ class TransportPCEFulltesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADM-A1-DEG2")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertNotIn({u'index': 1},
-                         res['node'][0][u'org-openroadm-network-topology:degree-attributes']['available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:degree-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 0, "Index 1 should not be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'DEG2-CTP-TXRX':
-                self.assertIn({u'index': 1, u'frequency': 196.1,
-                               u'width': 40},
-                              ele['org-openroadm-network-topology:ctp-attributes']['used-wavelengths'])
+                self.assertIn({u'map-name': 'cband', u'freq-map-granularity': 6.25, u'start-edge-freq': 191.325,
+                               u'effective-bits': 8, u'freq-map': INDEX_1_USED_FREQ_MAP},
+                              ele['org-openroadm-network-topology:'
+                                  'ctp-attributes'][
+                                  'avail-freq-maps'])
             if ele['tp-id'] == 'DEG2-TTP-TXRX':
                 self.assertIn({u'index': 1, u'frequency': 196.1,
                                u'width': 40},
@@ -417,10 +424,11 @@ class TransportPCEFulltesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADM-A1-SRG1")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertNotIn({u'index': 1}, res['node'][0]
-                         [u'org-openroadm-network-topology:srg-attributes']['available-wavelengths'])
-        self.assertNotIn({u'index': 2}, res['node'][0]
-                         [u'org-openroadm-network-topology:srg-attributes']['available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 0, "Index 1 should not be available")
+        self.assertEqual(freq_map_array[1], 0, "Index 2 should not be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'SRG1-PP1-TXRX':
@@ -444,18 +452,19 @@ class TransportPCEFulltesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADM-A1-DEG2")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertNotIn({u'index': 1}, res['node'][0]
-                         [u'org-openroadm-network-topology:degree-attributes']['available-wavelengths'])
-        self.assertNotIn({u'index': 2}, res['node'][0]
-                         [u'org-openroadm-network-topology:degree-attributes']['available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:degree-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 0, "Index 1 should not be available")
+        self.assertEqual(freq_map_array[1], 0, "Index 2 should not be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'DEG2-CTP-TXRX':
-                self.assertIn({u'index': 1, u'frequency': 196.1,
-                               u'width': 40},
-                              ele['org-openroadm-network-topology:ctp-attributes']['used-wavelengths'])
-                self.assertIn({u'index': 2, u'frequency': 196.05, u'width': 40},
-                              ele['org-openroadm-network-topology:ctp-attributes']['used-wavelengths'])
+                self.assertIn({u'map-name': 'cband', u'freq-map-granularity': 6.25, u'start-edge-freq': 191.325,
+                               u'effective-bits': 8, u'freq-map': INDEX_1_2_USED_FREQ_MAP},
+                              ele['org-openroadm-network-topology:'
+                                  'ctp-attributes'][
+                                  'avail-freq-maps'])
             if ele['tp-id'] == 'DEG2-TTP-TXRX':
                 self.assertIn({u'index': 1, u'frequency': 196.1,
                                u'width': 40},
@@ -527,10 +536,11 @@ class TransportPCEFulltesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADM-A1-SRG1")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertIn({u'index': 1}, res['node'][0]
-                      [u'org-openroadm-network-topology:srg-attributes']['available-wavelengths'])
-        self.assertIn({u'index': 2}, res['node'][0]
-                      [u'org-openroadm-network-topology:srg-attributes']['available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 255, "Index 1 should  be available")
+        self.assertEqual(freq_map_array[1], 255, "Index 2 should  be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'SRG1-PP1-TXRX' or ele['tp-id'] == 'SRG1-PP1-TXRX':
@@ -543,14 +553,14 @@ class TransportPCEFulltesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADM-A1-DEG2")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertIn({u'index': 1}, res['node'][0]
-                      [u'org-openroadm-network-topology:degree-attributes']['available-wavelengths'])
-        self.assertIn({u'index': 2}, res['node'][0]
-                      [u'org-openroadm-network-topology:degree-attributes']['available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:degree-attributes']['avail-freq-maps'][0]['freq-map'])
+        self.assertTrue(test_utils.check_freq_map(freq_map), "Index 1 and 2 should be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'DEG2-CTP-TXRX':
-                self.assertNotIn('org-openroadm-network-topology:ctp-attributes', dict.keys(ele))
+                self.assertEqual(ele['org-openroadm-network-topology:ctp-attributes']['avail-freq-maps'][0]['freq-map'],
+                                 AVAILABLE_FREQ_MAP)
             if ele['tp-id'] == 'DEG2-TTP-TXRX':
                 self.assertNotIn('org-openroadm-network-topology:tx-ttp-attributes', dict.keys(ele))
         time.sleep(10)
index d2208da6d8727f05201635885b552b3b65ce6f09..7377cfb8e4a91aa033627bcc61f979c08a34a713 100644 (file)
 # pylint: disable=no-member
 # pylint: disable=too-many-public-methods
 
+import base64
 import unittest
 import time
 import requests
 from common import test_utils
+from common.test_utils import INDEX_1_USED_FREQ_MAP, INDEX_1_2_USED_FREQ_MAP, AVAILABLE_FREQ_MAP
 
 
 class TransportPCEtesting(unittest.TestCase):
@@ -357,8 +359,10 @@ class TransportPCEtesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADM-A1-SRG1")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertNotIn({u'index': 1},
-                         res['node'][0][u'org-openroadm-network-topology:srg-attributes']['available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 0, "Index 1 should not be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'SRG1-PP1-TXRX':
@@ -373,14 +377,16 @@ class TransportPCEtesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADM-A1-DEG2")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertNotIn({u'index': 1},
-                         res['node'][0][u'org-openroadm-network-topology:degree-attributes']['available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:degree-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 0, "Index 1 should not be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'DEG2-CTP-TXRX':
-                self.assertIn({u'index': 1, u'frequency': 196.1,
-                               u'width': 40},
-                              ele['org-openroadm-network-topology:ctp-attributes']['used-wavelengths'])
+                self.assertIn({u'map-name': 'cband', u'freq-map-granularity': 6.25, u'start-edge-freq': 191.325,
+                               u'effective-bits': 8, u'freq-map': INDEX_1_USED_FREQ_MAP},
+                              ele['org-openroadm-network-topology:ctp-attributes']['avail-freq-maps'])
             if ele['tp-id'] == 'DEG2-TTP-TXRX':
                 self.assertIn({u'index': 1, u'frequency': 196.1,
                                u'width': 40},
@@ -908,8 +914,10 @@ class TransportPCEtesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADM-A1-SRG1")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertIn({u'index': 1},
-                      res['node'][0][u'org-openroadm-network-topology:srg-attributes']['available-wavelengths'])
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:srg-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 255, "Index 1 should be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'SRG1-PP1-TXRX':
@@ -920,12 +928,16 @@ class TransportPCEtesting(unittest.TestCase):
         response = test_utils.get_ordm_topo_request("node/ROADM-A1-DEG2")
         self.assertEqual(response.status_code, requests.codes.ok)
         res = response.json()
-        self.assertIn({u'index': 1},
-                      res['node'][0][u'org-openroadm-network-topology:degree-attributes']['available-wavelengths'])
+        print(res)
+        freq_map = base64.b64decode(
+            res['node'][0]['org-openroadm-network-topology:degree-attributes']['avail-freq-maps'][0]['freq-map'])
+        freq_map_array = [int(x) for x in freq_map]
+        self.assertEqual(freq_map_array[0], 255, "Index 1 should be available")
         liste_tp = res['node'][0]['ietf-network-topology:termination-point']
         for ele in liste_tp:
             if ele['tp-id'] == 'DEG2-CTP-TXRX':
-                self.assertNotIn('org-openroadm-network-topology:ctp-attributes', dict.keys(ele))
+                self.assertEqual(ele['org-openroadm-network-topology:ctp-attributes']['avail-freq-maps'][0]['freq-map'],
+                                 AVAILABLE_FREQ_MAP)
             if ele['tp-id'] == 'DEG2-TTP-TXRX':
                 self.assertNotIn('org-openroadm-network-topology:tx-ttp-attributes', dict.keys(ele))
         time.sleep(3)
index d945c335b2cffb81955bd5960745b802c6095ca3..7d0d0bd9e6b01ddb8ba22265223a39563c6bf1e5 100644 (file)
@@ -481,7 +481,6 @@ class TransportTapitesting(unittest.TestCase):
     def test_30_add_oms_attributes(self):
         # Config ROADMA-ROADMC oms-attributes
         data = {"span": {
-            "clfi": "fiber1",
             "auto-spanloss": "true",
             "spanloss-base": 11.4,
             "spanloss-current": 12,
@@ -495,7 +494,6 @@ class TransportTapitesting(unittest.TestCase):
         self.assertEqual(response.status_code, requests.codes.created)
         # Config ROADMC-ROADMA oms-attributes
         data = {"span": {
-            "clfi": "fiber1",
             "auto-spanloss": "true",
             "spanloss-base": 11.4,
             "spanloss-current": 12,
index b541abb09df8b2ac431759b5cc2827ee911ee832..9d3bfec3eb62c86a8518b42363a68fb906905df0 100644 (file)
@@ -11,6 +11,7 @@
 
 # pylint: disable=no-member
 
+import base64
 import json
 import os
 import sys
@@ -97,7 +98,7 @@ def start_tpce():
     else:
         process = start_karaf()
         start_msg = KARAF_OK_START_MSG
-    if wait_until_log_contains(TPCE_LOG, start_msg , time_to_wait=60):
+    if wait_until_log_contains(TPCE_LOG, start_msg, time_to_wait=60):
         print("OpenDaylight started !")
     else:
         print("OpenDaylight failed to start !")
@@ -203,7 +204,7 @@ def delete_request(url):
 
 
 def mount_device(node_id, sim):
-    url = URL_CONFIG_NETCONF_TOPO+"node/"+node_id
+    url = URL_CONFIG_NETCONF_TOPO + "node/" + node_id
     body = {"node": [{
         "node-id": node_id,
         "netconf-node-topology:username": NODES_LOGIN,
@@ -213,10 +214,10 @@ def mount_device(node_id, sim):
         "netconf-node-topology:tcp-only": "false",
         "netconf-node-topology:pass-through": {}}]}
     response = put_request(url, body)
-    if wait_until_log_contains(TPCE_LOG, re.escape("Triggering notification stream NETCONF for node "+node_id), 60):
-        print("Node "+node_id+" correctly added to tpce topology", end='... ', flush=True)
+    if wait_until_log_contains(TPCE_LOG, re.escape("Triggering notification stream NETCONF for node " + node_id), 60):
+        print("Node " + node_id + " correctly added to tpce topology", end='... ', flush=True)
     else:
-        print("Node "+node_id+" still not added to tpce topology", end='... ', flush=True)
+        print("Node " + node_id + " still not added to tpce topology", end='... ', flush=True)
         if response.status_code == requests.codes.ok:
             print("It was probably loaded at start-up", end='... ', flush=True)
         # TODO an else-clause to abort test would probably be nice here
@@ -224,12 +225,12 @@ def mount_device(node_id, sim):
 
 
 def unmount_device(node_id):
-    url = URL_CONFIG_NETCONF_TOPO+"node/"+node_id
+    url = URL_CONFIG_NETCONF_TOPO + "node/" + node_id
     response = delete_request(url)
-    if wait_until_log_contains(TPCE_LOG, re.escape("onDeviceDisConnected: "+node_id), 60):
-        print("Node "+node_id+" correctly deleted from tpce topology", end='... ', flush=True)
+    if wait_until_log_contains(TPCE_LOG, re.escape("onDeviceDisConnected: " + node_id), 60):
+        print("Node " + node_id + " correctly deleted from tpce topology", end='... ', flush=True)
     else:
-        print("Node "+node_id+" still not deleted from tpce topology", end='... ', flush=True)
+        print("Node " + node_id + " still not deleted from tpce topology", end='... ', flush=True)
     return response
 
 
@@ -426,7 +427,7 @@ def wait_until_log_contains(log_file, regexp, time_to_wait=20):
             filelogs = open(log_file, 'r')
             filelogs.seek(0, 2)
             filefound = True
-            print("Searching for pattern '"+regexp+"' in "+os.path.basename(log_file), end='... ', flush=True)
+            print("Searching for pattern '" + regexp + "' in " + os.path.basename(log_file), end='... ', flush=True)
             compiled_regexp = re.compile(regexp)
             while True:
                 line = filelogs.readline()
@@ -437,7 +438,7 @@ def wait_until_log_contains(log_file, regexp, time_to_wait=20):
                 if not line:
                     time.sleep(0.1)
     except TimeoutError:
-        print("Pattern not found after "+str(time_to_wait), end=" seconds! ", flush=True)
+        print("Pattern not found after " + str(time_to_wait), end=" seconds! ", flush=True)
     except PermissionError:
         print("Permission Error when trying to access the log file", end=" ... ", flush=True)
     finally:
@@ -463,3 +464,21 @@ class TimeOut:
     def __exit__(self, type, value, traceback):
         # pylint: disable=W0622
         signal.alarm(0)
+
+
+def check_freq_map(freq_map):
+    freq_map_array = [int(x) for x in freq_map]
+    return freq_map_array[0] == 255 and freq_map_array[1] == 255
+
+
+def set_used_index_for_freq_map(freq_map, index):
+    freq_map[index] = 0
+    return freq_map
+
+
+INDEX_1_USED_FREQ_MAP = base64.b64encode(set_used_index_for_freq_map(bytearray(b'\xFF' * 96), 0)).decode('UTF-8')
+
+INDEX_1_2_USED_FREQ_MAP = base64.b64encode(set_used_index_for_freq_map(
+    set_used_index_for_freq_map(bytearray(b'\xFF' * 96), 0), 1)).decode('utf-8')
+
+AVAILABLE_FREQ_MAP = base64.b64encode(bytearray(b'\xFF' * 96)).decode('UTF-8')