adapt functional tests to SH-Renderer new OTN API 36/90436/18
authorBalagangadhar Bathula <bb4341@att.com>
Fri, 12 Jun 2020 22:33:04 +0000 (00:33 +0200)
committerguillaume.lambert <guillaume.lambert@orange.com>
Mon, 6 Jul 2020 09:16:10 +0000 (11:16 +0200)
 - New tests for validating WDM/OTN service
 - Renderer service implementation tests
 - update docker source profile

TODO:
 - Tests for service delete (depends on OTN tpce?)

JIRA: TRNSPRTPCE-194
Change-Id: I88b6961f2e4bf7732358d420576cbf29dff8b402

tests/Xtesting/DockerSims/dockercmd_profile.sh
tests/sample_configs/openroadm/2.2.1/oper-SPDRC.xml [new file with mode: 0644]
tests/transportpce_tests/2.2.1/simulators.py
tests/transportpce_tests/2.2.1/test_otn_sh_renderer.py [new file with mode: 0644]
tox.ini

index 64692f48a07b23f577e56fa99f4bf0a84435c30f..48f473c600f04fd62886a0bdf1c92a5678ad976a 100755 (executable)
@@ -23,6 +23,7 @@ IMAGE221_LIST="40:xpdra-2.2.1:2.2.1/oper-XPDRA.xml
 43:roadmc-2.2.1:2.2.1/oper-ROADMC.xml
 44:xpdrc-2.2.1:2.2.1/oper-XPDRC.xml
 45:spdra-2.2.1:2.2.1/oper-SPDRA.xml
+46:spdrc-2.2.1:2.2.1/oper-SPDRC.xml
 25:spdra_no_interface-2.2.1:2.2.1/oper-SPDRA_no_interface.xml
 "
 
diff --git a/tests/sample_configs/openroadm/2.2.1/oper-SPDRC.xml b/tests/sample_configs/openroadm/2.2.1/oper-SPDRC.xml
new file mode 100644 (file)
index 0000000..62d592c
--- /dev/null
@@ -0,0 +1,3901 @@
+<?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>OPENROADM</name>
+      </stream>
+    </streams>
+  </netconf>
+  <org-openroadm-device xmlns="http://org/openroadm/device">
+    <info>
+      <node-id>SPDR-SC1</node-id>
+      <node-number>1</node-number>
+      <node-type>xpdr</node-type>
+      <clli>NodeSC</clli>
+      <vendor>vendorC</vendor>
+      <model>universal-switchponder</model>
+      <serial-id>us-1234</serial-id>
+      <ipAddress>1.2.3.6</ipAddress>
+      <prefix-length>24</prefix-length>
+      <defaultGateway>1.2.3.6</defaultGateway>
+      <source>static</source>
+      <current-ipAddress>1.2.3.6</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>VendorC</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>
+    <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>
+    <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>
+    <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>
+    <interface>
+      <name>XPDR2-NETWORK1-ODU4</name>
+      <operational-state>inService</operational-state>
+      <administrative-state>inService</administrative-state>
+      <supporting-interface>XPDR2-NETWORK1-OTU4</supporting-interface>
+      <supporting-circuit-pack-name>CP2-QSFP1</supporting-circuit-pack-name>
+      <supporting-port>CP2-QSFP1-P1</supporting-port>
+      <type xmlns:x="http://org/openroadm/interfaces">x:otnOdu</type>
+      <odu xmlns="http://org/openroadm/otn-odu-interfaces">
+        <accepted-dapi />
+        <odu-function xmlns:x="http://org/openroadm/otn-common-types">x:ODU-TTP</odu-function>
+        <tx-dapi />
+        <tx-sapi />
+        <accepted-sapi />
+        <accepted-operator />
+        <rate xmlns:x="http://org/openroadm/otn-common-types">x:ODU4</rate>
+        <monitoring-mode>terminated</monitoring-mode>
+        <opu>
+          <payload-type>21</payload-type>
+          <exp-payload-type>21</exp-payload-type>
+          <rx-payload-type>21</rx-payload-type>
+          <msi>
+            <tx-msi>
+              <trib-slot>1</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>2</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>3</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>4</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>5</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>6</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>7</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>8</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>9</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>10</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>11</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>12</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>13</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>14</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>15</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>16</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>17</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>18</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>19</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>20</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>21</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>22</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>23</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>24</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>25</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>26</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>27</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>28</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>29</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>30</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>31</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>32</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>33</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>34</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>35</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>36</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>37</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>38</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>39</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>40</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>41</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>42</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>43</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>44</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>45</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>46</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>47</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>48</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>49</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>50</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>51</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>52</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>53</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>54</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>55</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>56</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>57</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>58</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>59</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>60</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>61</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>62</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>63</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>64</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>65</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>66</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>67</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>68</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>69</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>70</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>71</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>72</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>73</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>74</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>75</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>76</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>77</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>78</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>79</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <tx-msi>
+              <trib-slot>80</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </tx-msi>
+            <exp-msi>
+              <trib-slot>1</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>2</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>3</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>4</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>5</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>6</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>7</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>8</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>9</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>10</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>11</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>12</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>13</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>14</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>15</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>16</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>17</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>18</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>19</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>20</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>21</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>22</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>23</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>24</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>25</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>26</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>27</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>28</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>29</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>30</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>31</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>32</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>33</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>34</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>35</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>36</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>37</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>38</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>39</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>40</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>41</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>42</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>43</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>44</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>45</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>46</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>47</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>48</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>49</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>50</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>51</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>52</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>53</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>54</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>55</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>56</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>57</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>58</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>59</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>60</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>61</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>62</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>63</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>64</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>65</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>66</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>67</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>68</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>69</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>70</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>71</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>72</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>73</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>74</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>75</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>76</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>77</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>78</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>79</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <exp-msi>
+              <trib-slot>80</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </exp-msi>
+            <rx-msi>
+              <trib-slot>1</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>2</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>3</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>4</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>5</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>6</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>7</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>8</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>9</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>10</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>11</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>12</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>13</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>14</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>15</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>16</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>17</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>18</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>19</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>20</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>21</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>22</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>23</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>24</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>25</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>26</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>27</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>28</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>29</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>30</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>31</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>32</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>33</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>34</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>35</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>36</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>37</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>38</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>39</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>40</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>41</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>42</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>43</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>44</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>45</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>46</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>47</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>48</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>49</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>50</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>51</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>52</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>53</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>54</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>55</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>56</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>57</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>58</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>59</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>60</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>61</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>62</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>63</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>64</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>65</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>66</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>67</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>68</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>69</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>70</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>71</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:ODTU4.ts-Allocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>72</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>73</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>74</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>75</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>76</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>77</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>78</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>79</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+            <rx-msi>
+              <trib-slot>80</trib-slot>
+              <trib-port>1</trib-port>
+              <odtu-type xmlns:x="http://org/openroadm/otn-common-types">x:unallocated</odtu-type>
+              <trib-port-payload />
+            </rx-msi>
+          </msi>
+        </opu>
+      </odu>
+    </interface>
+    <interface>
+      <name>XPDR2-NETWORK1-OTU4</name>
+      <operational-state>inService</operational-state>
+      <administrative-state>inService</administrative-state>
+      <supporting-interface>XPDR2-NETWORK1-1</supporting-interface>
+      <supporting-circuit-pack-name>CP2-QSFP1</supporting-circuit-pack-name>
+      <supporting-port>CP2-QSFP1-P1</supporting-port>
+      <type xmlns:x="http://org/openroadm/interfaces">x:otnOtu</type>
+      <otu xmlns="http://org/openroadm/otn-otu-interfaces">
+        <accepted-dapi />
+        <accepted-operator />
+        <accepted-sapi />
+        <rate xmlns:x="http://org/openroadm/otn-common-types">x:OTU4</rate>
+        <fec>scfec</fec>
+      </otu>
+    </interface>
+    <interface>
+      <name>XPDR2-NETWORK1-1</name>
+      <operational-state>inService</operational-state>
+      <administrative-state>inService</administrative-state>
+      <supporting-circuit-pack-name>CP2-QSFP1</supporting-circuit-pack-name>
+      <supporting-port>CP2-QSFP1-P1</supporting-port>
+      <och xmlns="http://org/openroadm/optical-channel-interfaces">
+        <width>50.0</width>
+        <modulation-format>dp-qpsk</modulation-format>
+        <transmit-power>-5.0</transmit-power>
+        <rate xmlns:x="http://org/openroadm/common-types">x:R100G</rate>
+        <frequency>196.1</frequency>
+      </och>
+      <type xmlns:x="http://org/openroadm/interfaces">x:opticalChannel</type>
+    </interface>
+    <interface>
+      <name>XPDR2-NETWORK2-OTU4</name>
+      <operational-state>inService</operational-state>
+      <administrative-state>inService</administrative-state>
+      <supporting-interface>XPDR2-NETWORK2-2</supporting-interface>
+      <supporting-circuit-pack-name>CP2-QSFP2</supporting-circuit-pack-name>
+      <supporting-port>CP2-QSFP2-P1</supporting-port>
+      <type xmlns:x="http://org/openroadm/interfaces">x:otnOtu</type>
+      <otu xmlns="http://org/openroadm/otn-otu-interfaces">
+        <accepted-dapi />
+        <accepted-operator />
+        <accepted-sapi />
+        <rate xmlns:org-openroadm-otn-common-types="http://org/openroadm/otn-common-types">org-openroadm-otn-common-types:OTU4</rate>
+        <fec>scfec</fec>
+      </otu>
+    </interface>
+    <interface>
+      <name>XPDR2-NETWORK2-2</name>
+      <operational-state>inService</operational-state>
+      <administrative-state>inService</administrative-state>
+      <supporting-circuit-pack-name>CP2-QSFP2</supporting-circuit-pack-name>
+      <supporting-port>CP2-QSFP2-P1</supporting-port>
+      <och xmlns="http://org/openroadm/optical-channel-interfaces">
+        <width>50.0</width>
+        <modulation-format>dp-qpsk</modulation-format>
+        <transmit-power>-5.0</transmit-power>
+        <rate xmlns:org-openroadm-common-types="http://org/openroadm/common-types">org-openroadm-common-types:R100G</rate>
+        <frequency>196.05</frequency>
+      </och>
+      <type xmlns:openROADM-if="http://org/openroadm/interfaces">openROADM-if:opticalChannel</type>
+    </interface>
+  </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>
\ No newline at end of file
index 7114e02b6680d78820dcb808574bf365c7034534..a87a5b240f7b90287fe8b38ac27db9f0230b1cd8 100644 (file)
@@ -17,6 +17,7 @@ SIMS = {
     'roadmc': {'port': '17843', 'configfile': 'oper-ROADMC.xml', 'logfile': 'oper-ROADMC.log'},
     'xpdrc': {'port': '17844', 'configfile': 'oper-XPDRC.xml', 'logfile': 'oper-XPDRC.log'},
     'spdra': {'port': '17845', 'configfile': 'oper-SPDRA.xml', 'logfile': 'oper-SPDRA.log'},
+    'spdrc': {'port': '17846', 'configfile': 'oper-SPDRC.xml', 'logfile': 'oper-SPDRC.log'},
     'spdra_no_interface': {'port': '17825', 'configfile': 'oper-SPDRA_no_interface.xml', 'logfile': 'oper-SPDRA.log'}
 }
 
diff --git a/tests/transportpce_tests/2.2.1/test_otn_sh_renderer.py b/tests/transportpce_tests/2.2.1/test_otn_sh_renderer.py
new file mode 100644 (file)
index 0000000..b87bcb9
--- /dev/null
@@ -0,0 +1,752 @@
+#!/usr/bin/env python
+
+##############################################################################
+# Copyright (c) 2020 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
+##############################################################################
+
+import unittest
+import time
+import requests
+from common import test_utils
+
+
+class TransportPCEtesting(unittest.TestCase):
+
+    processes = None
+
+    @classmethod
+    def setUpClass(cls):
+        cls.processes = test_utils.start_tpce()
+        cls.processes = test_utils.start_sims(['spdra', 'spdrc'])
+
+    @classmethod
+    def tearDownClass(cls):
+        for process in cls.processes:
+            test_utils.shutdown_process(process)
+        print("all processes killed")
+
+    def setUp(self):
+        time.sleep(5)
+
+    def test_01_connect_SPDR_SA1(self):
+        response = test_utils.mount_device("SPDR-SA1", 'spdra')
+        self.assertEqual(response.status_code, requests.codes.created,
+                         test_utils.CODE_SHOULD_BE_201)
+        time.sleep(10)
+
+        url = "{}/operational/network-topology:network-topology/topology/topology-netconf/node/SPDR-SA1"
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertEqual(
+            res['node'][0]['netconf-node-topology:connection-status'],
+            'connected')
+
+    def test_02_connect_SPDR_SC1(self):
+        response = test_utils.mount_device("SPDR-SC1", 'spdrc')
+        self.assertEqual(response.status_code, requests.codes.created,
+                         test_utils.CODE_SHOULD_BE_201)
+        time.sleep(10)
+
+        url = "{}/operational/network-topology:network-topology/topology/topology-netconf/node/SPDR-SC1"
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertEqual(
+            res['node'][0]['netconf-node-topology:connection-status'],
+            'connected')
+
+    def test_03_service_create_OTU4(self):
+        url = "{}/operations/transportpce-renderer:service-implementation-request"
+        data = {
+            "transportpce-renderer:input": {
+                "transportpce-renderer:service-name": "SPDRA-SPDRC-OTU4-ODU4",
+                "transportpce-renderer:connection-type": "infrastructure",
+                "transportpce-renderer:service-handler-header": {
+                    "transportpce-renderer:request-id": "abcd12-efgh34"
+                },
+                "transportpce-renderer:service-a-end": {
+                    "transportpce-renderer:service-format": "OTU",
+                    "transportpce-renderer:otu-service-rate": "org-openroadm-otn-common-types:OTU4",
+                    "transportpce-renderer:clli": "nodeSA",
+                    "transportpce-renderer:node-id": "SPDR-SA1"
+
+                },
+                "transportpce-renderer:service-z-end": {
+                    "transportpce-renderer:service-format": "OTU",
+                    "transportpce-renderer:otu-service-rate": "org-openroadm-otn-common-types:OTU4",
+                    "transportpce-renderer:clli": "nodeSC",
+                    "transportpce-renderer:node-id": "SPDR-SC1"
+                },
+                "transportpce-renderer:path-description": {
+                    "aToZ-direction": {
+                        "rate": 100,
+                        "transportpce-renderer:modulation-format": "dp-qpsk",
+                        "aToZ-wavelength-number": 1,
+                        "aToZ": [
+                            {
+                                "id": "0",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SA1-XPDR1",
+                                    "tp-id": "XPDR1-NETWORK1"
+                                }
+                            },
+                            {
+                                "id": "1",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SC1-XPDR1",
+                                    "tp-id": "XPDR1-NETWORK1"
+                                }
+                            }
+                        ]
+                    },
+                    "transportpce-renderer:zToA-direction": {
+                        "transportpce-renderer:zToA-wavelength-number": "1",
+                        "transportpce-renderer:rate": "100",
+                        "transportpce-renderer:modulation-format": "dp-qpsk",
+                        "zToA": [
+                            {
+                                "id": "0",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SC1-XPDR1",
+                                    "tp-id": "XPDR1-NETWORK1"
+                                }
+                            },
+                            {
+                                "id": "1",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SA1-XPDR1",
+                                    "tp-id": "XPDR1-NETWORK1"
+                                }
+                            }
+                        ]
+                    }
+                }
+            }
+        }
+        response = test_utils.post_request(url, data)
+        time.sleep(3)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Operation Successful',
+                      res["output"]["configuration-response-common"]["response-message"])
+
+    # Test OCH-OTU interfaces on SPDR-A1
+    def test_04_check_interface_och(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-NETWORK1-1"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertDictEqual(dict({'name': 'XPDR1-NETWORK1-1',
+                                   'administrative-state': 'inService',
+                                   'supporting-circuit-pack-name': 'CP1-CFP0',
+                                   'type': 'org-openroadm-interfaces:opticalChannel',
+                                   'supporting-port': 'CP1-CFP0-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},
+            res['interface'][0]['org-openroadm-optical-channel-interfaces:och'])
+
+    def test_05_check_interface_OTU(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-NETWORK1-OTU"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR1-NETWORK1-OTU',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP1-CFP0',
+                        'supporting-interface': 'XPDR1-NETWORK1-1',
+                        'type': 'org-openroadm-interfaces:otnOtu',
+                        'supporting-port': 'CP1-CFP0-P1'
+                        }
+        input_dict_2 = {'tx-dapi': 'fuYZwEO660g=',
+                        'expected-sapi': 'fuYZwEO660g=',
+                        'tx-sapi': 'Swfw02qXGyI=',
+                        'expected-dapi': 'Swfw02qXGyI=',
+                        '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'])
+
+    # Test OCH-OTU interfaces on SPDR-C1
+    def test_06_check_interface_och(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-NETWORK1-1"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertDictEqual(dict({'name': 'XPDR1-NETWORK1-1',
+                                   'administrative-state': 'inService',
+                                   'supporting-circuit-pack-name': 'CP1-CFP0',
+                                   'type': 'org-openroadm-interfaces:opticalChannel',
+                                   'supporting-port': 'CP1-CFP0-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},
+            res['interface'][0]['org-openroadm-optical-channel-interfaces:och'])
+
+    def test_07_check_interface_OTU(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-NETWORK1-OTU"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR1-NETWORK1-OTU',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP1-CFP0',
+                        'supporting-interface': 'XPDR1-NETWORK1-1',
+                        'type': 'org-openroadm-interfaces:otnOtu',
+                        'supporting-port': 'CP1-CFP0-P1'
+                        }
+        input_dict_2 = {'tx-dapi': 'Swfw02qXGyI=',
+                        'expected-sapi': 'Swfw02qXGyI=',
+                        'tx-sapi': 'fuYZwEO660g=',
+                        'expected-dapi': 'fuYZwEO660g=',
+                        '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'])
+
+    # Test creation of ODU4 service
+    def test_08_service_create_ODU4(self):
+        url = "{}/operations/transportpce-renderer:service-implementation-request"
+
+        data = {
+            "transportpce-renderer:input": {
+                "transportpce-renderer:service-name":
+                "SPDRA-SPDRC-OTU4-ODU4",
+                "transportpce-renderer:connection-type": "infrastructure",
+                "transportpce-renderer:service-handler-header": {
+                    "transportpce-renderer:request-id": "abcd12-efgh34"
+                },
+                "transportpce-renderer:service-a-end": {
+                    "transportpce-renderer:service-format": "ODU",
+                    "transportpce-renderer:odu-service-rate":
+                    "org-openroadm-otn-common-types:ODU4",
+                    "transportpce-renderer:clli": "nodeSA",
+                    "transportpce-renderer:node-id": "SPDR-SA1"
+
+                },
+                "transportpce-renderer:service-z-end": {
+                    "transportpce-renderer:service-format": "ODU",
+                    "transportpce-renderer:odu-service-rate":
+                    "org-openroadm-otn-common-types:ODU4",
+                    "transportpce-renderer:clli": "nodeSC",
+                    "transportpce-renderer:node-id": "SPDR-SC1"
+                },
+                "transportpce-renderer:path-description": {
+                    "aToZ-direction": {
+                        "rate": 100,
+                        "aToZ": [
+                            {
+                                "id": "1",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SA1-XPDR1",
+                                    "tp-id": "XPDR1-NETWORK1"
+                                }
+                            },
+                            {
+                                "id": "2",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SC1-XPDR1",
+                                    "tp-id": "XPDR1-NETWORK1"
+                                }
+                            }
+                        ]
+                    },
+                    "transportpce-renderer:zToA-direction": {
+                        "transportpce-renderer:rate": "100",
+                        "zToA": [
+                            {
+                                "id": "1",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SC1-XPDR1",
+                                    "tp-id": "XPDR1-NETWORK1"
+                                }
+                            },
+                            {
+                                "id": "2",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SA1-XPDR1",
+                                    "tp-id": "XPDR1-NETWORK1"
+                                }
+                            }
+                        ]
+                    }
+                }
+            }
+        }
+        response = test_utils.post_request(url, data)
+        time.sleep(3)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Operation Successful',
+                      res["output"]["configuration-response-common"]
+                      ["response-message"])
+
+    # Test ODU4 interfaces on SPDR-A1 and SPDR-C1
+    def test_09_check_interface_ODU4(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-NETWORK1-ODU4"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR1-NETWORK1-ODU4',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP1-CFP0',
+                        'supporting-interface': 'XPDR1-NETWORK1-OTU',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP1-CFP0-P1'}
+        # SAPI/DAPI are added in the Otu4 renderer
+        input_dict_2 = {'odu-function': 'org-openroadm-otn-common-types:ODU-TTP',
+                        'rate': 'org-openroadm-otn-common-types:ODU4',
+                        'expected-dapi': 'Swfw02qXGyI=',
+                        'expected-sapi': 'fuYZwEO660g=',
+                        'tx-dapi': 'fuYZwEO660g=',
+                        'tx-sapi': 'Swfw02qXGyI='}
+
+        self.assertDictEqual(dict(input_dict_1, **res['interface'][0]),
+                             res['interface'][0])
+        self.assertDictEqual(dict(res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'],
+                                  **input_dict_2),
+                             res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']
+                             )
+        self.assertDictEqual(
+            {u'payload-type': u'21', u'exp-payload-type': u'21'},
+            res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
+
+    def test_10_check_interface_ODU4(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-NETWORK1-ODU4"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR1-NETWORK1-ODU4',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP1-CFP0',
+                        'supporting-interface': 'XPDR1-NETWORK1-OTU',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP1-CFP0-P1'}
+        # SAPI/DAPI are added in the Otu4 renderer
+        input_dict_2 = {'odu-function': 'org-openroadm-otn-common-types:ODU-TTP',
+                        'rate': 'org-openroadm-otn-common-types:ODU4',
+                        'tx-sapi': 'fuYZwEO660g=',
+                        'tx-dapi': 'Swfw02qXGyI=',
+                        'expected-sapi': 'Swfw02qXGyI=',
+                        'expected-dapi': 'fuYZwEO660g='
+                        }
+        self.assertDictEqual(dict(input_dict_1, **res['interface'][0]),
+                             res['interface'][0])
+        self.assertDictEqual(dict(res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'],
+                                  **input_dict_2),
+                             res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']
+                             )
+        self.assertDictEqual(
+            {u'payload-type': u'21', u'exp-payload-type': u'21'},
+            res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
+
+    # Test creation of 10G service
+    def test_11_service_create_10GE(self):
+        url = "{}/operations/transportpce-renderer:service-implementation-request"
+
+        data = {
+            "transportpce-renderer:input": {
+                "transportpce-renderer:service-name": "SPDRA-SPDRC-10G",
+                "transportpce-renderer:connection-type": "service",
+                "transportpce-renderer:service-handler-header": {
+                    "transportpce-renderer:request-id": "abcd12-efgh34"
+                },
+                "transportpce-renderer:service-a-end": {
+                    "transportpce-renderer:service-format": "Ethernet",
+                    "transportpce-renderer:service-rate": "10",
+                    "transportpce-renderer:clli": "nodeSA",
+                    "transportpce-renderer:node-id": "SPDR-SA1"
+
+                },
+                "transportpce-renderer:service-z-end": {
+                    "transportpce-renderer:service-format": "Ethernet",
+                    "transportpce-renderer:service-rate": "10",
+                    "transportpce-renderer:clli": "nodeSC",
+                    "transportpce-renderer:node-id": "SPDR-SC1"
+                },
+                "transportpce-renderer:path-description": {
+                    "aToZ-direction": {
+                        "rate": 10,
+                        "aToZ": [
+                            {
+                                "id": "0",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SA1-XPDR1",
+                                    "tp-id": "XPDR1-CLIENT1"
+
+                                }
+                            },
+                            {
+                                "id": "1",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SA1-XPDR1",
+                                    "tp-id": "XPDR1-NETWORK1"
+                                }
+                            },
+                            {
+                                "id": "2",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SC1-XPDR1",
+                                    "tp-id": "XPDR1-NETWORK1"
+                                }
+                            },
+                            {
+                                "id": "3",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SC1-XPDR1",
+                                    "tp-id": "XPDR1-CLIENT1"
+                                }
+                            }
+                        ]
+                    },
+                    "transportpce-renderer:zToA-direction": {
+                        "transportpce-renderer:rate": "10",
+                        "zToA": [
+                            {
+                                "id": "0",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SC1-XPDR1",
+                                    "tp-id": "XPDR1-CLIENT1"
+                                }
+                            },
+                            {
+                                "id": "1",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SC1-XPDR1",
+                                    "tp-id": "XPDR1-NETWORK1"
+                                }
+                            },
+                            {
+                                "id": "2",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SA1-XPDR1",
+                                    "tp-id": "XPDR1-NETWORK1"
+                                }
+                            },
+                            {
+                                "id": "3",
+                                "resource": {
+                                    "tp-node-id": "SPDR-SA1-XPDR1",
+                                    "tp-id": "XPDR1-CLIENT1"
+
+                                }
+                            }
+                        ]
+                    }
+                }
+            }
+        }
+
+        response = test_utils.post_request(url, data)
+        time.sleep(3)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        self.assertIn('Operation Successful',
+                      res["output"]["configuration-response-common"]
+                      ["response-message"])
+
+    # Test the interfaces on SPDR-A1
+    def test_12_check_interface_10GE_CLIENT(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-CLIENT1-ETHERNET10G"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict = {'name': 'XPDR1-CLIENT1-ETHERNET10G',
+                      'administrative-state': 'inService',
+                      'supporting-circuit-pack-name': 'CP1-SFP4',
+                      'type': 'org-openroadm-interfaces:ethernetCsmacd',
+                      'supporting-port': 'CP1-SFP4-P1'
+                      }
+        self.assertDictEqual(dict(input_dict, **res['interface'][0]),
+                             res['interface'][0])
+        self.assertDictEqual(
+            {u'speed': 10000},
+            res['interface'][0]['org-openroadm-ethernet-interfaces:ethernet'])
+
+    def test_13_check_interface_ODU2E_CLIENT(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-CLIENT1-ODU2e-SPDRA-SPDRC-10G"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR1-CLIENT1-ODU2e-SPDRA-SPDRC-10G',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP1-SFP4',
+                        'supporting-interface': 'XPDR1-CLIENT1-ETHERNET10G',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP1-SFP4-P1'}
+        input_dict_2 = {
+            'odu-function': 'org-openroadm-otn-common-types:ODU-TTP-CTP',
+            'rate': 'org-openroadm-otn-common-types:ODU2e',
+            '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'03', u'exp-payload-type': u'03'},
+            res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
+
+    def test_14_check_ODU2E_connection(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "odu-connection/XPDR1-CLIENT1-ODU2e-SPDRA-SPDRC-10G-x-XPDR1-NETWORK1-ODU2e-SPDRA-SPDRC-10G"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {
+            'connection-name':
+            'XPDR1-CLIENT1-ODU2e-SPDRA-SPDRC-10G-x-XPDR1-NETWORK1-ODU2e-SPDRA-SPDRC-10G',
+            'direction': 'bidirectional'
+        }
+
+        self.assertDictEqual(dict(input_dict_1, **res['odu-connection'][0]),
+                             res['odu-connection'][0])
+        self.assertDictEqual({u'dst-if': u'XPDR1-NETWORK1-ODU2e-SPDRA-SPDRC-10G'},
+                             res['odu-connection'][0]['destination'])
+        self.assertDictEqual({u'src-if': u'XPDR1-CLIENT1-ODU2e-SPDRA-SPDRC-10G'},
+                             res['odu-connection'][0]['source'])
+
+    def test_15_check_interface_ODU2E_NETWORK(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-NETWORK1-ODU2e-SPDRA-SPDRC-10G"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR1-NETWORK1-ODU2e-SPDRA-SPDRC-10G',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP1-CFP0',
+                        'supporting-interface': 'XPDR1-NETWORK1-ODU4',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP1-CFP0-P1'}
+        input_dict_2 = {
+            'odu-function': 'org-openroadm-otn-common-types:ODU-CTP',
+            'rate': 'org-openroadm-otn-common-types:ODU2e',
+            'monitoring-mode': 'monitored'}
+
+        input_dict_3 = {'trib-port-number': 1}
+
+        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(dict(input_dict_3,
+                                  **res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'][
+                                      'parent-odu-allocation']),
+                             res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'][
+            'parent-odu-allocation'])
+        self.assertIn(1,
+                      res['interface'][0][
+                          'org-openroadm-otn-odu-interfaces:odu'][
+                          'parent-odu-allocation']['trib-slots'])
+
+    # Test the interfaces on SPDR-C1
+    def test_16_check_interface_ODU2E_NETWORK(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SA1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-NETWORK1-ODU2e-SPDRA-SPDRC-10G"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR1-NETWORK1-ODU2e-SPDRA-SPDRC-10G',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP1-CFP0',
+                        'supporting-interface': 'XPDR1-NETWORK1-ODU4',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP1-CFP0-P1'}
+        input_dict_2 = {
+            'odu-function': 'org-openroadm-otn-common-types:ODU-CTP',
+            'rate': 'org-openroadm-otn-common-types:ODU2e',
+            'monitoring-mode': 'monitored'}
+
+        input_dict_3 = {'trib-port-number': 1}
+
+        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(dict(input_dict_3,
+                                  **res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'][
+                                      'parent-odu-allocation']),
+                             res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'][
+            'parent-odu-allocation'])
+        self.assertIn(1,
+                      res['interface'][0][
+                          'org-openroadm-otn-odu-interfaces:odu'][
+                          'parent-odu-allocation']['trib-slots'])
+
+    def test_17_check_interface_10GE_CLIENT(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-CLIENT1-ETHERNET10G"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict = {'name': 'XPDR1-CLIENT1-ETHERNET10G',
+                      'administrative-state': 'inService',
+                      'supporting-circuit-pack-name': 'CP1-SFP4',
+                      'type': 'org-openroadm-interfaces:ethernetCsmacd',
+                      'supporting-port': 'CP1-SFP4-P1'
+                      }
+        self.assertDictEqual(dict(input_dict, **res['interface'][0]),
+                             res['interface'][0])
+        self.assertDictEqual(
+            {u'speed': 10000},
+            res['interface'][0]['org-openroadm-ethernet-interfaces:ethernet'])
+
+    def test_18_check_interface_ODU2E_CLIENT(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-CLIENT1-ODU2e-SPDRA-SPDRC-10G"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR1-CLIENT1-ODU2e-SPDRA-SPDRC-10G',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP1-SFP4',
+                        'supporting-interface': 'XPDR1-CLIENT1-ETHERNET10G',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP1-SFP4-P1'}
+        input_dict_2 = {
+            'odu-function': 'org-openroadm-otn-common-types:ODU-TTP-CTP',
+            'rate': 'org-openroadm-otn-common-types:ODU2e',
+            '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'03', u'exp-payload-type': u'03'},
+            res['interface'][0]['org-openroadm-otn-odu-interfaces:odu']['opu'])
+
+    def test_19_check_ODU2E_connection(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "odu-connection/XPDR1-CLIENT1-ODU2e-SPDRA-SPDRC-10G-x-XPDR1-NETWORK1-ODU2e-SPDRA-SPDRC-10G"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {
+            'connection-name':
+            'XPDR1-CLIENT1-ODU2e-SPDRA-SPDRC-10G-x-XPDR1-NETWORK1-ODU2e-SPDRA-SPDRC-10G',
+            'direction': 'bidirectional'
+        }
+
+        self.assertDictEqual(dict(input_dict_1, **res['odu-connection'][0]),
+                             res['odu-connection'][0])
+        self.assertDictEqual({u'dst-if': u'XPDR1-NETWORK1-ODU2e-SPDRA-SPDRC-10G'},
+                             res['odu-connection'][0]['destination'])
+        self.assertDictEqual({u'src-if': u'XPDR1-CLIENT1-ODU2e-SPDRA-SPDRC-10G'},
+                             res['odu-connection'][0]['source'])
+
+    def test_20_check_interface_ODU2E_NETWORK(self):
+        url = ("{}/config/network-topology:network-topology/topology/topology-netconf/"
+               "node/SPDR-SC1/yang-ext:mount/org-openroadm-device:org-openroadm-device/"
+               "interface/XPDR1-NETWORK1-ODU2e-SPDRA-SPDRC-10G"
+               )
+        response = test_utils.get_request(url)
+        self.assertEqual(response.status_code, requests.codes.ok)
+        res = response.json()
+        input_dict_1 = {'name': 'XPDR1-NETWORK1-ODU2e-SPDRA-SPDRC-10G',
+                        'administrative-state': 'inService',
+                        'supporting-circuit-pack-name': 'CP1-CFP0',
+                        'supporting-interface': 'XPDR1-NETWORK1-ODU4',
+                        'type': 'org-openroadm-interfaces:otnOdu',
+                        'supporting-port': 'CP1-CFP0-P1'}
+        input_dict_2 = {
+            'odu-function': 'org-openroadm-otn-common-types:ODU-CTP',
+            'rate': 'org-openroadm-otn-common-types:ODU2e',
+            'monitoring-mode': 'monitored'}
+
+        input_dict_3 = {'trib-port-number': 1}
+
+        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(dict(input_dict_3,
+                                  **res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'][
+                                      'parent-odu-allocation']),
+                             res['interface'][0]['org-openroadm-otn-odu-interfaces:odu'][
+            'parent-odu-allocation'])
+        self.assertIn(1,
+                      res['interface'][0][
+                          'org-openroadm-otn-odu-interfaces:odu'][
+                          'parent-odu-allocation']['trib-slots'])
+
+    # TODO: Delete the services (OTU, ODU, LO-ODU)
+    # TODO: Delete interfaces (SPDR-A1, SPDR-C1)
+
+    def test_21_disconnect_SPDR_SA1(self):
+        response = test_utils.unmount_device("SPDR-SA1")
+        self.assertEqual(response.status_code, requests.codes.ok,
+                         test_utils.CODE_SHOULD_BE_200)
+
+    def test_22_disconnect_SPDR_SC1(self):
+        response = test_utils.unmount_device("SPDR-SC1")
+        self.assertEqual(response.status_code, requests.codes.ok,
+                         test_utils.CODE_SHOULD_BE_200)
+
+
+if __name__ == "__main__":
+    unittest.main(verbosity=2)
diff --git a/tox.ini b/tox.ini
index 59ef713317ff33a1a6dd46f39cea7740edfd9adf..6bebae9f04cd963455e45e68f48dc2c04e0d1c33 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -18,23 +18,23 @@ whitelist_externals = sh
 changedir={toxinidir}/tests
 commands =
 #install maven and JDK11 on the Gate since they are not there by default
-  {py3,portmapping,topoPortMapping,rspn,topology,pce,olm,end2end,portmapping221,rspn221,otnrenderer,topology221,otntopology,olm221,tapi221,end2end221,gnpy}: - sh -c "if [ ! `which mvn` ]; then ./installMavenCentOS.sh  ; fi"
+  {py3,portmapping,topoPortMapping,rspn,topology,pce,olm,end2end,portmapping221,rspn221,otnrenderer,otnshrenderer,topology221,otntopology,olm221,tapi221,end2end221,gnpy}: - sh -c "if [ ! `which mvn` ]; then ./installMavenCentOS.sh  ; fi"
 #install honeynode simulators
-  {py3,portmapping,topoPortMapping,rspn,topology,pce,olm,end2end,portmapping221,rspn221,otnrenderer,topology221,otntopology,olm221,tapi221,end2end221,gnpy}: - sh -c "./install_honeynode.sh"
+  {py3,portmapping,topoPortMapping,rspn,topology,pce,olm,end2end,portmapping221,rspn221,otnrenderer,otnshrenderer,topology221,otntopology,olm221,tapi221,end2end221,gnpy}: - sh -c "./install_honeynode.sh"
 #patch OLM constant to speed up tests, unnecessary for PCE
-  {py3,portmapping,topoPortMapping,rspn,topology,olm,end2end,portmapping221,rspn221,otnrenderer,topology221,otn-topology,olm221,end2end221,tapi221}: - sh -c "sed -i'_' 's@=.*//#FUNCTESTVAL=@=@g' ../olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils.java"
+  {py3,portmapping,topoPortMapping,rspn,topology,olm,end2end,portmapping221,rspn221,otnrenderer,otnshrenderer,topology221,otn-topology,olm221,end2end221,tapi221}: - sh -c "sed -i'_' 's@=.*//#FUNCTESTVAL=@=@g' ../olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils.java"
 #build controller, source JDK_JAVA_OPTIONS to remove illegal reflective acces warnings introduced by Java11
-  {py3,portmapping,topoPortMapping,rspn,topology,pce,olm,end2end,portmapping221,rspn221,otnrenderer,topology221,otntopology,olm221,tapi221,end2end221,gnpy}: - sh -c ". $PWD/reflectwarn.sh && cd .. && mvn clean install -s tests/odl_settings.xml -DskipTests -Dmaven.javadoc.skip=true -Dodlparent.spotbugs.skip -Dodlparent.checkstyle.skip"
-  {py3,portmapping,topoPortMapping,rspn,topology,olm,end2end,portmapping221,rspn221,otnrenderer,topology221,otn-topology,olm221,end2end221,tapi221}: - sh -c "mv  ../olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils.java_  ../olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils.java"
+  {py3,portmapping,topoPortMapping,rspn,topology,pce,olm,end2end,portmapping221,rspn221,otnrenderer,otnshrenderer,topology221,otntopology,olm221,tapi221,end2end221,gnpy}: - sh -c ". $PWD/reflectwarn.sh && cd .. && mvn clean install -s tests/odl_settings.xml -DskipTests -Dmaven.javadoc.skip=true -Dodlparent.spotbugs.skip -Dodlparent.checkstyle.skip"
+  {py3,portmapping,topoPortMapping,rspn,topology,olm,end2end,portmapping221,rspn221,otnrenderer,otnshrenderer,topology221,otn-topology,olm221,end2end221,tapi221}: - sh -c "mv  ../olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils.java_  ../olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils.java"
 #patch Karaf exec for the same reason at runtime
-  {py3,portmapping,topoPortMapping,rspn,topology,pce,olm,end2end,portmapping221,rspn221,otnrenderer,topology221,otntopology,olm221,tapi221,end2end221,gnpy}: - sh -c "sed -i'_' 's@!/bin/sh@!/bin/sh\'$'\n. $(dirname $0)/../../../../tests/reflectwarn.sh@' ../karaf/target/assembly/bin/karaf"
+  {py3,portmapping,topoPortMapping,rspn,topology,pce,olm,end2end,portmapping221,rspn221,otnrenderer,otnshrenderer,topology221,otntopology,olm221,tapi221,end2end221,gnpy}: - sh -c "sed -i'_' 's@!/bin/sh@!/bin/sh\'$'\n. $(dirname $0)/../../../../tests/reflectwarn.sh@' ../karaf/target/assembly/bin/karaf"
   # the following command would be the straight and right way to support both BSD and GNU sed versions
   # sh -c "sed -i'_' '1 a\'$'\n. \$(dirname \$0)/\.\./\.\./\.\./\.\./tests/reflectwarn.sh\n' ../karaf/target/assembly/bin/karaf"
   # but tox reinterprets the quotes as
   # sh -c 'sed -i'"'"'_'"'"' '"'"'1 a\'"'"'$'"'"'\n. \$(dirname \$0)/\.\./\.\./\.\./\.\./tests/reflectwarn.sh\n'"'"' ../karaf/target/assembly/bin/karaf'
   # ,what results in an unexpected different formating (with a $ on the second line and the dot on the third)
 #build Lighty if needed
-  {py3,portmapping,topoPortMapping,rspn,topology,pce,olm,end2end,portmapping221,rspn221,otnrenderer,topology221,otntopology,olm221,tapi221,end2end221,gnpy}: - sh -c 'if [ "$USE_LIGHTY" = "True" ]; then (cd ../lighty && ./build.sh); fi'
+  {py3,portmapping,topoPortMapping,rspn,topology,pce,olm,end2end,portmapping221,rspn221,otnrenderer,otnshrenderer,topology221,otntopology,olm221,tapi221,end2end221,gnpy}: - sh -c 'if [ "$USE_LIGHTY" = "True" ]; then (cd ../lighty && ./build.sh); fi'
 #run 1.2.1 functional tests
   {py3,portmapping}: nosetests --with-xunit transportpce_tests/1.2.1/test_portmapping.py
   {py3,topoPortMapping}: nosetests --with-xunit transportpce_tests/1.2.1/test_topoPortMapping.py
@@ -49,6 +49,7 @@ commands =
   {py3,otntopology}: nosetests --with-xunit transportpce_tests/2.2.1/test_otn_topology.py
   {py3,rspn221}: nosetests --with-xunit transportpce_tests/2.2.1/test_renderer_service_path_nominal.py
   {py3,otnrenderer}: nosetests --with-xunit transportpce_tests/2.2.1/test_otn_renderer.py
+  {py3,otnshrenderer}: nosetests --with-xunit transportpce_tests/2.2.1/test_otn_sh_renderer.py
   {py3,olm221}: nosetests --with-xunit transportpce_tests/2.2.1/test_olm.py
   {py3,tapi221}: nosetests --with-xunit transportpce_tests/2.2.1/test_tapi.py
   {py3,end2end}: nosetests --with-xunit transportpce_tests/1.2.1/test_end2end.py