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