New functional test suite of otn-swith 2.2.1 05/97805/10
authorGilles Thouenon <gilles.thouenon@orange.com>
Wed, 15 Sep 2021 09:48:35 +0000 (11:48 +0200)
committerGilles Thouenon <gilles.thouenon@orange.com>
Sat, 20 Nov 2021 09:46:21 +0000 (10:46 +0100)
Create a new functional test suite testing the end-to-end 100GE service
management over two (or more) otn-switch. Two uses cases are verified:
- when two otn-switch are used as "AZ" node, at the termination of the
service
- when a thrid otn-switch is used as "intermediate" node, serving as an
otn-regenerator. In such a case, the 100GE/ODU4 service is supported by
two OTU4 server links.

Also update simulator configuration files to perform such a network
configuration with 3 ROADMs and 3 otn-switches. Adapt some functional
tests consequently.
Finally, rename tapi functional test to keep sequence logical.

JIRA: TRNSPRTPCE-530
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I117a1426d6ecabeeb2a170779846f08201f32d02

tests/sample_configs/openroadm/2.2.1/oper-ROADMA.xml
tests/sample_configs/openroadm/2.2.1/oper-ROADMB.xml
tests/sample_configs/openroadm/2.2.1/oper-ROADMC.xml
tests/sample_configs/openroadm/2.2.1/oper-SPDRB.xml [new file with mode: 0644]
tests/transportpce_tests/2.2.1/test03_topology.py
tests/transportpce_tests/2.2.1/test10_tapi.py
tests/transportpce_tests/2.2.1/test13_tapi_full_multi_layer.py [moved from tests/transportpce_tests/2.2.1/test12_tapi_full_multi_layer.py with 100% similarity]
tests/transportpce_tests/2.2.1/test14_otn_switch_end2end.py [new file with mode: 0644]
tests/transportpce_tests/common/simulators.py

index b1d63133dfd464d90c787f4d42748ee223627150..d17bf8ca67556b57ea30e894724224e856447a30 100644 (file)
       </measurement>
     </current-pm>
   </current-pm-entry>
+  <current-pm-entry>
+    <pm-resource-instance xmlns:d="http://org/openroadm/device">/d:org-openroadm-device/d:interface[d:name='OTS-DEG1-TTP-TXRX']</pm-resource-instance>
+    <pm-resource-type>interface</pm-resource-type>
+    <pm-resource-type-extension></pm-resource-type-extension>
+    <retrieval-time>2018-06-07T13:22:58+00:00</retrieval-time>
+    <current-pm>
+      <type>opticalPowerOutput</type>
+      <extension></extension>
+      <location>nearEnd</location>
+      <direction>tx</direction>
+      <measurement>
+        <granularity>15min</granularity>
+        <pmParameterValue>2.5</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+      <measurement>
+        <granularity>24Hour</granularity>
+        <pmParameterValue>2.23</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+    </current-pm>
+    <current-pm>
+      <type>opticalPowerInput</type>
+      <extension></extension>
+      <location>nearEnd</location>
+      <direction>rx</direction>
+      <measurement>
+        <granularity>15min</granularity>
+        <pmParameterValue>-21.1</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+      <measurement>
+        <granularity>24Hour</granularity>
+        <pmParameterValue>-49.3</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+    </current-pm>
+    <current-pm>
+      <type>opticalReturnLoss</type>
+      <extension></extension>
+      <location>nearEnd</location>
+      <direction>rx</direction>
+      <measurement>
+        <granularity>15min</granularity>
+        <pmParameterValue>40</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+      <measurement>
+        <granularity>24Hour</granularity>
+        <pmParameterValue>44</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+    </current-pm>
+  </current-pm-entry>
   </current-pm-list>
 
  </data>
index 65d9b627a5695f478e2d184f7efd55b9038a07d9..d2eee953542ddd028f01ac946e0bc13bfdc27838 100644 (file)
         <operational-state>inService</operational-state>
       </ports>
     </circuit-packs>
+    <circuit-packs>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <circuit-pack-name>3/0</circuit-pack-name>
+      <circuit-pack-type>ADDDROP</circuit-pack-type>
+      <circuit-pack-product-code>SRGRx</circuit-pack-product-code>
+      <administrative-state>inService</administrative-state>
+      <vendor>vendorA</vendor>
+      <model>WSS</model>
+      <serial-id>nodeid-1234</serial-id>
+      <type>SRG1</type>
+      <product-code>SRGRx</product-code>
+      <manufacture-date>2007-10-10T00:00:00Z</manufacture-date>
+      <clei>12345678901</clei>
+      <hardware-version>0.1</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <equipment-state>reserved-for-facility-available</equipment-state>
+      <circuit-pack-mode>inServiceMode</circuit-pack-mode>
+      <shelf>1</shelf>
+      <slot>2</slot>
+      <ports>
+        <port-name>C1</port-name>
+        <port-type>Client</port-type>
+        <port-qual>roadm-external</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>SRG1-client port 1</label>
+        <circuit-id>SRG1</circuit-id>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <partner-port>
+          <circuit-pack-name></circuit-pack-name>
+          <port-name></port-name>
+        </partner-port>
+        <logical-connection-point>SRG1-PP1</logical-connection-point>
+      </ports>
+      <ports>
+        <port-name>C2</port-name>
+        <port-type>Client</port-type>
+        <port-qual>roadm-external</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>SRG1-client port 2</label>
+        <circuit-id>SRG1</circuit-id>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <partner-port>
+          <circuit-pack-name></circuit-pack-name>
+          <port-name></port-name>
+        </partner-port>
+        <logical-connection-point>SRG1-PP2</logical-connection-point>
+      </ports>
+      <ports>
+        <port-name>C3</port-name>
+        <port-type>Client</port-type>
+        <port-qual>roadm-external</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>SRG1-client port 3</label>
+        <circuit-id>SRG1</circuit-id>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <partner-port>
+          <circuit-pack-name></circuit-pack-name>
+          <port-name></port-name>
+        </partner-port>
+        <logical-connection-point>SRG1-PP3</logical-connection-point>
+      </ports>
+      <ports>
+        <port-name>C4</port-name>
+        <port-type>Client</port-type>
+        <port-qual>roadm-external</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>SRG1-client port 4</label>
+        <circuit-id>SRG1</circuit-id>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <partner-port>
+          <circuit-pack-name></circuit-pack-name>
+          <port-name></port-name>
+        </partner-port>
+        <logical-connection-point>SRG1-PP4</logical-connection-point>
+      </ports>
+      <ports>
+        <port-name>AD-DEG1</port-name>
+        <port-type>Edge</port-type>
+        <port-qual>roadm-internal</port-qual>
+        <port-wavelength-type>multi-wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <logical-connection-point>SRG1-CP-TXRX</logical-connection-point>
+      </ports>
+      <ports>
+        <port-name>AD-DEG2</port-name>
+        <port-type>Edge</port-type>
+        <port-qual>roadm-internal</port-qual>
+        <port-wavelength-type>multi-wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <logical-connection-point>SRG1-CP-TXRX</logical-connection-point>
+      </ports>
+    </circuit-packs>
 
     <interface>
       <name>1GE-interface-1</name>
         <port-name>L1</port-name>
       </connection-ports>
     </degree>
+    <shared-risk-group>
+      <srg-number>1</srg-number>
+      <max-add-drop-ports>4</max-add-drop-ports>
+      <wavelength-duplication>one-per-srg</wavelength-duplication>
+      <circuit-packs>
+        <index>1</index>
+        <circuit-pack-name>3/0</circuit-pack-name>
+      </circuit-packs>
+      <current-provisioned-add-drop-ports>4</current-provisioned-add-drop-ports>
+    </shared-risk-group>
+
   </org-openroadm-device>
+
+  <current-pm-list xmlns="http://org/openroadm/pm">
+  <current-pm-entry>
+    <pm-resource-instance xmlns:d="http://org/openroadm/device">/d:org-openroadm-device/d:interface[d:name='OTS-DEG1-TTP-TXRX']</pm-resource-instance>
+    <pm-resource-type>interface</pm-resource-type>
+    <pm-resource-type-extension></pm-resource-type-extension>
+    <retrieval-time>2018-06-07T13:22:58+00:00</retrieval-time>
+    <current-pm>
+      <type>opticalPowerOutput</type>
+      <extension></extension>
+      <location>nearEnd</location>
+      <direction>tx</direction>
+      <measurement>
+        <granularity>15min</granularity>
+        <pmParameterValue>2.5</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+      <measurement>
+        <granularity>24Hour</granularity>
+        <pmParameterValue>2.23</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+    </current-pm>
+    <current-pm>
+      <type>opticalPowerInput</type>
+      <extension></extension>
+      <location>nearEnd</location>
+      <direction>rx</direction>
+      <measurement>
+        <granularity>15min</granularity>
+        <pmParameterValue>-21.1</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+      <measurement>
+        <granularity>24Hour</granularity>
+        <pmParameterValue>-49.3</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+    </current-pm>
+    <current-pm>
+      <type>opticalReturnLoss</type>
+      <extension></extension>
+      <location>nearEnd</location>
+      <direction>rx</direction>
+      <measurement>
+        <granularity>15min</granularity>
+        <pmParameterValue>40</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+      <measurement>
+        <granularity>24Hour</granularity>
+        <pmParameterValue>44</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+    </current-pm>
+  </current-pm-entry>
+  <current-pm-entry>
+    <pm-resource-instance xmlns:d="http://org/openroadm/device">/d:org-openroadm-device/d:interface[d:name='OTS-DEG2-TTP-TXRX']</pm-resource-instance>
+    <pm-resource-type>interface</pm-resource-type>
+    <pm-resource-type-extension></pm-resource-type-extension>
+    <retrieval-time>2018-06-07T13:22:58+00:00</retrieval-time>
+    <current-pm>
+      <type>opticalPowerOutput</type>
+      <extension></extension>
+      <location>nearEnd</location>
+      <direction>tx</direction>
+      <measurement>
+        <granularity>15min</granularity>
+        <pmParameterValue>2.5</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+      <measurement>
+        <granularity>24Hour</granularity>
+        <pmParameterValue>2.23</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+    </current-pm>
+    <current-pm>
+      <type>opticalPowerInput</type>
+      <extension></extension>
+      <location>nearEnd</location>
+      <direction>rx</direction>
+      <measurement>
+        <granularity>15min</granularity>
+        <pmParameterValue>-21.1</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+      <measurement>
+        <granularity>24Hour</granularity>
+        <pmParameterValue>-49.3</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+    </current-pm>
+    <current-pm>
+      <type>opticalReturnLoss</type>
+      <extension></extension>
+      <location>nearEnd</location>
+      <direction>rx</direction>
+      <measurement>
+        <granularity>15min</granularity>
+        <pmParameterValue>40</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+      <measurement>
+        <granularity>24Hour</granularity>
+        <pmParameterValue>44</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+    </current-pm>
+  </current-pm-entry>
+  </current-pm-list>
+
  </data>
index 654e944a500fc28d2becbdbac88ab295268c8fe7..de0a5e5eb4359d0283ea5cded82152bf0431636b 100644 (file)
       </measurement>
     </current-pm>
   </current-pm-entry>
+  <current-pm-entry>
+    <pm-resource-instance xmlns:d="http://org/openroadm/device">/d:org-openroadm-device/d:interface[d:name='OTS-DEG2-TTP-TXRX']</pm-resource-instance>
+    <pm-resource-type>interface</pm-resource-type>
+    <pm-resource-type-extension></pm-resource-type-extension>
+    <retrieval-time>2018-06-07T13:22:58+00:00</retrieval-time>
+    <current-pm>
+      <type>opticalPowerOutput</type>
+      <extension></extension>
+      <location>nearEnd</location>
+      <direction>tx</direction>
+      <measurement>
+        <granularity>15min</granularity>
+        <pmParameterValue>4.6</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+      <measurement>
+        <granularity>24Hour</granularity>
+        <pmParameterValue>3.26</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+    </current-pm>
+    <current-pm>
+      <type>opticalPowerInput</type>
+      <extension></extension>
+      <location>nearEnd</location>
+      <direction>rx</direction>
+      <measurement>
+        <granularity>15min</granularity>
+        <pmParameterValue>-15.1</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+      <measurement>
+        <granularity>24Hour</granularity>
+        <pmParameterValue>-17.3</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+    </current-pm>
+    <current-pm>
+      <type>opticalReturnLoss</type>
+      <extension></extension>
+      <location>nearEnd</location>
+      <direction>rx</direction>
+      <measurement>
+        <granularity>15min</granularity>
+        <pmParameterValue>49.1</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+      <measurement>
+        <granularity>24Hour</granularity>
+        <pmParameterValue>45</pmParameterValue>
+        <pmParameterUnit>dBm</pmParameterUnit>
+        <validity>complete</validity>
+      </measurement>
+    </current-pm>
+  </current-pm-entry>
   </current-pm-list>
 
  </data>
diff --git a/tests/sample_configs/openroadm/2.2.1/oper-SPDRB.xml b/tests/sample_configs/openroadm/2.2.1/oper-SPDRB.xml
new file mode 100644 (file)
index 0000000..411a020
--- /dev/null
@@ -0,0 +1,4301 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+  <netconf xmlns="urn:ietf:params:xml:ns:netmod:notification">
+    <streams>
+      <stream>
+        <name>NETCONF</name>
+      </stream>
+    </streams>
+  </netconf>
+  <org-openroadm-device xmlns="http://org/openroadm/device">
+    <info>
+      <node-id>SPDR-SB1</node-id>
+      <node-number>1</node-number>
+      <node-type>xpdr</node-type>
+      <clli>NodeSB</clli>
+      <vendor>vendorA</vendor>
+      <model>universal-switchponder</model>
+      <serial-id>us-1234</serial-id>
+      <ipAddress>1.2.3.4</ipAddress>
+      <prefix-length>24</prefix-length>
+      <defaultGateway>1.2.3.4</defaultGateway>
+      <source>static</source>
+      <current-ipAddress>1.2.3.4</current-ipAddress>
+      <current-prefix-length>10</current-prefix-length>
+      <current-defaultGateway>1.2.3.1</current-defaultGateway>
+      <macAddress>00:01:02:03:04:05</macAddress>
+      <softwareVersion>swversion1.0</softwareVersion>
+      <openroadm-version>2.2</openroadm-version>
+      <template>template_SWITCHPONDER</template>
+      <current-datetime>2019-07-20T15:23:43Z</current-datetime>
+      <geoLocation>
+        <latitude>1.0000</latitude>
+        <longitude>2.0000</longitude>
+      </geoLocation>
+    </info>
+    <users>
+      <user>
+        <name>openroadm</name>
+        <password>openroadm</password>
+        <group>sudo</group>
+      </user>
+    </users>
+    <shelves>
+      <shelf-name>SPShelf</shelf-name>
+      <shelf-type>pizza</shelf-type>
+      <rack>XYZ</rack>
+      <shelf-position>1</shelf-position>
+      <administrative-state>inService</administrative-state>
+      <vendor>vendorA</vendor>
+      <model>1</model>
+      <serial-id>MasterShelfSP</serial-id>
+      <type>pizza</type>
+      <product-code>SP1.6Tb</product-code>
+      <manufacture-date>2019-07-08T15:50:00+00:00</manufacture-date>
+      <clei>MyFirstSwitchPonder</clei>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <due-date>2019-07-08T15:50:00+00:00</due-date>
+      <slots>
+        <slot-name>Shelf-Master-Slot</slot-name>
+        <label>SMS</label>
+        <provisioned-circuit-pack>CP0</provisioned-circuit-pack>
+      </slots>
+    </shelves>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP0</circuit-pack-name>
+      <circuit-pack-type>Base_Switchponder_circuit_pack</circuit-pack-type>
+      <circuit-pack-product-code>baseSPDR</circuit-pack-product-code>
+      <administrative-state>inService</administrative-state>
+      <vendor>VendorA</vendor>
+      <model>UniversalSPonderBaseUnit</model>
+      <serial-id>USPBU1</serial-id>
+      <type>1.6TbSwitchPonder</type>
+      <product-code>baseSPDRUnit</product-code>
+      <manufacture-date>2019-07-08T15:50:00+00:00</manufacture-date>
+      <clei>MyFirstSWPONDERChassis</clei>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <is-pluggable-optics>false</is-pluggable-optics>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <cp-slots>
+        <slot-name>CP0-S1</slot-name>
+        <label>ClientModule1</label>
+        <provisioned-circuit-pack>CP1</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP0-S2</slot-name>
+        <label>ClientModule2</label>
+        <provisioned-circuit-pack>CP2</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP0-S3</slot-name>
+        <label>ClientModule3</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP0-S4</slot-name>
+        <label>ClientModule4</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP0-S5</slot-name>
+        <label>OpticalLine1</label>
+        <provisioned-circuit-pack>CP5</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP0-S6</slot-name>
+        <label>OpticalLine2</label>
+        <provisioned-circuit-pack>CP6</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP0-S7</slot-name>
+        <label>OpticalLine3</label>
+        <provisioned-circuit-pack>CP7</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP0-S8</slot-name>
+        <label>OpticalLine4</label>
+        <provisioned-circuit-pack>CP8</provisioned-circuit-pack>
+      </cp-slots>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP5-CFP</circuit-pack-name>
+      <circuit-pack-type>line_pluggable_cfp2</circuit-pack-type>
+      <circuit-pack-product-code>Line_NW_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>CFP2</model>
+      <serial-id>_OpticalLineCFP2345_</serial-id>
+      <type>line pluggable 100-400G</type>
+      <product-code>Line_100-400G</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP5-CFP-P1</port-name>
+        <port-type>CFP2</port-type>
+        <port-qual>switch-network</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP5CFPP1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-22.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-5.00</port-power-capability-min-tx>
+          <port-power-capability-max-rx>1.00</port-power-capability-max-rx>
+          <port-power-capability-max-tx>0.00</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</if-cap-type>
+            <otn-capability>
+              <!-- <if-protection-capability>odu-one-plus-one</if-protection-capability> -->
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP5-CFP</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP5-CFP-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>1</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>1</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>2</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>3</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>4</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>5</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>6</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>7</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>8</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>9</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>10</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>11</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>12</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>13</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>14</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>15</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>16</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>17</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>18</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>19</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>20</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>21</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>22</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>23</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>24</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>25</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>26</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>27</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>28</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>29</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>30</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>31</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>32</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>33</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>34</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>35</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>36</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>37</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>38</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>39</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>40</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>41</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>42</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>43</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>44</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>45</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>46</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>47</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>48</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>49</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>50</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>51</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>52</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>53</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>54</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>55</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>56</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>57</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>58</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>59</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>60</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>61</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>62</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>63</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>64</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>65</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>66</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>67</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>68</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>69</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>70</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>71</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>72</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>73</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>74</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>75</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>76</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>77</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>78</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>79</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>80</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2</supported-lo-odu-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2e</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP0</circuit-pack-name>
+        <cp-slot-name>CP0-S5</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP6-CFP</circuit-pack-name>
+      <circuit-pack-type>line_pluggable_cfp2</circuit-pack-type>
+      <circuit-pack-product-code>Line_NW_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>CFP2</model>
+      <serial-id>_OpticalLineCFP3456_</serial-id>
+      <type>line pluggable 100-400G</type>
+      <product-code>Line_100-400G</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP6-CFP-P1</port-name>
+        <port-type>CFP2</port-type>
+        <port-qual>switch-network</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP6CFPP1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-22.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-5.00</port-power-capability-min-tx>
+          <port-power-capability-max-rx>1.00</port-power-capability-max-rx>
+          <port-power-capability-max-tx>0.00</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</if-cap-type>
+            <otn-capability>
+              <!-- <if-protection-capability>odu-one-plus-one</if-protection-capability> -->
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP6-CFP</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP6-CFP-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>1</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>1</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>2</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>3</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>4</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>5</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>6</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>7</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>8</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>9</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>10</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>11</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>12</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>13</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>14</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>15</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>16</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>17</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>18</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>19</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>20</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>21</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>22</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>23</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>24</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>25</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>26</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>27</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>28</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>29</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>30</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>31</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>32</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>33</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>34</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>35</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>36</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>37</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>38</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>39</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>40</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>41</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>42</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>43</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>44</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>45</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>46</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>47</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>48</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>49</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>50</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>51</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>52</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>53</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>54</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>55</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>56</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>57</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>58</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>59</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>60</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>61</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>62</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>63</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>64</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>65</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>66</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>67</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>68</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>69</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>70</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>71</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>72</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>73</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>74</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>75</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>76</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>77</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>78</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>79</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>80</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2</supported-lo-odu-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2e</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP0</circuit-pack-name>
+        <cp-slot-name>CP0-S6</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP7-CFP</circuit-pack-name>
+      <circuit-pack-type>line_pluggable_cfp2</circuit-pack-type>
+      <circuit-pack-product-code>Line_NW_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>CFP2</model>
+      <serial-id>_OpticalLineCFP4567_</serial-id>
+      <type>line pluggable 100-400G</type>
+      <product-code>Line_100-400G</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP7-CFP-P1</port-name>
+        <port-type>CFP2</port-type>
+        <port-qual>switch-network</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP7CFPP1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-22.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-5.00</port-power-capability-min-tx>
+          <port-power-capability-max-rx>1.00</port-power-capability-max-rx>
+          <port-power-capability-max-tx>0.00</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</if-cap-type>
+            <otn-capability>
+              <!-- <if-protection-capability>odu-one-plus-one</if-protection-capability> -->
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP7-CFP</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP7-CFP-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>1</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>1</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>2</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>3</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>4</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>5</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>6</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>7</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>8</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>9</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>10</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>11</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>12</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>13</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>14</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>15</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>16</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>17</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>18</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>19</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>20</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>21</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>22</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>23</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>24</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>25</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>26</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>27</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>28</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>29</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>30</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>31</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>32</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>33</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>34</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>35</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>36</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>37</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>38</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>39</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>40</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>41</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>42</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>43</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>44</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>45</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>46</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>47</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>48</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>49</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>50</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>51</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>52</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>53</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>54</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>55</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>56</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>57</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>58</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>59</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>60</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>61</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>62</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>63</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>64</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>65</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>66</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>67</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>68</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>69</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>70</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>71</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>72</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>73</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>74</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>75</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>76</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>77</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>78</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>79</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>80</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2</supported-lo-odu-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2e</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP0</circuit-pack-name>
+        <cp-slot-name>CP0-S7</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP8-CFP</circuit-pack-name>
+      <circuit-pack-type>line_pluggable_cfp2</circuit-pack-type>
+      <circuit-pack-product-code>Line_NW_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>CFP2</model>
+      <serial-id>_OpticalLineCFP5678_</serial-id>
+      <type>line pluggable 100-400G</type>
+      <product-code>Line_100-400G</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP8-CFP-P1</port-name>
+        <port-type>CFP2</port-type>
+        <port-qual>switch-network</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP7CFPP1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-22.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-5.00</port-power-capability-min-tx>
+          <port-power-capability-max-rx>1.00</port-power-capability-max-rx>
+          <port-power-capability-max-tx>0.00</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</if-cap-type>
+            <otn-capability>
+              <!-- <if-protection-capability>odu-one-plus-one</if-protection-capability> -->
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP8-CFP</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP8-CFP-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>1</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>1</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>2</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>3</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>4</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>5</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>6</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>7</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>8</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>9</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>10</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>11</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>12</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>13</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>14</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>15</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>16</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>17</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>18</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>19</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>20</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>21</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>22</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>23</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>24</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>25</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>26</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>27</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>28</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>29</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>30</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>31</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>32</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>33</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>34</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>35</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>36</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>37</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>38</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>39</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>40</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>41</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>42</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>43</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>44</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>45</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>46</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>47</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>48</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>49</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>50</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>51</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>52</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>53</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>54</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>55</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>56</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>57</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>58</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>59</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>60</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>61</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>62</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>63</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>64</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>65</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>66</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>67</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>68</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>69</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>70</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>71</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>72</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>73</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>74</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>75</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>76</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>77</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>78</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>79</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>80</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2</supported-lo-odu-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2e</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP0</circuit-pack-name>
+        <cp-slot-name>CP0-S8</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP1</circuit-pack-name>
+      <circuit-pack-type>client_mother-board-muxponder</circuit-pack-type>
+      <circuit-pack-product-code>Client_MB_Muxponder</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>MB1</model>
+      <serial-id>_Cl-MB-Muxponder-Type1_</serial-id>
+      <type>10G-100G-MB</type>
+      <product-code>MUXP10:100</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>false</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <cp-slots>
+        <slot-name>CP1-S0</slot-name>
+        <label>CP1S0</label>
+        <provisioned-circuit-pack>CP1-CFP0</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP1-S1</slot-name>
+        <label>CP1S1</label>
+        <provisioned-circuit-pack>CP1-SFP1</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP1-S2</slot-name>
+        <label>CP1S2</label>
+        <provisioned-circuit-pack>CP1-SFP2</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP1-S3</slot-name>
+        <label>CP1S3</label>
+        <provisioned-circuit-pack>CP1-SFP3</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP1-S4</slot-name>
+        <label>CP1S4</label>
+        <provisioned-circuit-pack>CP1-SFP4</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP1-S5</slot-name>
+        <label>CP1S5</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP1-S6</slot-name>
+        <label>CP1S6</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP1-S7</slot-name>
+        <label>CP1S7</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP1-S8</slot-name>
+        <label>CP1S8</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP1-S9</slot-name>
+        <label>CP1S9</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP1-S10</slot-name>
+        <label>CP1S10</label>
+      </cp-slots>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP0</circuit-pack-name>
+        <cp-slot-name>CP0-S1</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP1-SFP1</circuit-pack-name>
+      <circuit-pack-type>client_pluggable_sfp</circuit-pack-type>
+      <circuit-pack-product-code>Client_CL_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>SFP</model>
+      <serial-id>_OpticalClientSFP1234_</serial-id>
+      <type>client_pluggable_10G</type>
+      <product-code>client_10GE-LR</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP1-SFP1-P1</port-name>
+        <port-type>SFP</port-type>
+        <port-qual>xpdr-client</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP1SFP1P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</supported-interface-capability>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-14.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-8.20</port-power-capability-min-tx>
+          <port-power-capability-max-rx>0.50</port-power-capability-max-rx>
+          <port-power-capability-max-tx>0.50</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</if-cap-type>
+            <otn-capability>
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP1-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP1-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>1</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>1</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>2</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>3</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>4</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>5</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>6</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>7</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>8</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</if-cap-type>
+            <otn-capability>
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP1-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP1-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>1</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>1</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>2</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>3</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>4</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>5</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>6</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>7</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>8</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2e</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP1</circuit-pack-name>
+        <cp-slot-name>CP1-S1</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP1-SFP2</circuit-pack-name>
+      <circuit-pack-type>client_pluggable_sfp</circuit-pack-type>
+      <circuit-pack-product-code>Client_CL_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>SFP</model>
+      <serial-id>_OpticalClientSFP1234_</serial-id>
+      <type>client_pluggable_10G</type>
+      <product-code>client_10GE-LR</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP1-SFP2-P1</port-name>
+        <port-type>SFP</port-type>
+        <port-qual>xpdr-client</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP1SFP2P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</supported-interface-capability>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-14.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-8.20</port-power-capability-min-tx>
+          <port-power-capability-max-rx>0.50</port-power-capability-max-rx>
+          <port-power-capability-max-tx>0.50</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</if-cap-type>
+            <otn-capability>
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP1-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP1-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>2</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>9</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>10</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>11</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>12</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>13</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>14</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>15</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>16</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</if-cap-type>
+            <otn-capability>
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP1-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP1-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>2</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>9</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>10</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>11</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>12</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>13</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>14</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>15</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>16</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2e</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP1</circuit-pack-name>
+        <cp-slot-name>CP1-S2</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP1-SFP3</circuit-pack-name>
+      <circuit-pack-type>client_pluggable_sfp</circuit-pack-type>
+      <circuit-pack-product-code>Client_CL_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>SFP</model>
+      <serial-id>_OpticalClientSFP1234_</serial-id>
+      <type>client_pluggable_10G</type>
+      <product-code>client_10GE-LR</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP1-SFP3-P1</port-name>
+        <port-type>SFP</port-type>
+        <port-qual>xpdr-client</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP1SFP3P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</supported-interface-capability>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</supported-interface-capability>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-14.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-8.20</port-power-capability-min-tx>
+          <port-power-capability-max-rx>0.50</port-power-capability-max-rx>
+          <port-power-capability-max-tx>0.50</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</if-cap-type>
+            <otn-capability>
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP1-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP1-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>3</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>17</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>18</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>19</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>20</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>21</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>22</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>23</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>24</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</if-cap-type>
+            <otn-capability>
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP1-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP1-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>3</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>17</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>18</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>19</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>20</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>21</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>22</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>23</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>24</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2e</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP1</circuit-pack-name>
+        <cp-slot-name>CP1-S3</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP1-SFP4</circuit-pack-name>
+      <circuit-pack-type>client_pluggable_sfp</circuit-pack-type>
+      <circuit-pack-product-code>Client_CL_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>SFP</model>
+      <serial-id>_OpticalClientSFP1234_</serial-id>
+      <type>client_pluggable_10G</type>
+      <product-code>client_10GE-LR</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP1-SFP4-P1</port-name>
+        <port-type>SFP</port-type>
+        <port-qual>xpdr-client</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP1SFP4P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</supported-interface-capability>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</supported-interface-capability>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-14.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-8.20</port-power-capability-min-tx>
+          <port-power-capability-max-rx>0.50</port-power-capability-max-rx>
+          <port-power-capability-max-tx>0.50</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</if-cap-type>
+            <otn-capability>
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP1-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP1-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>4</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>25</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>26</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>27</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>28</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>29</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>30</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>31</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>32</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</if-cap-type>
+            <otn-capability>
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP1-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP1-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>4</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>25</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>26</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>27</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>28</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>29</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>30</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>31</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>32</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2e</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP1</circuit-pack-name>
+        <cp-slot-name>CP1-S4</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP1-CFP0</circuit-pack-name>
+      <circuit-pack-type>network_pluggable_cfp2</circuit-pack-type>
+      <circuit-pack-product-code>Line_NW_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>CFP2</model>
+      <serial-id>_OpticalLineCFP1234_</serial-id>
+      <type>Line_pluggable_100G</type>
+      <product-code>line_100GE</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP1-CFP0-P1</port-name>
+        <port-type>CFP2</port-type>
+        <port-qual>xpdr-network</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP1CFP0P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-22.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-5.00</port-power-capability-min-tx>
+          <port-power-capability-max-rx>1.00</port-power-capability-max-rx>
+          <port-power-capability-max-tx>0.00</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</if-cap-type>
+            <otn-capability>
+              <!-- <if-protection-capability>odu-one-plus-one</if-protection-capability> -->
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP1-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP1-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>1</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>1</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>2</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>3</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>4</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>5</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>6</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>7</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>8</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>9</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>10</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>11</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>12</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>13</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>14</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>15</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>16</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>17</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>18</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>19</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>20</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>21</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>22</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>23</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>24</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>25</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>26</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>27</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>28</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>29</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>30</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>31</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>32</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>33</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>34</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>35</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>36</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>37</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>38</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>39</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>40</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>41</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>42</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>43</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>44</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>45</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>46</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>47</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>48</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>49</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>50</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>51</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>52</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>53</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>54</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>55</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>56</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>57</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>58</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>59</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>60</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>61</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>62</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>63</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>64</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>65</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>66</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>67</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>68</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>69</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>70</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>71</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>72</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>73</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>74</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>75</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>76</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>77</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>78</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>79</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>80</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2</supported-lo-odu-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU2e</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP1</circuit-pack-name>
+        <cp-slot-name>CP1-S0</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP2</circuit-pack-name>
+      <circuit-pack-type>client_mother-board-switch</circuit-pack-type>
+      <circuit-pack-product-code>Client_MB_Switch</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>MB2</model>
+      <serial-id>_C2-MB-Switch-Type1_</serial-id>
+      <type>100G-Client-MB</type>
+      <product-code>Client4x100</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>false</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <cp-slots>
+        <slot-name>CP2-S1</slot-name>
+        <label>CP2S1</label>
+        <provisioned-circuit-pack>CP2-QSFP1</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP2-S2</slot-name>
+        <label>CP2S2</label>
+        <provisioned-circuit-pack>CP2-QSFP2</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP2-S3</slot-name>
+        <label>CP2S3</label>
+        <provisioned-circuit-pack>CP2-QSFP3</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP2-S4</slot-name>
+        <label>CP2S4</label>
+        <provisioned-circuit-pack>CP2-QSFP4</provisioned-circuit-pack>
+      </cp-slots>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP0</circuit-pack-name>
+        <cp-slot-name>CP0-S2</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP2-QSFP1</circuit-pack-name>
+      <circuit-pack-type>client_pluggable_qsfp28</circuit-pack-type>
+      <circuit-pack-product-code>Client_CL_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>QSFP28</model>
+      <serial-id>_OpticalClientQSFP1234_</serial-id>
+      <type>client_pluggable_100GE_LR4</type>
+      <product-code>client_100G-LR4</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP2-QSFP1-P1</port-name>
+        <port-type>QSFP28</port-type>
+        <port-qual>switch-client</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP2QSFP1P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-100GE</supported-interface-capability>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-100GE-ODU4</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-10.60</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-4.30</port-power-capability-min-tx>
+          <port-power-capability-max-rx>4.50</port-power-capability-max-rx>
+          <port-power-capability-max-tx>4.50</port-power-capability-max-tx>
+        </transponder-port>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP2</circuit-pack-name>
+        <cp-slot-name>CP2-S1</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP2-QSFP2</circuit-pack-name>
+      <circuit-pack-type>client_pluggable_qsfp28</circuit-pack-type>
+      <circuit-pack-product-code>Client_CL_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>QSFP28</model>
+      <serial-id>_OpticalClientQSFP1234_</serial-id>
+      <type>client_pluggable_100GE_LR4</type>
+      <product-code>client_100G-LR4</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP2-QSFP2-P1</port-name>
+        <port-type>QSFP28</port-type>
+        <port-qual>switch-client</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP2QSFP2P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-100GE</supported-interface-capability>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-100GE-ODU4</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-10.60</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-4.30</port-power-capability-min-tx>
+          <port-power-capability-max-rx>4.50</port-power-capability-max-rx>
+          <port-power-capability-max-tx>4.50</port-power-capability-max-tx>
+        </transponder-port>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP2</circuit-pack-name>
+        <cp-slot-name>CP2-S2</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP2-QSFP3</circuit-pack-name>
+      <circuit-pack-type>client_pluggable_qsfp28</circuit-pack-type>
+      <circuit-pack-product-code>Client_CL_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>QSFP28</model>
+      <serial-id>_OpticalClientQSFP1234_</serial-id>
+      <type>client_pluggable_100GE_LR4</type>
+      <product-code>client_100G-LR4</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP2-QSFP3-P1</port-name>
+        <port-type>QSFP28</port-type>
+        <port-qual>switch-client</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP2QSFP3P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-100GE</supported-interface-capability>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-100GE-ODU4</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-10.60</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-4.30</port-power-capability-min-tx>
+          <port-power-capability-max-rx>4.50</port-power-capability-max-rx>
+          <port-power-capability-max-tx>4.50</port-power-capability-max-tx>
+        </transponder-port>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP2</circuit-pack-name>
+        <cp-slot-name>CP2-S3</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP2-QSFP4</circuit-pack-name>
+      <circuit-pack-type>client_pluggable_qsfp28</circuit-pack-type>
+      <circuit-pack-product-code>Client_CL_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>QSFP28</model>
+      <serial-id>_OpticalClientQSFP1234_</serial-id>
+      <type>client_pluggable_100GE_LR4</type>
+      <product-code>client_100G-LR4</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP2-QSFP4-P1</port-name>
+        <port-type>QSFP28</port-type>
+        <port-qual>switch-client</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP2QSFP4P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-100GE</supported-interface-capability>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-100GE-ODU4</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-10.60</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-4.30</port-power-capability-min-tx>
+          <port-power-capability-max-rx>4.50</port-power-capability-max-rx>
+          <port-power-capability-max-tx>4.50</port-power-capability-max-tx>
+        </transponder-port>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP2</circuit-pack-name>
+        <cp-slot-name>CP2-S4</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP3</circuit-pack-name>
+      <circuit-pack-type>client_mother-board-muxponder</circuit-pack-type>
+      <circuit-pack-product-code>Client_MB_Muxponder</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>MB2</model>
+      <serial-id>_Cl-MB-Muxponder-Type2_</serial-id>
+      <type>1GE-100G-MB</type>
+      <product-code>MUXP1.25:100</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>false</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <cp-slots>
+        <slot-name>CP3-S0</slot-name>
+        <label>CP3S0</label>
+        <provisioned-circuit-pack>CP3-CFP0</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S1</slot-name>
+        <label>CP3S1</label>
+        <provisioned-circuit-pack>CP3-SFP1</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S2</slot-name>
+        <label>CP3S2</label>
+        <provisioned-circuit-pack>CP3-SFP2</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S3</slot-name>
+        <label>CP3S3</label>
+        <provisioned-circuit-pack>CP3-SFP3</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S4</slot-name>
+        <label>CP3S4</label>
+        <provisioned-circuit-pack>CP3-SFP4</provisioned-circuit-pack>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S5</slot-name>
+        <label>CP3S5</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S6</slot-name>
+        <label>CP3S6</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S7</slot-name>
+        <label>CP3S7</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S8</slot-name>
+        <label>CP3S8</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S9</slot-name>
+        <label>CP3S9</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S10</slot-name>
+        <label>CP3S10</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S11</slot-name>
+        <label>CP3S11</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S12</slot-name>
+        <label>CP3S12</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S13</slot-name>
+        <label>CP3S13</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S14</slot-name>
+        <label>CP3S14</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S15</slot-name>
+        <label>CP3S15</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S16</slot-name>
+        <label>CP3S16</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S17</slot-name>
+        <label>CP3S17</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S18</slot-name>
+        <label>CP3S18</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S19</slot-name>
+        <label>CP3S19</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S20</slot-name>
+        <label>CP3S20</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S21</slot-name>
+        <label>CP3S21</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S22</slot-name>
+        <label>CP3S22</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S23</slot-name>
+        <label>CP3S23</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S24</slot-name>
+        <label>CP3S24</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S25</slot-name>
+        <label>CP3S25</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S26</slot-name>
+        <label>CP3S26</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S27</slot-name>
+        <label>CP3S27</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S28</slot-name>
+        <label>CP3S28</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S29</slot-name>
+        <label>CP3S29</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S30</slot-name>
+        <label>CP3S30</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S31</slot-name>
+        <label>CP3S31</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S32</slot-name>
+        <label>CP3S32</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S33</slot-name>
+        <label>CP3S33</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S34</slot-name>
+        <label>CP3S34</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S35</slot-name>
+        <label>CP3S35</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S36</slot-name>
+        <label>CP3S36</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S37</slot-name>
+        <label>CP3S37</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S38</slot-name>
+        <label>CP3S38</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S39</slot-name>
+        <label>CP3S39</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S40</slot-name>
+        <label>CP3S40</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S41</slot-name>
+        <label>CP3S41</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S42</slot-name>
+        <label>CP3S42</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S43</slot-name>
+        <label>CP3S43</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S44</slot-name>
+        <label>CP3S44</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S45</slot-name>
+        <label>CP3S45</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S46</slot-name>
+        <label>CP3S46</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S47</slot-name>
+        <label>CP3S47</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S48</slot-name>
+        <label>CP3S48</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S49</slot-name>
+        <label>CP3S49</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S50</slot-name>
+        <label>CP3S50</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S51</slot-name>
+        <label>CP3S51</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S52</slot-name>
+        <label>CP3S52</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S53</slot-name>
+        <label>CP3S53</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S54</slot-name>
+        <label>CP3S4</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S55</slot-name>
+        <label>CP3S5</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S56</slot-name>
+        <label>CP3S56</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S57</slot-name>
+        <label>CP3S57</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S58</slot-name>
+        <label>CP3S58</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S59</slot-name>
+        <label>CP3S59</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S60</slot-name>
+        <label>CP3S60</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S61</slot-name>
+        <label>CP3S61</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S62</slot-name>
+        <label>CP3S62</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S63</slot-name>
+        <label>CP3S63</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S64</slot-name>
+        <label>CP3S64</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S65</slot-name>
+        <label>CP3S65</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S66</slot-name>
+        <label>CP3S66</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S67</slot-name>
+        <label>CP3S67</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S68</slot-name>
+        <label>CP3S68</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S69</slot-name>
+        <label>CP3S69</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S70</slot-name>
+        <label>CP3S70</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S71</slot-name>
+        <label>CP3S71</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S72</slot-name>
+        <label>CP3S72</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S73</slot-name>
+        <label>CP3S73</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S74</slot-name>
+        <label>CP3S74</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S75</slot-name>
+        <label>CP3S75</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S76</slot-name>
+        <label>CP3S76</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S77</slot-name>
+        <label>CP3S77</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S78</slot-name>
+        <label>CP3S78</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S79</slot-name>
+        <label>CP3S79</label>
+      </cp-slots>
+      <cp-slots>
+        <slot-name>CP3-S80</slot-name>
+        <label>CP3S80</label>
+      </cp-slots>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP0</circuit-pack-name>
+        <cp-slot-name>CP0-S3</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP3-SFP1</circuit-pack-name>
+      <circuit-pack-type>client_pluggable_sfp</circuit-pack-type>
+      <circuit-pack-product-code>Client_CL_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>SFP</model>
+      <serial-id>_OpticalClientSFP1234_</serial-id>
+      <type>client_pluggable_1GELX</type>
+      <product-code>client_1000B-LX</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP3-SFP1-P1</port-name>
+        <port-type>SFP</port-type>
+        <port-qual>xpdr-client</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP3SFP1P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-1GE-ODU0</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-21.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-9.00</port-power-capability-min-tx>
+          <port-power-capability-max-rx>-3.00</port-power-capability-max-rx>
+          <port-power-capability-max-tx>-3.00</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-1GE-ODU0</if-cap-type>
+            <otn-capability>
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP3-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP3-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>1</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>1</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU0</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP3</circuit-pack-name>
+        <cp-slot-name>CP3-S1</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP3-SFP2</circuit-pack-name>
+      <circuit-pack-type>client_pluggable_sfp</circuit-pack-type>
+      <circuit-pack-product-code>Client_CL_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>SFP</model>
+      <serial-id>_OpticalClientSFP1234_</serial-id>
+      <type>client_pluggable_1GELX</type>
+      <product-code>client_1000B-LX</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP3-SFP2-P1</port-name>
+        <port-type>SFP</port-type>
+        <port-qual>xpdr-client</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP3SFP2P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-1GE-ODU0</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-21.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-9.00</port-power-capability-min-tx>
+          <port-power-capability-max-rx>-3.00</port-power-capability-max-rx>
+          <port-power-capability-max-tx>-3.00</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-1GE-ODU0</if-cap-type>
+            <otn-capability>
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP3-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP3-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>2</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>2</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU0</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP3</circuit-pack-name>
+        <cp-slot-name>CP3-S2</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP3-SFP3</circuit-pack-name>
+      <circuit-pack-type>client_pluggable_sfp</circuit-pack-type>
+      <circuit-pack-product-code>Client_CL_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>SFP</model>
+      <serial-id>_OpticalClientSFP1234_</serial-id>
+      <type>client_pluggable_1GELX</type>
+      <product-code>client_1000B-LX</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP3-SFP3-P1</port-name>
+        <port-type>SFP</port-type>
+        <port-qual>xpdr-client</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP3SFP3P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-1GE-ODU0</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-21.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-9.00</port-power-capability-min-tx>
+          <port-power-capability-max-rx>-3.00</port-power-capability-max-rx>
+          <port-power-capability-max-tx>-3.00</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-1GE-ODU0</if-cap-type>
+            <otn-capability>
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP3-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP3-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>3</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>3</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU0</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP3</circuit-pack-name>
+        <cp-slot-name>CP3-S3</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP3-SFP4</circuit-pack-name>
+      <circuit-pack-type>client_pluggable_sfp</circuit-pack-type>
+      <circuit-pack-product-code>Client_CL_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>SFP</model>
+      <serial-id>_OpticalClientSFP1234_</serial-id>
+      <type>client_pluggable_1GELX</type>
+      <product-code>client_1000B-LX</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP3-SFP4-P1</port-name>
+        <port-type>SFP</port-type>
+        <port-qual>xpdr-client</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP3SFP4P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-1GE-ODU0</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-21.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-9.00</port-power-capability-min-tx>
+          <port-power-capability-max-rx>-3.00</port-power-capability-max-rx>
+          <port-power-capability-max-tx>-3.00</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-1GE-ODU0</if-cap-type>
+            <otn-capability>
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP3-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP3-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>4</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>4</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU0</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP3</circuit-pack-name>
+        <cp-slot-name>CP3-S4</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <circuit-packs>
+      <circuit-pack-category>
+        <type>circuitPack</type>
+      </circuit-pack-category>
+      <circuit-pack-name>CP3-CFP0</circuit-pack-name>
+      <circuit-pack-type>network_pluggable_cfp2</circuit-pack-type>
+      <circuit-pack-product-code>Line_NW_P</circuit-pack-product-code>
+      <vendor>VendorA</vendor>
+      <model>CFP2</model>
+      <serial-id>_OpticalLineCFP1234_</serial-id>
+      <type>Line_pluggable_100G</type>
+      <product-code>line_100GE</product-code>
+      <hardware-version>1.0</hardware-version>
+      <operational-state>inService</operational-state>
+      <circuit-pack-mode>NORMAL</circuit-pack-mode>
+      <shelf>SPShelf</shelf>
+      <slot>Shelf-Master-Slot</slot>
+      <is-pluggable-optics>true</is-pluggable-optics>
+      <equipment-state>not-reserved-available</equipment-state>
+      <ports>
+        <port-name>CP3-CFP0-P1</port-name>
+        <port-type>CFP2</port-type>
+        <port-qual>xpdr-network</port-qual>
+        <port-wavelength-type>wavelength</port-wavelength-type>
+        <port-direction>bidirectional</port-direction>
+        <label>CP3CFP0P1</label>
+        <administrative-state>inService</administrative-state>
+        <operational-state>inService</operational-state>
+        <supported-interface-capability xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</supported-interface-capability>
+        <transponder-port>
+          <port-power-capability-min-rx>-22.00</port-power-capability-min-rx>
+          <port-power-capability-min-tx>-5.00</port-power-capability-min-tx>
+          <port-power-capability-max-rx>1.00</port-power-capability-max-rx>
+          <port-power-capability-max-tx>0.00</port-power-capability-max-tx>
+        </transponder-port>
+        <port-capabilities xmlns="http://org/openroadm/port-capability">
+          <supported-interface-capability>
+            <if-cap-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</if-cap-type>
+            <otn-capability>
+              <!-- <if-protection-capability>odu-one-plus-one</if-protection-capability> -->
+              <opu-payload-type-mapping xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</opu-payload-type-mapping>
+              <mpdr-client-restriction>
+                <network-ho-odu-circuit-pack-name>CP3-CFP0</network-ho-odu-circuit-pack-name>
+                <network-ho-odu-port-name>CP3-CFP0-P1</network-ho-odu-port-name>
+                <odtu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODTU4.ts-Allocated</odtu-type>
+                <network-ho-odu-trib-port-number>1</network-ho-odu-trib-port-number>
+                <network-ho-odu-trib-slots>1</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>2</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>3</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>4</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>5</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>6</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>7</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>8</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>9</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>10</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>11</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>12</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>13</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>14</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>15</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>16</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>17</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>18</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>19</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>20</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>21</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>22</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>23</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>24</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>25</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>26</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>27</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>28</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>29</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>30</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>31</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>32</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>33</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>34</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>35</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>36</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>37</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>38</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>39</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>40</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>41</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>42</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>43</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>44</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>45</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>46</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>47</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>48</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>49</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>50</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>51</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>52</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>53</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>54</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>55</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>56</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>57</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>58</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>59</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>60</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>61</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>62</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>63</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>64</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>65</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>66</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>67</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>68</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>69</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>70</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>71</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>72</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>73</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>74</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>75</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>76</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>77</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>78</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>79</network-ho-odu-trib-slots>
+                <network-ho-odu-trib-slots>80</network-ho-odu-trib-slots>
+              </mpdr-client-restriction>
+              <odu-mux-hierarchy>
+                <mux-capability>
+                  <stage-number>1</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                </mux-capability>
+                <mux-capability>
+                  <stage-number>2</stage-number>
+                  <ho-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU4</ho-odu-type>
+                  <ho-odu-payload-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">21</ho-odu-payload-type>
+                  <supported-lo-odu-type xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:ODU0</supported-lo-odu-type>
+                  <lo-odu-proactive-DMp>true</lo-odu-proactive-DMp>
+                  <lo-odu-tcm-capable>true</lo-odu-tcm-capable>
+                  <lo-odu-proactive-DMt>true</lo-odu-proactive-DMt>
+                  <lo-odu-tcm-direction-capability>up-down-tcm</lo-odu-tcm-direction-capability>
+                </mux-capability>
+              </odu-mux-hierarchy>
+            </otn-capability>
+          </supported-interface-capability>
+        </port-capabilities>
+      </ports>
+      <parent-circuit-pack>
+        <circuit-pack-name>CP3</circuit-pack-name>
+        <cp-slot-name>CP3-S0</cp-slot-name>
+      </parent-circuit-pack>
+    </circuit-packs>
+    <xponder>
+      <xpdr-number>1</xpdr-number>
+      <xpdr-type>mpdr</xpdr-type>
+      <xpdr-port>
+        <index>1</index>
+        <circuit-pack-name>CP1-CFP0</circuit-pack-name>
+        <port-name>CP1-CFP0-P1</port-name>
+        <eqpt-srg-id>1</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>2</index>
+        <circuit-pack-name>CP1-SFP1</circuit-pack-name>
+        <port-name>CP1-SFP1-P1</port-name>
+        <eqpt-srg-id>1</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>3</index>
+        <circuit-pack-name>CP1-SFP2</circuit-pack-name>
+        <port-name>CP1-SFP2-P1</port-name>
+        <eqpt-srg-id>1</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>4</index>
+        <circuit-pack-name>CP1-SFP3</circuit-pack-name>
+        <port-name>CP1-SFP3-P1</port-name>
+        <eqpt-srg-id>1</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>5</index>
+        <circuit-pack-name>CP1-SFP4</circuit-pack-name>
+        <port-name>CP1-SFP4-P1</port-name>
+        <eqpt-srg-id>1</eqpt-srg-id>
+      </xpdr-port>
+    </xponder>
+    <xponder>
+      <xpdr-number>2</xpdr-number>
+      <xpdr-type>switch</xpdr-type>
+      <xpdr-port>
+        <index>1</index>
+        <circuit-pack-name>CP2-QSFP1</circuit-pack-name>
+        <port-name>CP2-QSFP1-P1</port-name>
+        <eqpt-srg-id>2</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>2</index>
+        <circuit-pack-name>CP2-QSFP2</circuit-pack-name>
+        <port-name>CP2-QSFP2-P1</port-name>
+        <eqpt-srg-id>2</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>3</index>
+        <circuit-pack-name>CP2-QSFP3</circuit-pack-name>
+        <port-name>CP2-QSFP3-P1</port-name>
+        <eqpt-srg-id>2</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>4</index>
+        <circuit-pack-name>CP2-QSFP4</circuit-pack-name>
+        <port-name>CP2-QSFP4-P1</port-name>
+        <eqpt-srg-id>2</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>5</index>
+        <circuit-pack-name>CP5-CFP</circuit-pack-name>
+        <port-name>CP5-CFP-P1</port-name>
+        <eqpt-srg-id>3</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>6</index>
+        <circuit-pack-name>CP6-CFP</circuit-pack-name>
+        <port-name>CP6-CFP-P1</port-name>
+        <eqpt-srg-id>4</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>7</index>
+        <circuit-pack-name>CP7-CFP</circuit-pack-name>
+        <port-name>CP7-CFP-P1</port-name>
+        <eqpt-srg-id>5</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>8</index>
+        <circuit-pack-name>CP8-CFP</circuit-pack-name>
+        <port-name>CP8-CFP-P1</port-name>
+        <eqpt-srg-id>6</eqpt-srg-id>
+      </xpdr-port>
+    </xponder>
+    <xponder>
+      <xpdr-number>3</xpdr-number>
+      <xpdr-type>mpdr</xpdr-type>
+      <xpdr-port>
+        <index>1</index>
+        <circuit-pack-name>CP3-CFP0</circuit-pack-name>
+        <port-name>CP3-CFP0-P1</port-name>
+        <eqpt-srg-id>7</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>2</index>
+        <circuit-pack-name>CP3-SFP1</circuit-pack-name>
+        <port-name>CP3-SFP1-P1</port-name>
+        <eqpt-srg-id>7</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>3</index>
+        <circuit-pack-name>CP3-SFP2</circuit-pack-name>
+        <port-name>CP3-SFP2-P1</port-name>
+        <eqpt-srg-id>7</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>4</index>
+        <circuit-pack-name>CP3-SFP3</circuit-pack-name>
+        <port-name>CP3-SFP3-P1</port-name>
+        <eqpt-srg-id>7</eqpt-srg-id>
+      </xpdr-port>
+      <xpdr-port>
+        <index>5</index>
+        <circuit-pack-name>CP3-SFP4</circuit-pack-name>
+        <port-name>CP3-SFP4-P1</port-name>
+        <eqpt-srg-id>7</eqpt-srg-id>
+      </xpdr-port>
+    </xponder>
+    <odu-switching-pools>
+      <switching-pool-number>1</switching-pool-number>
+      <switching-pool-type xmlns:org-openroadm-switching-pool-types="http://org/openroadm/switching-pool-types">non-blocking</switching-pool-type>
+      <non-blocking-list>
+        <nbl-number>1</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S1</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>2</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S2</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>3</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S3</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>4</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S4</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>5</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S5</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>6</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S6</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>7</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S7</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>8</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S8</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>9</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S9</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>10</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S10</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>11</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <port-list>
+          <circuit-pack-name>CP1-CFP0</circuit-pack-name>
+          <port-name>CP1-CFP0-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP1-SFP1</circuit-pack-name>
+          <port-name>CP1-SFP1-P1</port-name>
+        </port-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>12</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <port-list>
+          <circuit-pack-name>CP1-CFP0</circuit-pack-name>
+          <port-name>CP1-CFP0-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP1-SFP2</circuit-pack-name>
+          <port-name>CP1-SFP2-P1</port-name>
+        </port-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>13</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <port-list>
+          <circuit-pack-name>CP1-CFP0</circuit-pack-name>
+          <port-name>CP1-CFP0-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP1-SFP3</circuit-pack-name>
+          <port-name>CP1-SFP3-P1</port-name>
+        </port-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>14</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <port-list>
+          <circuit-pack-name>CP1-CFP0</circuit-pack-name>
+          <port-name>CP1-CFP0-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP1-SFP4</circuit-pack-name>
+          <port-name>CP1-SFP4-P1</port-name>
+        </port-list>
+      </non-blocking-list>
+    </odu-switching-pools>
+    <odu-switching-pools>
+      <switching-pool-number>2</switching-pool-number>
+      <switching-pool-type xmlns:org-openroadm-switching-pool-types="http://org/openroadm/switching-pool-types">non-blocking</switching-pool-type>
+      <non-blocking-list>
+        <nbl-number>1</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP2</circuit-pack-name>
+          <slot-name>CP2-S1</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP2</circuit-pack-name>
+          <slot-name>CP2-S2</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP2</circuit-pack-name>
+          <slot-name>CP2-S3</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP2</circuit-pack-name>
+          <slot-name>CP2-S4</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP0</circuit-pack-name>
+          <slot-name>CP0-S5</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP0</circuit-pack-name>
+          <slot-name>CP0-S6</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP0</circuit-pack-name>
+          <slot-name>CP0-S7</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP0</circuit-pack-name>
+          <slot-name>CP0-S8</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>2</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <port-list>
+          <circuit-pack-name>CP2-QSFP1</circuit-pack-name>
+          <port-name>CP2-QSFP1-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP2-QSFP2</circuit-pack-name>
+          <port-name>CP2-QSFP2-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP2-QSFP3</circuit-pack-name>
+          <port-name>CP2-QSFP3-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP2-QSFP4</circuit-pack-name>
+          <port-name>CP2-QSFP4-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP5-CFP</circuit-pack-name>
+          <port-name>CP5-CFP-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP6-CFP</circuit-pack-name>
+          <port-name>CP6-CFP-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP7-CFP</circuit-pack-name>
+          <port-name>CP7-CFP-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP8-CFP</circuit-pack-name>
+          <port-name>CP8-CFP-P1</port-name>
+        </port-list>
+      </non-blocking-list>
+    </odu-switching-pools>
+    <odu-switching-pools>
+      <switching-pool-number>3</switching-pool-number>
+      <switching-pool-type xmlns:org-openroadm-switching-pool-types="http://org/openroadm/switching-pool-types">non-blocking</switching-pool-type>
+      <non-blocking-list>
+        <nbl-number>1</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S1</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>2</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S2</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>3</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S3</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>4</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S4</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>5</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S5</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>6</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S6</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>7</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S7</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>8</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S8</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>9</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S9</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>10</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S10</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>11</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S11</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>12</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S12</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>13</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S13</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>14</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S14</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>15</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S15</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>16</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S16</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>17</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S17</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>18</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S18</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>19</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S19</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>20</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S20</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>21</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S21</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>22</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S22</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>23</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S23</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>24</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S24</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>25</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S25</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>26</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S26</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>27</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S27</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>28</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S28</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>29</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S29</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>30</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S30</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>31</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S31</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>32</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S32</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>33</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S33</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>34</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S34</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>35</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S35</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>36</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S36</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>37</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S37</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>38</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S38</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>39</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S39</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>40</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S40</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>41</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S41</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>42</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S42</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>43</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S43</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>44</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S44</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>45</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S45</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>46</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S46</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>47</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S47</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>48</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S48</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>49</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S49</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>50</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S50</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>51</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S51</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>52</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S52</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>53</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S53</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>54</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S54</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>55</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S55</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>56</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S56</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>57</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S57</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>58</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S58</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>59</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S59</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>60</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S60</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>61</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S61</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>62</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S62</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>63</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S63</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>64</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S64</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>65</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S65</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>66</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S66</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>67</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S67</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>68</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S68</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>69</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S69</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>70</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S70</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>71</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S71</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>72</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S72</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>73</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S73</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>74</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S74</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>75</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S75</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>76</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S76</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>77</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S77</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>78</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S78</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>79</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S79</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>80</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S80</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP3</circuit-pack-name>
+          <slot-name>CP3-S0</slot-name>
+        </pluggable-optics-holder-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>81</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <port-list>
+          <circuit-pack-name>CP3-CFP0</circuit-pack-name>
+          <port-name>CP3-CFP0-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP3-SFP1</circuit-pack-name>
+          <port-name>CP3-SFP1-P1</port-name>
+        </port-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>82</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <port-list>
+          <circuit-pack-name>CP3-CFP0</circuit-pack-name>
+          <port-name>CP3-CFP0-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP3-SFP2</circuit-pack-name>
+          <port-name>CP3-SFP2-P1</port-name>
+        </port-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>83</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <port-list>
+          <circuit-pack-name>CP3-CFP0</circuit-pack-name>
+          <port-name>CP3-CFP0-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP3-SFP3</circuit-pack-name>
+          <port-name>CP3-SFP3-P1</port-name>
+        </port-list>
+      </non-blocking-list>
+      <non-blocking-list>
+        <nbl-number>84</nbl-number>
+        <interconnect-bandwidth-unit>1000000000</interconnect-bandwidth-unit>
+        <interconnect-bandwidth>0</interconnect-bandwidth>
+        <port-list>
+          <circuit-pack-name>CP3-CFP0</circuit-pack-name>
+          <port-name>CP3-CFP0-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP3-SFP4</circuit-pack-name>
+          <port-name>CP3-SFP4-P1</port-name>
+        </port-list>
+      </non-blocking-list>
+    </odu-switching-pools>
+    <port-group-restriction xmlns="http://org/openroadm/port-capability">
+      <port-bandwidth-sharing>
+        <port-sharing-id>1</port-sharing-id>
+        <port-list>
+          <circuit-pack-name>CP1-SFP1</circuit-pack-name>
+          <port-name>CP1-SFP1-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP1-SFP2</circuit-pack-name>
+          <port-name>CP1-SFP2-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP1-SFP3</circuit-pack-name>
+          <port-name>CP1-SFP3-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP1-SFP4</circuit-pack-name>
+          <port-name>CP1-SFP4-P1</port-name>
+        </port-list>
+        <port-list>
+          <circuit-pack-name>CP1-CFP0</circuit-pack-name>
+          <port-name>CP1-CFP0-P1</port-name>
+        </port-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S0</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S1</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S2</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S3</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S4</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S5</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S6</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S7</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S8</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S9</slot-name>
+        </pluggable-optics-holder-list>
+        <pluggable-optics-holder-list>
+          <circuit-pack-name>CP1</circuit-pack-name>
+          <slot-name>CP1-S10</slot-name>
+        </pluggable-optics-holder-list>
+        <shared-bandwidth>100</shared-bandwidth>
+        <possible-port-config>
+          <config-id>1</config-id>
+          <port-if-type-config>
+            <circuit-pack-name>CP1-SFP1</circuit-pack-name>
+            <port-name>CP1-SFP1-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </port-if-type-config>
+          <port-if-type-config>
+            <circuit-pack-name>CP1-SFP2</circuit-pack-name>
+            <port-name>CP1-SFP2-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </port-if-type-config>
+          <port-if-type-config>
+            <circuit-pack-name>CP1-SFP3</circuit-pack-name>
+            <port-name>CP1-SFP3-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </port-if-type-config>
+          <port-if-type-config>
+            <circuit-pack-name>CP1-SFP4</circuit-pack-name>
+            <port-name>CP1-SFP4-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </port-if-type-config>
+          <port-if-type-config>
+            <circuit-pack-name>CP1-CFP0</circuit-pack-name>
+            <port-name>CP1-CFP0-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2e-ODU2e</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU4-ODU4</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</port-if-type>
+          </port-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S0</slot-name>
+            <port-name>CP1-CFP0-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2e-ODU2e</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU4-ODU4</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S1</slot-name>
+            <port-name>CP1-SFP1-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S2</slot-name>
+            <port-name>CP1-SFP2-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S3</slot-name>
+            <port-name>CP1-SFP3-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S4</slot-name>
+            <port-name>CP1-SFP4-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S5</slot-name>
+            <port-name>CP1-SFP5-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S6</slot-name>
+            <port-name>CP1-SFP6-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S7</slot-name>
+            <port-name>CP1-SFP7-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S8</slot-name>
+            <port-name>CP1-SFP8-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S9</slot-name>
+            <port-name>CP1-SFP9-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S10</slot-name>
+            <port-name>CP1-SFP10-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2e</port-if-type>
+          </slot-if-type-config>
+        </possible-port-config>
+        <possible-port-config>
+          <config-id>2</config-id>
+          <port-if-type-config>
+            <circuit-pack-name>CP1-SFP1</circuit-pack-name>
+            <port-name>CP1-SFP1-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </port-if-type-config>
+          <port-if-type-config>
+            <circuit-pack-name>CP1-SFP2</circuit-pack-name>
+            <port-name>CP1-SFP2-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </port-if-type-config>
+          <port-if-type-config>
+            <circuit-pack-name>CP1-SFP3</circuit-pack-name>
+            <port-name>CP1-SFP3-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </port-if-type-config>
+          <port-if-type-config>
+            <circuit-pack-name>CP1-SFP4</circuit-pack-name>
+            <port-name>CP1-SFP4-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </port-if-type-config>
+          <port-if-type-config>
+            <circuit-pack-name>CP1-CFP0</circuit-pack-name>
+            <port-name>CP1-CFP0-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU4-ODU4</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</port-if-type>
+          </port-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S0</slot-name>
+            <port-name>CP1-CFP0-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU4-ODU4</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU4-ODU4</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S1</slot-name>
+            <port-name>CP1-SFP1-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S2</slot-name>
+            <port-name>CP1-SFP2-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S3</slot-name>
+            <port-name>CP1-SFP3-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S4</slot-name>
+            <port-name>CP1-SFP4-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S5</slot-name>
+            <port-name>CP1-SFP5-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S6</slot-name>
+            <port-name>CP1-SFP6-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S7</slot-name>
+            <port-name>CP1-SFP7-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S8</slot-name>
+            <port-name>CP1-SFP8-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S9</slot-name>
+            <port-name>CP1-SFP9-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </slot-if-type-config>
+          <slot-if-type-config>
+            <circuit-pack-name>CP1</circuit-pack-name>
+            <slot-name>CP1-S10</slot-name>
+            <port-name>CP1-SFP10-P1</port-name>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-10GE-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OTU2-ODU2</port-if-type>
+            <port-if-type xmlns:org-openroadm-port-types="http://org/openroadm/port/types">org-openroadm-port-types:if-OCH-OTU2-ODU2</port-if-type>
+          </slot-if-type-config>
+        </possible-port-config>
+      </port-bandwidth-sharing>
+    </port-group-restriction>
+  </org-openroadm-device>
+
+  <current-pm-list xmlns="http://org/openroadm/pm">
+    <current-pm-entry>
+      <pm-resource-instance xmlns:d="http://org/openroadm/device">/d:org-openroadm-device/d:interface[d:name='XPDR1-NETWORK1-OTU']</pm-resource-instance>
+      <pm-resource-type>interface</pm-resource-type>
+      <pm-resource-type-extension></pm-resource-type-extension>
+      <retrieval-time>2018-06-07T13:22:58+00:00</retrieval-time>
+      <current-pm>
+        <type>opticalPowerOutput</type>
+        <extension></extension>
+        <location>nearEnd</location>
+        <direction>tx</direction>
+        <measurement>
+          <granularity>15min</granularity>
+          <pmParameterValue>2.5</pmParameterValue>
+          <pmParameterUnit>dBm</pmParameterUnit>
+          <validity>complete</validity>
+        </measurement>
+        <measurement>
+          <granularity>24Hour</granularity>
+          <pmParameterValue>2.23</pmParameterValue>
+          <pmParameterUnit>dBm</pmParameterUnit>
+          <validity>complete</validity>
+        </measurement>
+      </current-pm>
+      <current-pm>
+        <type>opticalPowerInput</type>
+        <extension></extension>
+        <location>nearEnd</location>
+        <direction>rx</direction>
+        <measurement>
+          <granularity>15min</granularity>
+          <pmParameterValue>-45.1</pmParameterValue>
+          <pmParameterUnit>dBm</pmParameterUnit>
+          <validity>complete</validity>
+        </measurement>
+        <measurement>
+          <granularity>24Hour</granularity>
+          <pmParameterValue>-49.3</pmParameterValue>
+          <pmParameterUnit>dBm</pmParameterUnit>
+          <validity>complete</validity>
+        </measurement>
+      </current-pm>
+    </current-pm-entry>
+  </current-pm-list>
+
+</data>
index 8ab6386e8ad318f4f0052e40403b7584b4aabee4..88853118b4384ac3a924444f0e3c1638d27deeba 100644 (file)
@@ -629,7 +629,7 @@ class TransportPCEtesting(unittest.TestCase):
         res = response.json()
         # Tests related to links
         nbLink = len(res['network'][0]['ietf-network-topology:link'])
-        self.assertEqual(nbLink, 26)
+        self.assertEqual(nbLink, 30)
         for i in range(0, nbLink):
             link_id = res['network'][0]['ietf-network-topology:link'][i]['link-id']
             link_type = res['network'][0]['ietf-network-topology:link'][i]['org-openroadm-common-network:link-type']
index 25a09c2b29b2176749a0595a1ea3439b1cbf5f04..6721a3501df59c841c9541d2c71e8020b6b745c3 100644 (file)
@@ -236,7 +236,7 @@ class TransportTapitesting(unittest.TestCase):
         response = test_utils.post_request(url, data)
         self.assertEqual(response.status_code, requests.codes.ok, test_utils.CODE_SHOULD_BE_200)
         res = response.json()
-        self.assertNotIn("node", res["output"]["topology"], 'Topology should contain no node')
+        self.assertEqual(len(res["output"]["topology"]["node"]), 1, 'Topology should contain 1 node')
         self.assertNotIn("link", res["output"]["topology"], 'Topology should contain no link')
 
     def test_05_disconnect_roadmb(self):
@@ -250,7 +250,17 @@ class TransportTapitesting(unittest.TestCase):
         time.sleep(10)
 
     def test_07_check_tapi_topos(self):
-        self.test_04_check_tapi_topos()
+        url = "{}/operations/tapi-topology:get-topology-details"
+        data = {
+            "tapi-topology:input": {
+                "tapi-topology:topology-id-or-name": "T0 - Multi-layer topology"
+            }
+        }
+        response = test_utils.post_request(url, data)
+        self.assertEqual(response.status_code, requests.codes.ok, test_utils.CODE_SHOULD_BE_200)
+        res = response.json()
+        self.assertNotIn("node", res["output"]["topology"], 'Topology should contain no node')
+        self.assertNotIn("link", res["output"]["topology"], 'Topology should contain no link')
 
     def test_08_connect_rdma(self):
         response = test_utils.mount_device("ROADM-A1", ('roadma', self.NODE_VERSION))
diff --git a/tests/transportpce_tests/2.2.1/test14_otn_switch_end2end.py b/tests/transportpce_tests/2.2.1/test14_otn_switch_end2end.py
new file mode 100644 (file)
index 0000000..700dcf0
--- /dev/null
@@ -0,0 +1,1520 @@
+#!/usr/bin/env python
+
+##############################################################################
+# Copyright (c) 2021 Orange, Inc. and others.  All rights reserved.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# pylint: disable=no-member
+# pylint: disable=too-many-public-methods
+
+import base64
+import unittest
+import time
+import requests
+import sys
+sys.path.append('transportpce_tests/common/')
+import test_utils
+
+
+class TransportPCEtesting(unittest.TestCase):
+
+    processes = None
+    WAITING = 20  # nominal value is 300
+    NODE_VERSION = '2.2.1'
+
+    cr_serv_sample_data = {"input": {
+        "sdnc-request-header": {
+            "request-id": "request-1",
+            "rpc-action": "service-create",
+            "request-system-id": "appname"
+        },
+        "service-name": "service-OCH-OTU4-AB",
+        "common-id": "commonId",
+        "connection-type": "infrastructure",
+        "service-a-end": {
+            "service-rate": "100",
+            "node-id": "SPDR-SA1",
+            "service-format": "OTU",
+            "otu-service-rate": "org-openroadm-otn-common-types:OTU4",
+            "clli": "NodeSA",
+            "subrate-eth-sla": {
+                    "subrate-eth-sla": {
+                        "committed-info-rate": "100000",
+                        "committed-burst-size": "64"
+                    }
+            },
+            "tx-direction": {
+                "port": {
+                    "port-device-name": "SPDR-SA1-XPDR2",
+                    "port-type": "fixed",
+                    "port-name": "XPDR2-NETWORK1",
+                    "port-rack": "000000.00",
+                    "port-shelf": "Chassis#1"
+                },
+                "lgx": {
+                    "lgx-device-name": "Some lgx-device-name",
+                    "lgx-port-name": "Some lgx-port-name",
+                    "lgx-port-rack": "000000.00",
+                    "lgx-port-shelf": "00"
+                }
+            },
+            "rx-direction": {
+                "port": {
+                    "port-device-name": "SPDR-SA1-XPDR2",
+                    "port-type": "fixed",
+                    "port-name": "XPDR2-NETWORK1",
+                    "port-rack": "000000.00",
+                    "port-shelf": "Chassis#1"
+                },
+                "lgx": {
+                    "lgx-device-name": "Some lgx-device-name",
+                    "lgx-port-name": "Some lgx-port-name",
+                    "lgx-port-rack": "000000.00",
+                    "lgx-port-shelf": "00"
+                }
+            },
+            "optic-type": "gray"
+        },
+        "service-z-end": {
+            "service-rate": "100",
+            "node-id": "SPDR-SB1",
+            "service-format": "OTU",
+            "otu-service-rate": "org-openroadm-otn-common-types:OTU4",
+            "clli": "NodeSB",
+            "subrate-eth-sla": {
+                    "subrate-eth-sla": {
+                        "committed-info-rate": "100000",
+                        "committed-burst-size": "64"
+                    }
+            },
+            "tx-direction": {
+                "port": {
+                    "port-device-name": "SPDR-SB1-XPDR2",
+                    "port-type": "fixed",
+                    "port-name": "XPDR2-NETWORK1",
+                    "port-rack": "000000.00",
+                    "port-shelf": "Chassis#1"
+                },
+                "lgx": {
+                    "lgx-device-name": "Some lgx-device-name",
+                    "lgx-port-name": "Some lgx-port-name",
+                    "lgx-port-rack": "000000.00",
+                    "lgx-port-shelf": "00"
+                }
+            },
+            "rx-direction": {
+                "port": {
+                    "port-device-name": "SPDR-SB1-XPDR2",
+                    "port-type": "fixed",
+                    "port-name": "XPDR2-NETWORK1",
+                    "port-rack": "000000.00",
+                    "port-shelf": "Chassis#1"
+                },
+                "lgx": {
+                    "lgx-device-name": "Some lgx-device-name",
+                    "lgx-port-name": "Some lgx-port-name",
+                    "lgx-port-rack": "000000.00",
+                    "lgx-port-shelf": "00"
+                }
+            },
+            "optic-type": "gray"
+        },
+        "due-date": "2018-06-15T00:00:01Z",
+        "operator-contact": "pw1234"
+    }
+    }
+
+    @classmethod
+    def setUpClass(cls):
+        cls.processes = test_utils.start_tpce()
+        cls.processes = test_utils.start_sims([('spdra', cls.NODE_VERSION),
+                                               ('spdrb', cls.NODE_VERSION),
+                                               ('spdrc', cls.NODE_VERSION),
+                                               ('roadma', cls.NODE_VERSION),
+                                               ('roadmb', cls.NODE_VERSION),
+                                               ('roadmc', cls.NODE_VERSION)])
+
+    @classmethod
+    def tearDownClass(cls):
+        # pylint: disable=not-an-iterable
+        for process in cls.processes:
+            test_utils.shutdown_process(process)
+        print("all processes killed")
+
+    def setUp(self):
+        time.sleep(5)
+
+    def test_01_connect_spdrA(self):
+        response = test_utils.mount_device("SPDR-SA1", ('spdra', self.NODE_VERSION))
+        self.assertEqual(response.status_code,
+                         requests.codes.created, test_utils.CODE_SHOULD_BE_201)
+
+    def test_02_connect_spdrB(self):
+        response = test_utils.mount_device("SPDR-SB1", ('spdrb', self.NODE_VERSION))
+        self.assertEqual(response.status_code,
+                         requests.codes.created, test_utils.CODE_SHOULD_BE_201)
+
+    def test_03_connect_spdrC(self):
+        response = test_utils.mount_device("SPDR-SC1", ('spdrc', self.NODE_VERSION))
+        self.assertEqual(response.status_code,
+                         requests.codes.created, test_utils.CODE_SHOULD_BE_201)
+
+    def test_04_connect_rdmA(self):
+        response = test_utils.mount_device("ROADM-A1", ('roadma', self.NODE_VERSION))
+        self.assertEqual(response.status_code,
+                         requests.codes.created, test_utils.CODE_SHOULD_BE_201)
+
+    def test_05_connect_rdmB(self):
+        response = test_utils.mount_device("ROADM-B1", ('roadmb', self.NODE_VERSION))
+        self.assertEqual(response.status_code,
+                         requests.codes.created, test_utils.CODE_SHOULD_BE_201)
+
+    def test_06_connect_rdmC(self):
+        response = test_utils.mount_device("ROADM-C1", ('roadmc', self.NODE_VERSION))
+        self.assertEqual(response.status_code,
+                         requests.codes.created, test_utils.CODE_SHOULD_BE_201)
+
+    def test_07_connect_sprdA_2_N1_to_roadmA_PP3(self):
+        response = test_utils.connect_xpdr_to_rdm_request("SPDR-SA1", "2", "1",
+                                                          "ROADM-A1", "1", "SRG1-PP3-TXRX")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Xponder Roadm Link created successfully',
+                      res["output"]["result"])
+        time.sleep(2)
+
+    def test_08_connect_roadmA_PP3_to_spdrA_2_N1(self):
+        response = test_utils.connect_rdm_to_xpdr_request("SPDR-SA1", "2", "1",
+                                                          "ROADM-A1", "1", "SRG1-PP3-TXRX")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Roadm Xponder links created successfully',
+                      res["output"]["result"])
+        time.sleep(2)
+
+    def test_09_connect_sprdC_2_N1_to_roadmC_PP3(self):
+        response = test_utils.connect_xpdr_to_rdm_request("SPDR-SC1", "2", "1",
+                                                          "ROADM-C1", "1", "SRG1-PP3-TXRX")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Xponder Roadm Link created successfully',
+                      res["output"]["result"])
+        time.sleep(2)
+
+    def test_10_connect_roadmC_PP3_to_spdrC_2_N1(self):
+        response = test_utils.connect_rdm_to_xpdr_request("SPDR-SC1", "2", "1",
+                                                          "ROADM-C1", "1", "SRG1-PP3-TXRX")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Roadm Xponder links created successfully',
+                      res["output"]["result"])
+        time.sleep(2)
+
+    def test_11_connect_sprdB_2_N1_to_roadmB_PP1(self):
+        response = test_utils.connect_xpdr_to_rdm_request("SPDR-SB1", "2", "1",
+                                                          "ROADM-B1", "1", "SRG1-PP1-TXRX")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Xponder Roadm Link created successfully',
+                      res["output"]["result"])
+        time.sleep(2)
+
+    def test_12_connect_roadmB_PP1_to_spdrB_2_N1(self):
+        response = test_utils.connect_rdm_to_xpdr_request("SPDR-SB1", "2", "1",
+                                                          "ROADM-B1", "1", "SRG1-PP1-TXRX")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Roadm Xponder links created successfully',
+                      res["output"]["result"])
+        time.sleep(2)
+
+    def test_13_connect_sprdB_2_N2_to_roadmB_PP2(self):
+        response = test_utils.connect_xpdr_to_rdm_request("SPDR-SB1", "2", "2",
+                                                          "ROADM-B1", "1", "SRG1-PP2-TXRX")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Xponder Roadm Link created successfully',
+                      res["output"]["result"])
+        time.sleep(2)
+
+    def test_14_connect_roadmB_PP2_to_spdrB_2_N2(self):
+        response = test_utils.connect_rdm_to_xpdr_request("SPDR-SB1", "2", "2",
+                                                          "ROADM-B1", "1", "SRG1-PP2-TXRX")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Roadm Xponder links created successfully',
+                      res["output"]["result"])
+        time.sleep(2)
+
+    def test_15_add_omsAttributes_ROADMA_ROADMB(self):
+        # Config ROADMA-ROADMB oms-attributes
+        data = {"span": {
+            "auto-spanloss": "true",
+            "spanloss-base": 11.4,
+            "spanloss-current": 12,
+            "engineered-spanloss": 12.2,
+            "link-concatenation": [{
+                "SRLG-Id": 0,
+                "fiber-type": "smf",
+                "SRLG-length": 100000,
+                "pmd": 0.5}]}}
+        response = test_utils.add_oms_attr_request(
+            "ROADM-A1-DEG1-DEG1-TTP-TXRXtoROADM-B1-DEG1-DEG1-TTP-TXRX", data)
+        self.assertEqual(response.status_code, requests.codes.created)
+
+    def test_16_add_omsAttributes_ROADMB_ROADMA(self):
+        # Config ROADMB-ROADMA oms-attributes
+        data = {"span": {
+            "auto-spanloss": "true",
+            "spanloss-base": 11.4,
+            "spanloss-current": 12,
+            "engineered-spanloss": 12.2,
+            "link-concatenation": [{
+                "SRLG-Id": 0,
+                "fiber-type": "smf",
+                "SRLG-length": 100000,
+                "pmd": 0.5}]}}
+        response = test_utils.add_oms_attr_request(
+            "ROADM-B1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG1-DEG1-TTP-TXRX", data)
+        self.assertEqual(response.status_code, requests.codes.created)
+
+    def test_17_add_omsAttributes_ROADMB_ROADMC(self):
+        # Config ROADMB-ROADMC oms-attributes
+        data = {"span": {
+            "auto-spanloss": "true",
+            "spanloss-base": 11.4,
+            "spanloss-current": 12,
+            "engineered-spanloss": 12.2,
+            "link-concatenation": [{
+                "SRLG-Id": 0,
+                "fiber-type": "smf",
+                "SRLG-length": 100000,
+                "pmd": 0.5}]}}
+        response = test_utils.add_oms_attr_request(
+            "ROADM-B1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG2-DEG2-TTP-TXRX", data)
+        self.assertEqual(response.status_code, requests.codes.created)
+
+    def test_18_add_omsAttributes_ROADMC_ROADMB(self):
+        # Config ROADMC-ROADMB oms-attributes
+        data = {"span": {
+            "auto-spanloss": "true",
+            "spanloss-base": 11.4,
+            "spanloss-current": 12,
+            "engineered-spanloss": 12.2,
+            "link-concatenation": [{
+                "SRLG-Id": 0,
+                "fiber-type": "smf",
+                "SRLG-length": 100000,
+                "pmd": 0.5}]}}
+        response = test_utils.add_oms_attr_request(
+            "ROADM-C1-DEG2-DEG2-TTP-TXRXtoROADM-B1-DEG2-DEG2-TTP-TXRX", data)
+        self.assertEqual(response.status_code, requests.codes.created)
+
+    def test_19_create_OTS_ROADMA_DEG1(self):
+        response = test_utils.create_ots_oms_request("ROADM-A1", "DEG1-TTP-TXRX")
+        time.sleep(10)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Interfaces OTS-DEG1-TTP-TXRX - OMS-DEG1-TTP-TXRX successfully created on node ROADM-A1',
+                      res["output"]["result"])
+
+    def test_20_create_OTS_ROADMB_DEG1(self):
+        response = test_utils.create_ots_oms_request("ROADM-B1", "DEG1-TTP-TXRX")
+        time.sleep(10)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Interfaces OTS-DEG1-TTP-TXRX - OMS-DEG1-TTP-TXRX successfully created on node ROADM-B1',
+                      res["output"]["result"])
+
+    def test_21_create_OTS_ROADMB_DEG2(self):
+        response = test_utils.create_ots_oms_request("ROADM-B1", "DEG2-TTP-TXRX")
+        time.sleep(10)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Interfaces OTS-DEG2-TTP-TXRX - OMS-DEG2-TTP-TXRX successfully created on node ROADM-B1',
+                      res["output"]["result"])
+
+    def test_22_create_OTS_ROADMC_DEG2(self):
+        response = test_utils.create_ots_oms_request("ROADM-C1", "DEG2-TTP-TXRX")
+        time.sleep(10)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Interfaces OTS-DEG2-TTP-TXRX - OMS-DEG2-TTP-TXRX successfully created on node ROADM-C1',
+                      res["output"]["result"])
+
+    def test_23_calculate_span_loss_base_all(self):
+        url = "{}/operations/transportpce-olm:calculate-spanloss-base"
+        data = {
+            "input": {
+                "src-type": "all"
+            }
+        }
+        response = test_utils.post_request(url, data)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Success',
+                      res["output"]["result"])
+        self.assertIn({
+            "spanloss": "25.7",
+            "link-id": "ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX"
+        }, res["output"]["spans"])
+        self.assertIn({
+            "spanloss": "17.6",
+            "link-id": "ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX"
+        }, res["output"]["spans"])
+        self.assertIn({
+            "spanloss": "23.6",
+            "link-id": "ROADM-B1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG1-DEG1-TTP-TXRX"
+        }, res["output"]["spans"])
+        self.assertIn({
+            "spanloss": "23.6",
+            "link-id": "ROADM-A1-DEG1-DEG1-TTP-TXRXtoROADM-B1-DEG1-DEG1-TTP-TXRX"
+        }, res["output"]["spans"])
+        self.assertIn({
+            "spanloss": "25.7",
+            "link-id": "ROADM-C1-DEG2-DEG2-TTP-TXRXtoROADM-B1-DEG2-DEG2-TTP-TXRX"
+        }, res["output"]["spans"])
+        self.assertIn({
+            "spanloss": "17.6",
+            "link-id": "ROADM-B1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG2-DEG2-TTP-TXRX"
+        }, res["output"]["spans"])
+        time.sleep(5)
+
+    def test_24_check_otn_topology(self):
+        response = test_utils.get_otn_topo_request()
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        nbNode = len(res['network'][0]['node'])
+        self.assertEqual(nbNode, 9, 'There should be 9 nodes')
+        self.assertNotIn('ietf-network-topology:link', res['network'][0],
+                         'otn-topology should have no link')
+
+# test service-create for OCH-OTU4 service from spdrA to spdrB
+    def test_25_create_OCH_OTU4_service_AB(self):
+        response = test_utils.service_create_request(self.cr_serv_sample_data)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('PCE calculation in progress',
+                      res['output']['configuration-response-common']['response-message'])
+        time.sleep(self.WAITING)
+
+    def test_26_get_OCH_OTU4_service_AB(self):
+        response = test_utils.get_service_list_request(
+            "services/service-OCH-OTU4-AB")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertEqual(
+            res['services'][0]['administrative-state'], 'inService')
+        self.assertEqual(
+            res['services'][0]['service-name'], 'service-OCH-OTU4-AB')
+        self.assertEqual(
+            res['services'][0]['connection-type'], 'infrastructure')
+        self.assertEqual(
+            res['services'][0]['lifecycle-state'], 'planned')
+        time.sleep(2)
+
+# Check correct configuration of devices
+    def test_27_check_interface_och_spdra(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SA1", "interface/XPDR2-NETWORK1-761:768")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertDictEqual(dict({'name': 'XPDR2-NETWORK1-761:768',
+                                   'administrative-state': 'inService',
+                                   'supporting-circuit-pack-name': 'CP5-CFP',
+                                   'type': 'org-openroadm-interfaces:opticalChannel',
+                                   'supporting-port': 'CP5-CFP-P1'
+                                   }, **res['interface'][0]),
+                             res['interface'][0])
+
+        self.assertDictEqual(
+            {u'frequency': 196.1, u'rate': u'org-openroadm-common-types:R100G',
+             u'transmit-power': -5, u'modulation-format': 'dp-qpsk'},
+            res['interface'][0]['org-openroadm-optical-channel-interfaces:och'])
+
+    def test_28_check_interface_OTU4_spdra(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SA1", "interface/XPDR2-NETWORK1-OTU")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR2-NETWORK1-OTU',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP5-CFP',
+                        'supporting-interface': 'XPDR2-NETWORK1-761:768',
+                        'type': 'org-openroadm-interfaces:otnOtu',
+                        'supporting-port': 'CP5-CFP-P1'
+                        }
+        input_dict_2 = {'tx-sapi': 'exT821pFtOc=',
+                        'expected-dapi': 'exT821pFtOc=',
+                        'rate': 'org-openroadm-otn-common-types:OTU4',
+                        'fec': 'scfec'
+                        }
+        self.assertDictEqual(dict(input_dict_1, **res['interface'][0]),
+                             res['interface'][0])
+
+        self.assertDictEqual(input_dict_2,
+                             res['interface'][0]
+                             ['org-openroadm-otn-otu-interfaces:otu'])
+
+    def test_29_check_interface_och_spdrB(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SB1", "interface/XPDR2-NETWORK1-761:768")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertDictEqual(dict({'name': 'XPDR2-NETWORK1-761:768',
+                                   'administrative-state': 'inService',
+                                   'supporting-circuit-pack-name': 'CP5-CFP',
+                                   'type': 'org-openroadm-interfaces:opticalChannel',
+                                   'supporting-port': 'CP5-CFP-P1'
+                                   }, **res['interface'][0]),
+                             res['interface'][0])
+
+        self.assertDictEqual(
+            {u'frequency': 196.1, u'rate': u'org-openroadm-common-types:R100G',
+             u'transmit-power': -5, u'modulation-format': 'dp-qpsk'},
+            res['interface'][0]['org-openroadm-optical-channel-interfaces:och'])
+
+    def test_30_check_interface_OTU4_spdrB(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SB1", "interface/XPDR2-NETWORK1-OTU")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR2-NETWORK1-OTU',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP5-CFP',
+                        'supporting-interface': 'XPDR2-NETWORK1-761:768',
+                        'type': 'org-openroadm-interfaces:otnOtu',
+                        'supporting-port': 'CP5-CFP-P1'
+                        }
+        input_dict_2 = {'tx-dapi': 'exT821pFtOc=',
+                        'expected-sapi': 'exT821pFtOc=',
+                        'tx-sapi': 'HPQZi9Cb3Aw=',
+                        'expected-dapi': 'HPQZi9Cb3Aw=',
+                        'rate': 'org-openroadm-otn-common-types:OTU4',
+                        'fec': 'scfec'
+                        }
+
+        self.assertDictEqual(dict(input_dict_1, **res['interface'][0]),
+                             res['interface'][0])
+
+        self.assertDictEqual(input_dict_2,
+                             res['interface'][0]
+                             ['org-openroadm-otn-otu-interfaces:otu'])
+
+    def test_31_check_no_interface_ODU4_spdra(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SA1", "interface/XPDR2-NETWORK1-ODU4")
+        self.assertEqual(response.status_code, requests.codes.conflict)
+        res = response.json()
+        self.assertIn(
+            {"error-type": "application", "error-tag": "data-missing",
+             "error-message": "Request could not be completed because the relevant data model content does not exist"},
+            res['errors']['error'])
+
+    def test_32_check_openroadm_topo_spdra(self):
+        response = test_utils.get_ordm_topo_request("node/SPDR-SA1-XPDR2")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        ele = res['node'][0]['ietf-network-topology:termination-point'][0]
+        self.assertEqual('XPDR2-NETWORK1', ele['tp-id'])
+        self.assertEqual({u'frequency': 196.1,
+                          u'width': 40},
+                         ele['org-openroadm-network-topology:xpdr-network-attributes']['wavelength'])
+        self.assertEqual('ROADM-A1-SRG1--SRG1-PP3-TXRX',
+                         ele['org-openroadm-network-topology:xpdr-network-attributes']['tail-equipment-id'])
+        time.sleep(3)
+
+    def test_33_check_openroadm_topo_ROADMA_SRG(self):
+        response = test_utils.get_ordm_topo_request("node/ROADM-A1-SRG1")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        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[95], 0, "Lambda 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-PP3-TXRX':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:pp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[95], 0, "Lambda 1 should not be available")
+            if ele['tp-id'] == 'SRG1-PP2-TXRX':
+                self.assertNotIn('avail-freq-maps', dict.keys(ele))
+        time.sleep(3)
+
+    def test_33_check_openroadm_topo_ROADMA_DEG1(self):
+        response = test_utils.get_ordm_topo_request("node/ROADM-A1-DEG1")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        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[95], 0, "Lambda 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':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:ctp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[95], 0, "Lambda 1 should not be available")
+            if ele['tp-id'] == 'DEG1-TTP-TXRX':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:tx-ttp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[95], 0, "Lambda 1 should not be available")
+        time.sleep(3)
+
+    def test_34_check_otn_topo_otu4_links(self):
+        response = test_utils.get_otn_topo_request()
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        nb_links = len(res['network'][0]['ietf-network-topology:link'])
+        self.assertEqual(nb_links, 2)
+        listLinkId = ['OTU4-SPDR-SA1-XPDR2-XPDR2-NETWORK1toSPDR-SB1-XPDR2-XPDR2-NETWORK1',
+                      'OTU4-SPDR-SB1-XPDR2-XPDR2-NETWORK1toSPDR-SA1-XPDR2-XPDR2-NETWORK1']
+        for link in res['network'][0]['ietf-network-topology:link']:
+            self.assertIn(link['link-id'], listLinkId)
+            self.assertEqual(
+                link['transportpce-topology:otn-link-type'], 'OTU4')
+            self.assertEqual(
+                link['org-openroadm-common-network:link-type'], 'OTN-LINK')
+            self.assertEqual(
+                link['org-openroadm-otn-network-topology:available-bandwidth'], 100000)
+            self.assertEqual(
+                link['org-openroadm-otn-network-topology:used-bandwidth'], 0)
+            self.assertIn(
+                link['org-openroadm-common-network:opposite-link'], listLinkId)
+
+# test service-create for OCH-OTU4 service from spdrB to spdrC
+    def test_35_create_OCH_OTU4_service_BC(self):
+        self.cr_serv_sample_data["input"]["service-name"] = "service-OCH-OTU4-BC"
+        self.cr_serv_sample_data["input"]["service-a-end"]["node-id"] = "SPDR-SB1"
+        self.cr_serv_sample_data["input"]["service-a-end"]["clli"] = "NodeSB"
+        self.cr_serv_sample_data["input"]["service-a-end"]["tx-direction"]["port"]["port-device-name"] = "SPDR-SB1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-a-end"]["tx-direction"]["port"]["port-name"] = "XPDR2-NETWORK2"
+        self.cr_serv_sample_data["input"]["service-a-end"]["rx-direction"]["port"]["port-device-name"] = "SPDR-SB1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-a-end"]["rx-direction"]["port"]["port-name"] = "XPDR2-NETWORK2"
+        self.cr_serv_sample_data["input"]["service-z-end"]["node-id"] = "SPDR-SC1"
+        self.cr_serv_sample_data["input"]["service-z-end"]["clli"] = "NodeSC"
+        self.cr_serv_sample_data["input"]["service-z-end"]["tx-direction"]["port"]["port-device-name"] = "SPDR-SC1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-z-end"]["tx-direction"]["port"]["port-name"] = "XPDR2-NETWORK1"
+        self.cr_serv_sample_data["input"]["service-z-end"]["rx-direction"]["port"]["port-device-name"] = "SPDR-SC1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-z-end"]["rx-direction"]["port"]["port-name"] = "XPDR2-NETWORK1"
+
+        response = test_utils.service_create_request(self.cr_serv_sample_data)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('PCE calculation in progress',
+                      res['output']['configuration-response-common']['response-message'])
+        time.sleep(self.WAITING)
+
+    def test_36_get_OCH_OTU4_service_BC(self):
+        response = test_utils.get_service_list_request(
+            "services/service-OCH-OTU4-BC")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertEqual(
+            res['services'][0]['administrative-state'], 'inService')
+        self.assertEqual(
+            res['services'][0]['service-name'], 'service-OCH-OTU4-BC')
+        self.assertEqual(
+            res['services'][0]['connection-type'], 'infrastructure')
+        self.assertEqual(
+            res['services'][0]['lifecycle-state'], 'planned')
+        time.sleep(2)
+
+# Check correct configuration of devices
+    def test_37_check_interface_och_spdrB(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SB1", "interface/XPDR2-NETWORK2-753:760")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertDictEqual(dict({'name': 'XPDR2-NETWORK1-753:760',
+                                   'administrative-state': 'inService',
+                                   'supporting-circuit-pack-name': 'CP6-CFP',
+                                   'type': 'org-openroadm-interfaces:opticalChannel',
+                                   'supporting-port': 'CP1-CFP0-P1'
+                                   }, **res['interface'][0]),
+                             res['interface'][0])
+
+        self.assertDictEqual(
+            {u'frequency': 196.05, u'rate': u'org-openroadm-common-types:R100G',
+             u'transmit-power': -5, u'modulation-format': 'dp-qpsk'},
+            res['interface'][0]['org-openroadm-optical-channel-interfaces:och'])
+
+    def test_38_check_interface_OTU4_spdrB(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SB1", "interface/XPDR2-NETWORK2-OTU")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR2-NETWORK2-OTU',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP6-CFP',
+                        'supporting-interface': 'XPDR2-NETWORK1-753:760',
+                        'type': 'org-openroadm-interfaces:otnOtu',
+                        'supporting-port': 'CP6-CFP-P1'
+                        }
+        input_dict_2 = {'tx-sapi': 'HPQZi9Cb3A8=',
+                        'expected-dapi': 'HPQZi9Cb3A8=',
+                        'rate': 'org-openroadm-otn-common-types:OTU4',
+                        'fec': 'scfec'
+                        }
+        self.assertDictEqual(dict(input_dict_1, **res['interface'][0]),
+                             res['interface'][0])
+
+        self.assertDictEqual(input_dict_2,
+                             res['interface'][0]
+                             ['org-openroadm-otn-otu-interfaces:otu'])
+
+    def test_39_check_interface_och_spdrC(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SC1", "interface/XPDR2-NETWORK1-753:760")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertDictEqual(dict({'name': 'XPDR2-NETWORK1-761:768',
+                                   'administrative-state': 'inService',
+                                   'supporting-circuit-pack-name': 'CP5-CFP',
+                                   'type': 'org-openroadm-interfaces:opticalChannel',
+                                   'supporting-port': 'CP5-CFP-P1'
+                                   }, **res['interface'][0]),
+                             res['interface'][0])
+
+        self.assertDictEqual(
+            {u'frequency': 196.05, u'rate': u'org-openroadm-common-types:R100G',
+             u'transmit-power': -5, u'modulation-format': 'dp-qpsk'},
+            res['interface'][0]['org-openroadm-optical-channel-interfaces:och'])
+
+    def test_40_check_interface_OTU4_spdrC(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SC1", "interface/XPDR2-NETWORK1-OTU")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR2-NETWORK1-OTU',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP5-CFP',
+                        'supporting-interface': 'XPDR2-NETWORK1-753:760',
+                        'type': 'org-openroadm-interfaces:otnOtu',
+                        'supporting-port': 'CP5-CFP-P1'
+                        }
+        input_dict_2 = {'tx-dapi': 'HPQZi9Cb3A8=',
+                        'expected-sapi': 'HPQZi9Cb3A8=',
+                        'tx-sapi': 'ALx70DYYfGTx',
+                        'expected-dapi': 'ALx70DYYfGTx',
+                        'rate': 'org-openroadm-otn-common-types:OTU4',
+                        'fec': 'scfec'
+                        }
+
+        self.assertDictEqual(dict(input_dict_1, **res['interface'][0]),
+                             res['interface'][0])
+
+        self.assertDictEqual(input_dict_2,
+                             res['interface'][0]
+                             ['org-openroadm-otn-otu-interfaces:otu'])
+
+    def test_41_check_no_interface_ODU4_spdrB(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SB1", "interface/XPDR2-NETWORK1-ODU4")
+        self.assertEqual(response.status_code, requests.codes.conflict)
+        res = response.json()
+        self.assertIn(
+            {"error-type": "application", "error-tag": "data-missing",
+             "error-message": "Request could not be completed because the relevant data model content does not exist"},
+            res['errors']['error'])
+
+    def test_42_check_openroadm_topo_spdrB(self):
+        response = test_utils.get_ordm_topo_request("node/SPDR-SB1-XPDR2")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        liste_tp = res['node'][0]['ietf-network-topology:termination-point']
+        for ele in liste_tp:
+            if ele['tp-id'] == 'XPDR2-NETWORK1':
+                self.assertEqual({u'frequency': 196.1,
+                                  u'width': 40},
+                                 ele['org-openroadm-network-topology:xpdr-network-attributes']['wavelength'])
+                self.assertEqual('ROADM-B1-SRG1--SRG1-PP1-TXRX',
+                                 ele['org-openroadm-network-topology:xpdr-network-attributes']['tail-equipment-id'])
+            elif ele['tp-id'] == 'XPDR2-NETWORK2':
+                self.assertEqual({u'frequency': 196.05,
+                                  u'width': 40},
+                                 ele['org-openroadm-network-topology:xpdr-network-attributes']['wavelength'])
+                self.assertEqual('ROADM-B1-SRG1--SRG1-PP2-TXRX',
+                                 ele['org-openroadm-network-topology:xpdr-network-attributes']['tail-equipment-id'])
+            else:
+                print("ele = {}".format(ele))
+                self.assertNotIn('org-openroadm-network-topology:xpdr-network-attributes', dict.keys(ele))
+        time.sleep(3)
+
+    def test_43_check_openroadm_topo_ROADMB_SRG1(self):
+        response = test_utils.get_ordm_topo_request("node/ROADM-B1-SRG1")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        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[95], 0, "Lambda 1 should not be available")
+        self.assertEqual(freq_map_array[94], 0, "Lambda 2 should not be available")
+        self.assertEqual(freq_map_array[93], 255, "Lambda 3 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':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:pp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[95], 0, "Lambda 1 should not be available")
+            if ele['tp-id'] == 'SRG1-PP2-TXRX':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:pp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[94], 0, "Lambda 2 should not be available")
+            if ele['tp-id'] == 'SRG1-PP3-TXRX':
+                self.assertNotIn('avail-freq-maps', dict.keys(ele))
+        time.sleep(3)
+
+    def test_44_check_openroadm_topo_ROADMB_DEG2(self):
+        response = test_utils.get_ordm_topo_request("node/ROADM-B1-DEG2")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        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[94], 0, "Lambda 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':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:ctp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[94], 0, "Lambda 2 should not be available")
+            if ele['tp-id'] == 'DEG2-TTP-TXRX':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:tx-ttp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[94], 0, "Lambda 1 should not be available")
+        time.sleep(3)
+
+    def test_45_check_otn_topo_otu4_links(self):
+        response = test_utils.get_otn_topo_request()
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        nb_links = len(res['network'][0]['ietf-network-topology:link'])
+        self.assertEqual(nb_links, 4)
+        listLinkId = ['OTU4-SPDR-SA1-XPDR2-XPDR2-NETWORK1toSPDR-SB1-XPDR2-XPDR2-NETWORK1',
+                      'OTU4-SPDR-SB1-XPDR2-XPDR2-NETWORK1toSPDR-SA1-XPDR2-XPDR2-NETWORK1',
+                      'OTU4-SPDR-SB1-XPDR2-XPDR2-NETWORK2toSPDR-SC1-XPDR2-XPDR2-NETWORK1',
+                      'OTU4-SPDR-SC1-XPDR2-XPDR2-NETWORK1toSPDR-SB1-XPDR2-XPDR2-NETWORK2']
+        for link in res['network'][0]['ietf-network-topology:link']:
+            self.assertIn(link['link-id'], listLinkId)
+            self.assertEqual(
+                link['transportpce-topology:otn-link-type'], 'OTU4')
+            self.assertEqual(
+                link['org-openroadm-common-network:link-type'], 'OTN-LINK')
+            self.assertEqual(
+                link['org-openroadm-otn-network-topology:available-bandwidth'], 100000)
+            self.assertEqual(
+                link['org-openroadm-otn-network-topology:used-bandwidth'], 0)
+            self.assertIn(
+                link['org-openroadm-common-network:opposite-link'], listLinkId)
+
+# test service-create for 100GE service from spdrA to spdrC via spdrB
+    def test_46_create_100GE_service_ABC(self):
+        self.cr_serv_sample_data["input"]["service-name"] = "service-100GE-ABC"
+        self.cr_serv_sample_data["input"]["connection-type"] = "service"
+        self.cr_serv_sample_data["input"]["service-a-end"]["service-format"] = "Ethernet"
+        self.cr_serv_sample_data["input"]["service-a-end"]["node-id"] = "SPDR-SA1"
+        self.cr_serv_sample_data["input"]["service-a-end"]["clli"] = "NodeSA"
+        del self.cr_serv_sample_data["input"]["service-a-end"]["otu-service-rate"]
+        self.cr_serv_sample_data["input"]["service-a-end"]["tx-direction"]["port"]["port-device-name"] = "SPDR-SA1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-a-end"]["tx-direction"]["port"]["port-name"] = "XPDR2-CLIENT1"
+        self.cr_serv_sample_data["input"]["service-a-end"]["rx-direction"]["port"]["port-device-name"] = "SPDR-SA1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-a-end"]["rx-direction"]["port"]["port-name"] = "XPDR2-CLIENT1"
+        self.cr_serv_sample_data["input"]["service-z-end"]["service-format"] = "Ethernet"
+        self.cr_serv_sample_data["input"]["service-z-end"]["node-id"] = "SPDR-SC1"
+        self.cr_serv_sample_data["input"]["service-z-end"]["clli"] = "NodeSC"
+        del self.cr_serv_sample_data["input"]["service-z-end"]["otu-service-rate"]
+        self.cr_serv_sample_data["input"]["service-z-end"]["tx-direction"]["port"]["port-device-name"] = "SPDR-SC1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-z-end"]["tx-direction"]["port"]["port-name"] = "XPDR2-CLIENT1"
+        self.cr_serv_sample_data["input"]["service-z-end"]["rx-direction"]["port"]["port-device-name"] = "SPDR-SC1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-z-end"]["rx-direction"]["port"]["port-name"] = "XPDR2-CLIENT1"
+
+        response = test_utils.service_create_request(self.cr_serv_sample_data)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('PCE calculation in progress',
+                      res['output']['configuration-response-common']['response-message'])
+        time.sleep(self.WAITING)
+
+    def test_47_get_100GE_service_ABC(self):
+        response = test_utils.get_service_list_request(
+            "services/service-100GE-ABC")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertEqual(
+            res['services'][0]['administrative-state'], 'inService')
+        self.assertEqual(
+            res['services'][0]['service-name'], 'service-100GE-ABC')
+        self.assertEqual(
+            res['services'][0]['connection-type'], 'service')
+        self.assertEqual(
+            res['services'][0]['lifecycle-state'], 'planned')
+        time.sleep(2)
+
+    def test_48_check_interface_100GE_CLIENT_spdra(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SA1", "interface/XPDR2-CLIENT1-ETHERNET")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict = {'name': 'XPDR2-CLIENT1-ETHERNET',
+                      'administrative-state': 'inService',
+                      'supporting-circuit-pack-name': 'CP2-QSFP1',
+                      'type': 'org-openroadm-interfaces:ethernetCsmacd',
+                      'supporting-port': 'CP2-QSFP1-P1'
+                      }
+        self.assertDictEqual(dict(input_dict, **res['interface'][0]),
+                             res['interface'][0])
+        self.assertDictEqual(
+            {u'speed': 100000,
+             u'fec': 'off'},
+            res['interface'][0]['org-openroadm-ethernet-interfaces:ethernet'])
+
+    def test_49_check_interface_ODU4_CLIENT_spdra(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SA1", "interface/XPDR2-CLIENT1-ODU4")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR2-CLIENT1-ODU4',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP2-QSFP1',
+                        'supporting-interface': 'XPDR2-CLIENT1-ETHERNET',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP2-QSFP1-P1'}
+        input_dict_2 = {
+            'odu-function': 'org-openroadm-otn-common-types:ODU-TTP-CTP',
+            'rate': 'org-openroadm-otn-common-types:ODU4',
+            'monitoring-mode': 'terminated'}
+
+        self.assertDictEqual(dict(input_dict_1, **res['interface'][0]),
+                             res['interface'][0])
+        self.assertDictEqual(dict(input_dict_2,
+                                  **res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']),
+                             res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'])
+        self.assertDictEqual(
+            {u'payload-type': u'07', u'exp-payload-type': u'07'},
+            res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
+
+    def test_50_check_interface_ODU4_NETWORK_spdra(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SA1", "interface/XPDR2-NETWORK1-ODU4")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR2-NETWORK1-ODU4',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP5-CFP',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP5-CFP-P1'}
+        input_dict_2 = {
+            'odu-function': 'org-openroadm-otn-common-types:ODU-CTP',
+            'rate': 'org-openroadm-otn-common-types:ODU4',
+            'monitoring-mode': 'monitored'}
+
+        self.assertDictEqual(dict(input_dict_1, **res['interface'][0]),
+                             res['interface'][0])
+        self.assertDictEqual(dict(input_dict_2,
+                                  **res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']),
+                             res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'])
+        self.assertDictEqual(
+            {u'payload-type': u'07', u'exp-payload-type': u'07'},
+            res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
+
+    def test_51_check_ODU4_connection_spdra(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SA1",
+            "odu-connection/XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {
+            'connection-name':
+            'XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4',
+            'direction': 'bidirectional'
+        }
+
+        self.assertDictEqual(dict(input_dict_1, **res['odu-connection'][0]),
+                             res['odu-connection'][0])
+        self.assertDictEqual({u'dst-if': u'XPDR2-NETWORK1-ODU4'},
+                             res['odu-connection'][0]['destination'])
+        self.assertDictEqual({u'src-if': u'XPDR2-CLIENT1-ODU4'},
+                             res['odu-connection'][0]['source'])
+
+    def test_52_check_interface_100GE_CLIENT_spdrc(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SC1", "interface/XPDR2-CLIENT1-ETHERNET")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict = {'name': 'XPDR2-CLIENT1-ETHERNET',
+                      'administrative-state': 'inService',
+                      'supporting-circuit-pack-name': 'CP2-QSFP1',
+                      'type': 'org-openroadm-interfaces:ethernetCsmacd',
+                      'supporting-port': 'CP2-QSFP1-P1'
+                      }
+        self.assertDictEqual(dict(input_dict, **res['interface'][0]),
+                             res['interface'][0])
+        self.assertDictEqual(
+            {u'speed': 100000,
+             u'fec': 'off'},
+            res['interface'][0]['org-openroadm-ethernet-interfaces:ethernet'])
+
+    def test_53_check_interface_ODU4_CLIENT_spdrc(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SC1", "interface/XPDR2-CLIENT1-ODU4")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR2-CLIENT1-ODU4',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP2-QSFP1',
+                        'supporting-interface': 'XPDR2-CLIENT1-ETHERNET',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP2-QSFP1-P1'}
+        input_dict_2 = {
+            'odu-function': 'org-openroadm-otn-common-types:ODU-TTP-CTP',
+            'rate': 'org-openroadm-otn-common-types:ODU4',
+            'monitoring-mode': 'terminated'}
+
+        self.assertDictEqual(dict(input_dict_1, **res['interface'][0]),
+                             res['interface'][0])
+        self.assertDictEqual(dict(input_dict_2,
+                                  **res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']),
+                             res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'])
+        self.assertDictEqual(
+            {u'payload-type': u'07', u'exp-payload-type': u'07'},
+            res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
+
+    def test_54_check_interface_ODU4_NETWORK_spdrc(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SC1", "interface/XPDR2-NETWORK1-ODU4")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR2-NETWORK1-ODU4',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP5-CFP',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP5-CFP-P1'}
+        input_dict_2 = {
+            'odu-function': 'org-openroadm-otn-common-types:ODU-CTP',
+            'rate': 'org-openroadm-otn-common-types:ODU4',
+            'monitoring-mode': 'monitored'}
+
+        self.assertDictEqual(dict(input_dict_1, **res['interface'][0]),
+                             res['interface'][0])
+        self.assertDictEqual(dict(input_dict_2,
+                                  **res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']),
+                             res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'])
+        self.assertDictEqual(
+            {u'payload-type': u'07', u'exp-payload-type': u'07'},
+            res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
+
+    def test_55_check_ODU4_connection_spdrc(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SC1",
+            "odu-connection/XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {
+            'connection-name':
+            'XPDR2-CLIENT1-ODU4-x-XPDR2-NETWORK1-ODU4',
+            'direction': 'bidirectional'
+        }
+
+        self.assertDictEqual(dict(input_dict_1, **res['odu-connection'][0]),
+                             res['odu-connection'][0])
+        self.assertDictEqual({u'dst-if': u'XPDR2-NETWORK1-ODU4'},
+                             res['odu-connection'][0]['destination'])
+        self.assertDictEqual({u'src-if': u'XPDR2-CLIENT1-ODU4'},
+                             res['odu-connection'][0]['source'])
+
+    def test_56_check_interface_ODU4_NETWORK1_spdrb(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SB1", "interface/XPDR2-NETWORK1-ODU4")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR2-NETWORK1-ODU4',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP5-CFP',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP5-CFP-P1'}
+        input_dict_2 = {
+            'odu-function': 'org-openroadm-otn-common-types:ODU-CTP',
+            'rate': 'org-openroadm-otn-common-types:ODU4',
+            'monitoring-mode': 'monitored'}
+
+        self.assertDictEqual(dict(input_dict_1, **res['interface'][0]),
+                             res['interface'][0])
+        self.assertDictEqual(dict(input_dict_2,
+                                  **res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']),
+                             res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'])
+        self.assertDictEqual(
+            {u'payload-type': u'07', u'exp-payload-type': u'07'},
+            res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
+
+    def test_57_check_interface_ODU4_NETWORK2_spdrb(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SB1", "interface/XPDR2-NETWORK2-ODU4")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR2-NETWORK1-ODU4',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP6-CFP',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP6-CFP-P1'}
+        input_dict_2 = {
+            'odu-function': 'org-openroadm-otn-common-types:ODU-CTP',
+            'rate': 'org-openroadm-otn-common-types:ODU4',
+            'monitoring-mode': 'monitored'}
+
+        self.assertDictEqual(dict(input_dict_1, **res['interface'][0]),
+                             res['interface'][0])
+        self.assertDictEqual(dict(input_dict_2,
+                                  **res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']),
+                             res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'])
+        self.assertDictEqual(
+            {u'payload-type': u'07', u'exp-payload-type': u'07'},
+            res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
+
+    def test_58_check_ODU4_connection_spdrb(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SB1",
+            "odu-connection/XPDR2-NETWORK1-ODU4-x-XPDR2-NETWORK2-ODU4")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {
+            'connection-name':
+            'XPDR2-NETWORK1-ODU4-x-XPDR2-NETWORK2-ODU4',
+            'direction': 'bidirectional'
+        }
+
+        self.assertDictEqual(dict(input_dict_1, **res['odu-connection'][0]),
+                             res['odu-connection'][0])
+        self.assertDictEqual({u'dst-if': u'XPDR2-NETWORK2-ODU4'},
+                             res['odu-connection'][0]['destination'])
+        self.assertDictEqual({u'src-if': u'XPDR2-NETWORK1-ODU4'},
+                             res['odu-connection'][0]['source'])
+
+    def test_59_check_otn_topo_links(self):
+        response = test_utils.get_otn_topo_request()
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        nb_links = len(res['network'][0]['ietf-network-topology:link'])
+        self.assertEqual(nb_links, 4)
+        for link in res['network'][0]['ietf-network-topology:link']:
+            self.assertEqual(
+                    link['org-openroadm-otn-network-topology:available-bandwidth'], 0)
+            self.assertEqual(
+                    link['org-openroadm-otn-network-topology:used-bandwidth'], 100000)
+
+    def test_60_delete_service_100GE_ABC(self):
+        response = test_utils.service_delete_request("service-100GE-ABC")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Renderer service delete in progress',
+                      res['output']['configuration-response-common']['response-message'])
+        time.sleep(self.WAITING)
+
+    def test_61_check_service_list(self):
+        response = test_utils.get_service_list_request("")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertEqual(len(res['service-list']['services']), 2)
+        time.sleep(2)
+
+    def test_62_check_no_ODU4_connection_spdra(self):
+        response = test_utils.check_netconf_node_request("SPDR-SA1", "")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertNotIn(['odu-connection'][0], res['org-openroadm-device'])
+        time.sleep(1)
+
+    def test_63_check_no_interface_ODU4_NETWORK_spdra(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SA1", "interface/XPDR2-NETWORK1-ODU4")
+        self.assertEqual(response.status_code, requests.codes.conflict)
+
+    def test_64_check_no_interface_ODU4_CLIENT_spdra(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SA1", "interface/XPDR2-CLIENT1-ODU4")
+        self.assertEqual(response.status_code, requests.codes.conflict)
+
+    def test_65_check_no_interface_100GE_CLIENT_spdra(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SA1", "interface/XPDR2-CLIENT1-ETHERNET")
+        self.assertEqual(response.status_code, requests.codes.conflict)
+
+    def test_66_check_otn_topo_links(self):
+        self.test_45_check_otn_topo_otu4_links()
+
+    def test_67_delete_OCH_OTU4_service_AB(self):
+        response = test_utils.service_delete_request("service-OCH-OTU4-AB")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Renderer service delete in progress',
+                      res['output']['configuration-response-common']['response-message'])
+        time.sleep(self.WAITING)
+
+    def test_68_delete_OCH_OTU4_service_BC(self):
+        response = test_utils.service_delete_request("service-OCH-OTU4-BC")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Renderer service delete in progress',
+                      res['output']['configuration-response-common']['response-message'])
+        time.sleep(self.WAITING)
+
+    def test_69_get_no_service(self):
+        response = test_utils.get_service_list_request("")
+        self.assertEqual(response.status_code, requests.codes.conflict)
+        res = response.json()
+        self.assertIn(
+            {"error-type": "application", "error-tag": "data-missing",
+             "error-message": "Request could not be completed because the relevant data model content does not exist"},
+            res['errors']['error'])
+        time.sleep(1)
+
+    def test_70_check_no_interface_OTU4_spdra(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SA1", "interface/XPDR2-NETWORK1-OTU")
+        self.assertEqual(response.status_code, requests.codes.conflict)
+
+    def test_71_check_no_interface_OCH_spdra(self):
+        response = test_utils.check_netconf_node_request(
+            "SPDR-SA1", "interface/XPDR2-NETWORK1-761:768")
+        self.assertEqual(response.status_code, requests.codes.conflict)
+
+    def test_72_getLinks_OtnTopology(self):
+        response = test_utils.get_otn_topo_request()
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertNotIn('ietf-network-topology:link', res['network'][0])
+
+    def test_73_check_openroadm_topo_spdra(self):
+        response = test_utils.get_ordm_topo_request("node/SPDR-SA1-XPDR2")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        tp = res['node'][0]['ietf-network-topology:termination-point'][0]
+        self.assertEqual('XPDR2-NETWORK1', tp['tp-id'])
+        self.assertNotIn('wavelength', dict.keys(
+            tp[u'org-openroadm-network-topology:xpdr-network-attributes']))
+        time.sleep(3)
+
+    def test_74_check_openroadm_topo_ROADMB_SRG1(self):
+        response = test_utils.get_ordm_topo_request("node/ROADM-B1-SRG1")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        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[95], 255, "Lambda 1 should be available")
+        self.assertEqual(freq_map_array[94], 255, "Lambda 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':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:pp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[95], 255, "Lambda 1 should be available")
+            if ele['tp-id'] == 'SRG1-PP2-TXRX':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:pp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[94], 255, "Lambda 1 should be available")
+        time.sleep(3)
+
+    def test_75_check_openroadm_topo_ROADMB_DEG1(self):
+        response = test_utils.get_ordm_topo_request("node/ROADM-B1-DEG1")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        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[95], 255, "Lambda 1 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':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:ctp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[95], 255, "Lambda 1 should be available")
+            if ele['tp-id'] == 'DEG1-TTP-TXRX':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:tx-ttp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[95], 255, "Lambda 1 should be available")
+        time.sleep(3)
+
+    def test_76_check_openroadm_topo_ROADMB_DEG2(self):
+        response = test_utils.get_ordm_topo_request("node/ROADM-B1-DEG2")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        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[95], 255, "Lambda 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':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:ctp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[95], 255, "Lambda 1 should be available")
+            if ele['tp-id'] == 'DEG2-TTP-TXRX':
+                freq_map = base64.b64decode(
+                    ele['org-openroadm-network-topology:tx-ttp-attributes']['avail-freq-maps'][0]['freq-map'])
+                freq_map_array = [int(x) for x in freq_map]
+                self.assertEqual(freq_map_array[95], 255, "Lambda 1 should be available")
+        time.sleep(3)
+
+    def test_77_disconnect_xponders_from_roadm(self):
+        url = "{}/config/ietf-network:networks/network/openroadm-topology/ietf-network-topology:link/"
+        response = test_utils.get_ordm_topo_request("")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        links = res['network'][0]['ietf-network-topology:link']
+        for link in links:
+            if ((link["org-openroadm-common-network:link-type"] == "XPONDER-OUTPUT" or
+                    link["org-openroadm-common-network:link-type"] == "XPONDER-INPUT")
+                and ('SPDR-SB1' in link['link-id'] or 'ROADM-B1' in link['link-id'])):
+                link_name = link["link-id"]
+                response = test_utils.delete_request(url+link_name)
+                self.assertEqual(response.status_code, requests.codes.ok)
+
+    def test_78_disconnect_spdrB(self):
+        response = test_utils.unmount_device("SPDR-SB1")
+        self.assertEqual(response.status_code, requests.codes.ok,
+                         test_utils.CODE_SHOULD_BE_200)
+
+    def test_79_disconnect_roadmB(self):
+        response = test_utils.unmount_device("ROADM-B1")
+        self.assertEqual(response.status_code, requests.codes.ok,
+                         test_utils.CODE_SHOULD_BE_200)
+
+    def test_80_remove_roadm_to_roadm_links(self):
+        url = "{}/config/ietf-network:networks/network/openroadm-topology/ietf-network-topology:link/"
+        response = test_utils.get_ordm_topo_request("")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        links = res['network'][0]['ietf-network-topology:link']
+        for link in links:
+            if (link["org-openroadm-common-network:link-type"] == "ROADM-TO-ROADM"
+                and 'ROADM-B1' in link['link-id']):
+                link_name = link["link-id"]
+                response = test_utils.delete_request(url+link_name)
+                self.assertEqual(response.status_code, requests.codes.ok)
+
+    def test_81_add_omsAttributes_ROADMA_ROADMC(self):
+        # Config ROADMA-ROADMC oms-attributes
+        data = {"span": {
+            "auto-spanloss": "true",
+            "spanloss-base": 11.4,
+            "spanloss-current": 12,
+            "engineered-spanloss": 12.2,
+            "link-concatenation": [{
+                "SRLG-Id": 0,
+                "fiber-type": "smf",
+                "SRLG-length": 100000,
+                "pmd": 0.5}]}}
+        response = test_utils.add_oms_attr_request(
+            "ROADM-A1-DEG2-DEG2-TTP-TXRXtoROADM-C1-DEG1-DEG1-TTP-TXRX", data)
+        self.assertEqual(response.status_code, requests.codes.created)
+
+    def test_82_add_omsAttributes_ROADMC_ROADMA(self):
+        # Config ROADMC-ROADMA oms-attributes
+        data = {"span": {
+            "auto-spanloss": "true",
+            "spanloss-base": 11.4,
+            "spanloss-current": 12,
+            "engineered-spanloss": 12.2,
+            "link-concatenation": [{
+                "SRLG-Id": 0,
+                "fiber-type": "smf",
+                "SRLG-length": 100000,
+                "pmd": 0.5}]}}
+        response = test_utils.add_oms_attr_request(
+            "ROADM-C1-DEG1-DEG1-TTP-TXRXtoROADM-A1-DEG2-DEG2-TTP-TXRX", data)
+        self.assertEqual(response.status_code, requests.codes.created)
+
+    def test_83_create_OCH_OTU4_service_AC(self):
+        self.cr_serv_sample_data["input"]["service-name"] = "service-OCH-OTU4-AC"
+        self.cr_serv_sample_data["input"]["connection-type"] = "infrastructure"
+        self.cr_serv_sample_data["input"]["service-a-end"]["service-rate"] = "100"
+        self.cr_serv_sample_data["input"]["service-a-end"]["service-format"] = "OTU"
+        self.cr_serv_sample_data["input"]["service-a-end"]["tx-direction"]["port"]["port-device-name"] = "SPDR-SA1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-a-end"]["tx-direction"]["port"]["port-name"] = "XPDR2-NETWORK1"
+        self.cr_serv_sample_data["input"]["service-a-end"]["rx-direction"]["port"]["port-device-name"] = "SPDR-SA1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-a-end"]["rx-direction"]["port"]["port-name"] = "XPDR2-NETWORK1"
+        self.cr_serv_sample_data["input"]["service-a-end"]["otu-service-rate"] = "org-openroadm-otn-common-types:OTU4"
+        self.cr_serv_sample_data["input"]["service-z-end"]["service-rate"] = "100"
+        self.cr_serv_sample_data["input"]["service-z-end"]["service-format"] = "OTU"
+        self.cr_serv_sample_data["input"]["service-z-end"]["tx-direction"]["port"]["port-device-name"] = "SPDR-SC1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-z-end"]["tx-direction"]["port"]["port-name"] = "XPDR2-NETWORK1"
+        self.cr_serv_sample_data["input"]["service-z-end"]["rx-direction"]["port"]["port-device-name"] = "SPDR-SC1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-z-end"]["rx-direction"]["port"]["port-name"] = "XPDR2-NETWORK1"
+        self.cr_serv_sample_data["input"]["service-z-end"]["otu-service-rate"] = "org-openroadm-otn-common-types:OTU4"
+        response = test_utils.service_create_request(self.cr_serv_sample_data)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('PCE calculation in progress',
+                      res['output']['configuration-response-common']['response-message'])
+        time.sleep(self.WAITING)
+
+    def test_84_get_OCH_OTU4_service_AC(self):
+        response = test_utils.get_service_list_request(
+            "services/service-OCH-OTU4-AC")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertEqual(
+            res['services'][0]['administrative-state'], 'inService')
+        self.assertEqual(
+            res['services'][0]['service-name'], 'service-OCH-OTU4-AC')
+        self.assertEqual(
+            res['services'][0]['connection-type'], 'infrastructure')
+        self.assertEqual(
+            res['services'][0]['lifecycle-state'], 'planned')
+        time.sleep(2)
+
+# test service-create for 100GE service from spdrA to spdrC via spdrB
+    def test_85_create_100GE_service_AC(self):
+        self.cr_serv_sample_data["input"]["service-name"] = "service-100GE-AC"
+        self.cr_serv_sample_data["input"]["connection-type"] = "service"
+        self.cr_serv_sample_data["input"]["service-a-end"]["service-format"] = "Ethernet"
+        self.cr_serv_sample_data["input"]["service-a-end"]["node-id"] = "SPDR-SA1"
+        self.cr_serv_sample_data["input"]["service-a-end"]["clli"] = "NodeSA"
+        del self.cr_serv_sample_data["input"]["service-a-end"]["otu-service-rate"]
+        self.cr_serv_sample_data["input"]["service-a-end"]["tx-direction"]["port"]["port-device-name"] = "SPDR-SA1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-a-end"]["tx-direction"]["port"]["port-name"] = "XPDR2-CLIENT1"
+        self.cr_serv_sample_data["input"]["service-a-end"]["rx-direction"]["port"]["port-device-name"] = "SPDR-SA1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-a-end"]["rx-direction"]["port"]["port-name"] = "XPDR2-CLIENT1"
+        self.cr_serv_sample_data["input"]["service-z-end"]["service-format"] = "Ethernet"
+        self.cr_serv_sample_data["input"]["service-z-end"]["node-id"] = "SPDR-SC1"
+        self.cr_serv_sample_data["input"]["service-z-end"]["clli"] = "NodeSC"
+        del self.cr_serv_sample_data["input"]["service-z-end"]["otu-service-rate"]
+        self.cr_serv_sample_data["input"]["service-z-end"]["tx-direction"]["port"]["port-device-name"] = "SPDR-SC1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-z-end"]["tx-direction"]["port"]["port-name"] = "XPDR2-CLIENT1"
+        self.cr_serv_sample_data["input"]["service-z-end"]["rx-direction"]["port"]["port-device-name"] = "SPDR-SC1-XPDR2"
+        self.cr_serv_sample_data["input"]["service-z-end"]["rx-direction"]["port"]["port-name"] = "XPDR2-CLIENT1"
+
+        response = test_utils.service_create_request(self.cr_serv_sample_data)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('PCE calculation in progress',
+                      res['output']['configuration-response-common']['response-message'])
+        time.sleep(self.WAITING)
+
+    def test_86_get_100GE_service_AC(self):
+        response = test_utils.get_service_list_request("services/service-100GE-AC")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertEqual(
+            res['services'][0]['administrative-state'], 'inService')
+        self.assertEqual(
+            res['services'][0]['service-name'], 'service-100GE-AC')
+        self.assertEqual(
+            res['services'][0]['connection-type'], 'service')
+        self.assertEqual(
+            res['services'][0]['lifecycle-state'], 'planned')
+        time.sleep(2)
+
+    def test_87_check_configuration_spdra(self):
+        self.test_48_check_interface_100GE_CLIENT_spdra()
+        self.test_49_check_interface_ODU4_CLIENT_spdra()
+        self.test_50_check_interface_ODU4_NETWORK_spdra()
+        self.test_51_check_ODU4_connection_spdra()
+
+
+    def test_88_check_configuration_spdrc(self):
+        self.test_52_check_interface_100GE_CLIENT_spdrc()
+        self.test_53_check_interface_ODU4_CLIENT_spdrc()
+        self.test_54_check_interface_ODU4_NETWORK_spdrc()
+        self.test_55_check_ODU4_connection_spdrc()
+
+    def test_89_check_otn_topo_links(self):
+        response = test_utils.get_otn_topo_request()
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        nb_links = len(res['network'][0]['ietf-network-topology:link'])
+        self.assertEqual(nb_links, 2)
+        for link in res['network'][0]['ietf-network-topology:link']:
+            self.assertEqual(
+                link['org-openroadm-otn-network-topology:available-bandwidth'], 0)
+            self.assertEqual(
+                link['org-openroadm-otn-network-topology:used-bandwidth'], 100000)
+
+    def test_90_delete_100GE_service_AC(self):
+        response = test_utils.service_delete_request("service-100GE-AC")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Renderer service delete in progress',
+                      res['output']['configuration-response-common']['response-message'])
+        time.sleep(self.WAITING)
+
+    def test_91_check_service_list(self):
+        response = test_utils.get_service_list_request("")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertEqual(len(res['service-list']['services']), 1)
+        time.sleep(2)
+
+    def test_92_check_configuration_spdra(self):
+        self.test_62_check_no_ODU4_connection_spdra()
+        self.test_63_check_no_interface_ODU4_NETWORK_spdra()
+        self.test_64_check_no_interface_ODU4_CLIENT_spdra()
+        self.test_65_check_no_interface_100GE_CLIENT_spdra()
+
+    def test_93_check_otn_topo_links(self):
+        response = test_utils.get_otn_topo_request()
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        nb_links = len(res['network'][0]['ietf-network-topology:link'])
+        self.assertEqual(nb_links, 2)
+        for link in res['network'][0]['ietf-network-topology:link']:
+            self.assertEqual(
+                link['org-openroadm-otn-network-topology:available-bandwidth'], 100000)
+            self.assertEqual(
+                link['org-openroadm-otn-network-topology:used-bandwidth'], 0)
+
+    def test_94_disconnect_xponders_from_roadm(self):
+        url = "{}/config/ietf-network:networks/network/openroadm-topology/ietf-network-topology:link/"
+        response = test_utils.get_ordm_topo_request("")
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        links = res['network'][0]['ietf-network-topology:link']
+        for link in links:
+            if (link["org-openroadm-common-network:link-type"] == "XPONDER-OUTPUT" or
+                    link["org-openroadm-common-network:link-type"] == "XPONDER-INPUT"):
+                link_name = link["link-id"]
+                response = test_utils.delete_request(url+link_name)
+                self.assertEqual(response.status_code, requests.codes.ok)
+
+    def test_95_disconnect_spdrA(self):
+        response = test_utils.unmount_device("SPDR-SA1")
+        self.assertEqual(response.status_code, requests.codes.ok,
+                         test_utils.CODE_SHOULD_BE_200)
+
+    def test_96_disconnect_spdrC(self):
+        response = test_utils.unmount_device("SPDR-SC1")
+        self.assertEqual(response.status_code, requests.codes.ok,
+                         test_utils.CODE_SHOULD_BE_200)
+
+    def test_97_disconnect_roadmA(self):
+        response = test_utils.unmount_device("ROADM-A1")
+        self.assertEqual(response.status_code, requests.codes.ok,
+                         test_utils.CODE_SHOULD_BE_200)
+
+    def test_98_disconnect_roadmC(self):
+        response = test_utils.unmount_device("ROADM-C1")
+        self.assertEqual(response.status_code, requests.codes.ok,
+                         test_utils.CODE_SHOULD_BE_200)
+
+
+if __name__ == "__main__":
+    unittest.main(verbosity=2)
index e361ea53f9416ae4e0a003f3b4edcd1fc5197fa1..cb7294af65d0847262f2875b348381fda5155481 100644 (file)
@@ -24,6 +24,7 @@ SIMS = {
     ('xpdrc', '2.2.1'): {'port': '17844', 'configfile': 'oper-XPDRC.xml', 'logfile': 'xpdrc-221.log'},
     ('spdra', '2.2.1'): {'port': '17845', 'configfile': 'oper-SPDRA.xml', 'logfile': 'spdra-221.log'},
     ('spdrc', '2.2.1'): {'port': '17846', 'configfile': 'oper-SPDRC.xml', 'logfile': 'spdrc-221.log'},
+    ('spdrb', '2.2.1'): {'port': '17848', 'configfile': 'oper-SPDRB.xml', 'logfile': 'spdrb-221.log'},
     ('xpdra', '7.1'): {'port': '17850', 'configfile': 'oper-XPDRA.xml', 'logfile': 'xpdra-71.log'},
     ('roadma', '7.1'): {'port': '17851', 'configfile': 'oper-ROADMA.xml', 'logfile': 'roadma-71.log'},
     ('roadmb', '7.1'): {'port': '17852', 'configfile': 'oper-ROADMB.xml', 'logfile': 'roadmb-71.log'},