[ONOS-7893] TerminalDevice driver for OpenConfig transponders.
Includes FlowRuleProgrammable and DeviceDiscovery behaviours.
The patch enables the configuration of client and line sides of the transponder.
FlowRules coming from the compilation of OpticalConnectivity and OpticalCircuit intents are translated in proper netconf/xml messages.
The patch also fixes an issue in the OpticalCircuiIntentCompiler to avoid overwriting among generated flowrules in case of bidirectional intents.
The patch also extend optical-rest app to enable deletion of OpticalCircuit intents.
An example of OpenConfig TerminalDevice xml datastore is included.

patch 2: Addressed comments by Ramon Casellas. Checkstyle.

patch 3: Fixed typo in OpticalConnectivityIntentCompiler.

patch 4: Checkstyle.

patch 5: Addressed comments by Andrea Campanella.

patch 6: Introduced Jira tag

patch 7: Update commit message.

patch 8: Ranaming files.

patch 9: Checkstyle.

Change-Id: Ia50bc0877ecd314aaf48cdb8465451a68313ce3a
diff --git a/drivers/odtn-driver/src/test/resources/terminal-device.xml b/drivers/odtn-driver/src/test/resources/terminal-device.xml
new file mode 100644
index 0000000..0af7eaa
--- /dev/null
+++ b/drivers/odtn-driver/src/test/resources/terminal-device.xml
@@ -0,0 +1,1161 @@
+<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
+	<terminal-device xmlns="http://openconfig.net/yang/terminal-device">
+		<logical-channels>
+			<!--Card1-->
+			<channel>
+				<!--Description: Client Port-->
+				<index>10103</index>
+				<config>
+					<index>10103</index>
+					<description>Logical channel 10103</description>
+					<admin-state>DISABLED</admin-state>
+					<rate-class xmlns:type="http://openconfig.net/yang/transport-types">type:TRIB_RATE_10G</rate-class>
+					<trib-protocol xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_10GE_LAN
+					</trib-protocol>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_ETHERNET
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<test-signal>0</test-signal>
+				</config>
+				<state>
+					<index>10103</index>
+					<description>Logical channel 10103</description>
+					<admin-state>DISABLED</admin-state>
+					<rate-class xmlns:type="http://openconfig.net/yang/transport-types">type:TRIB_RATE_10G</rate-class>
+					<trib-protocol xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_10GE_LAN
+					</trib-protocol>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_ETHERNET
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<test-signal>0</test-signal>
+					<link-state>UP</link-state>
+				</state>
+				<ingress>
+					<config>
+						<transceiver>transceiver-10103</transceiver>
+						<!--
+						<physical-channel></physical-channel>
+						-->
+					</config>
+					<state>
+						<transceiver>transceiver-10103</transceiver>
+						<!-- 
+						<physical-channel></physical-channel>
+						-->
+					</state>
+				</ingress>
+				<logical-channel-assignments>
+					<assignment>
+						<index>1</index>
+						<config>
+							<index>1</index>
+							<description>Logical channel assigned</description>
+							<assignment-type>LOGICAL_CHANNEL</assignment-type>
+							<logical-channel>10101</logical-channel>
+							<allocation>10</allocation>
+						</config>
+						<state>
+							<index>1</index>
+							<description>0</description>
+							<assignment-type>LOGICAL_CHANNEL</assignment-type>
+							<logical-channel>10101</logical-channel>
+							<allocation>10</allocation>
+						</state>
+					</assignment>
+				</logical-channel-assignments>
+			</channel>
+			<channel>
+				<!--Description: Client Port-->
+				<index>10104</index>
+				<config>
+					<index>10104</index>
+					<description>Logical channel 10104</description>
+					<admin-state>DISABLED</admin-state>
+					<rate-class xmlns:type="http://openconfig.net/yang/transport-types">type:TRIB_RATE_10G</rate-class>
+					<trib-protocol xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_10GE_LAN
+					</trib-protocol>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_ETHERNET
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<test-signal>0</test-signal>
+				</config>
+				<state>
+					<index>11104</index>
+					<description>Logical channel 10104</description>
+					<admin-state>DISABLED</admin-state>
+					<rate-class xmlns:type="http://openconfig.net/yang/transport-types">type:TRIB_RATE_10G</rate-class>
+					<trib-protocol xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_10GE_LAN
+					</trib-protocol>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_ETHERNET
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<test-signal>0</test-signal>
+					<link-state>DOWN</link-state>
+				</state>
+				<ingress>
+					<config>
+						<transceiver>transceiver-10104</transceiver>
+					</config>
+					<state>
+						<transceiver>transceiver-10104</transceiver>
+					</state>
+				</ingress>
+				<logical-channel-assignments>
+					<assignment>
+						<index>1</index>
+						<config>
+							<index>1</index>
+							<description>Logical channel assigned</description>
+							<assignment-type>LOGICAL_CHANNEL</assignment-type>
+							<logical-channel>10101</logical-channel>
+							<allocation>10</allocation>
+						</config>
+						<state>
+							<index>1</index>
+							<description>0</description>
+							<assignment-type>LOGICAL_CHANNEL</assignment-type>
+							<logical-channel>10101</logical-channel>
+							<allocation>10</allocation>
+						</state>
+					</assignment>
+				</logical-channel-assignments>
+			</channel>
+			<channel>
+				<!--Description: Client Port-->
+				<index>10105</index>
+				<config>
+					<index>10105</index>
+					<description>Logical channel 10105</description>
+					<admin-state>DISABLED</admin-state>
+					<rate-class xmlns:type="http://openconfig.net/yang/transport-types">type:TRIB_RATE_10G</rate-class>
+					<trib-protocol xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_10GE_LAN
+					</trib-protocol>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_ETHERNET
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<test-signal>0</test-signal>
+				</config>
+				<state>
+					<index>10105</index>
+					<description>Logical channel 10105</description>
+					<admin-state>DISABLED</admin-state>
+					<rate-class xmlns:type="http://openconfig.net/yang/transport-types">type:TRIB_RATE_10G</rate-class>
+					<trib-protocol xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_10GE_LAN
+					</trib-protocol>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_ETHERNET
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<test-signal>0</test-signal>
+					<link-state>DOWN</link-state>
+				</state>
+				<ingress>
+					<config>
+						<transceiver>transceiver-10105</transceiver>
+						<!--
+						<physical-channel></physical-channel>
+						-->
+					</config>
+					<state>
+						<transceiver>transceiver-10105</transceiver>
+						<!--
+						<physical-channel></physical-channel>
+						-->
+					</state>
+				</ingress>
+				<logical-channel-assignments>
+					<assignment>
+						<index>1</index>
+						<config>
+							<index>1</index>
+							<description>Logical channel assigned</description>
+							<assignment-type>LOGICAL_CHANNEL</assignment-type>
+							<logical-channel>10101</logical-channel>
+							<allocation>10</allocation>
+						</config>
+						<state>
+							<index>1</index>
+							<description>0</description>
+							<assignment-type>LOGICAL_CHANNEL</assignment-type>
+							<logical-channel>10101</logical-channel>
+							<allocation>10</allocation>
+						</state>
+					</assignment>
+				</logical-channel-assignments>
+			</channel>
+
+			<channel>
+				<!--Description: Line (OTN) Port-->
+				<index>10101</index>
+				<config>
+					<index>10101</index>
+					<description>Logical channel 10101</description>
+					<admin-state>DISABLED</admin-state>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_OTN
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+				</config>
+				<state>
+					<index>10101</index>
+					<description>Logical channel 10101</description>
+					<admin-state>DISABLED</admin-state>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_OTN
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<link-state>UP</link-state>
+				</state>
+				   <ingress>
+						<config>
+							<transceiver>channel-10101</transceiver>
+							<!--
+							<physical-channel></physical-channel>
+							-->
+						</config>
+						<state>
+							<transceiver>channel-10101</transceiver>
+							<!--
+							<physical-channel></physical-channel>
+							-->
+						</state>
+					</ingress>
+
+				<otn>
+					<config>
+						<tti-msg-expected>test1</tti-msg-expected>
+						<tti-msg-transmit>test1</tti-msg-transmit>
+					</config>
+					<state>
+						<tti-msg-expected>test1</tti-msg-expected>
+						<tti-msg-transmit>test1</tti-msg-transmit>
+						<tti-msg-auto>0</tti-msg-auto>
+						<tti-msg-recv>0</tti-msg-recv>
+						<rdi-msg>0</rdi-msg>
+						<errored-seconds>0</errored-seconds>
+						<severely-errored-seconds>0</severely-errored-seconds>
+						<unavailable-seconds>0</unavailable-seconds>
+						<code-violations>0</code-violations>
+						<fec-uncorrectable-words>0</fec-uncorrectable-words>
+						<fec-corrected-bytes>0</fec-corrected-bytes>
+						<fec-corrected-bits>0</fec-corrected-bits>
+						<background-block-errors>0</background-block-errors>
+						<pre-fec-ber>
+							<instant>0.0</instant>
+							<avg>0.0</avg>
+							<min>0.0</min>
+							<max>0.0</max>
+						</pre-fec-ber>
+						<post-fec-ber>
+							<instant>0</instant>
+							<avg>0</avg>
+							<min>0</min>
+							<max>0</max>
+						</post-fec-ber>
+						<q-value>
+							<instant>0</instant>
+							<avg>0</avg>
+							<min>0</min>
+							<max>0</max>
+							<interval>0</interval>
+						</q-value>
+						<esnr>
+							<instant>0</instant>
+							<avg>0</avg>
+							<min>0</min>
+							<max>0</max>
+							<interval>0</interval>
+						</esnr>	
+					</state>
+				</otn>
+				<logical-channel-assignments>
+					<assignment>
+						<index>1</index>
+						<config>
+							<index>1</index>
+							<description>Optical channel assigned 100</description>
+							<allocation>100</allocation>
+							<assignment-type>OPTICAL_CHANNEL</assignment-type>
+							<optical-channel>channel-10101</optical-channel>
+						</config>
+						<state>
+							<index>1</index>
+							<description>Optical channel assigned 100</description>
+							<allocation>100</allocation>
+							<assignment-type>OPTICAL_CHANNEL</assignment-type>
+							<optical-channel>channel-10101</optical-channel>
+						</state>
+					</assignment>
+				</logical-channel-assignments>
+			</channel>
+			<!--/Card1-->
+			<!--Card2-->
+			<channel>
+				<!--Description: Client Port-->
+				<index>10106</index>
+				<config>
+					<index>10106</index>
+					<description>Logical channel 10106</description>
+					<admin-state>DISABLED</admin-state>
+					<rate-class xmlns:type="http://openconfig.net/yang/transport-types">type:TRIB_RATE_10G</rate-class>
+					<trib-protocol xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_10GE_LAN
+					</trib-protocol>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_ETHERNET
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<test-signal>0</test-signal>
+				</config>
+				<state>
+					<index>10106</index>
+					<description>Logical channel 10106</description>
+					<admin-state>DISABLED</admin-state>
+					<rate-class xmlns:type="http://openconfig.net/yang/transport-types">type:TRIB_RATE_10G</rate-class>
+					<trib-protocol xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_10GE_LAN
+					</trib-protocol>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_ETHERNET
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<test-signal>0</test-signal>
+					<link-state>UP</link-state>
+				</state>
+				<ingress>
+					<config>
+						<transceiver>transceiver-10106</transceiver>
+						<!--
+						<physical-channel></physical-channel>
+						-->
+					</config>
+					<state>
+						<transceiver>transceiver-10106</transceiver>
+						<!--
+						<physical-channel></physical-channel>
+						-->
+					</state>
+				</ingress>
+				<logical-channel-assignments>
+					<assignment>
+						<index>1</index>
+						<config>
+							<index>1</index>
+							<description>Logical channel assigned</description>
+							<assignment-type>LOGICAL_CHANNEL</assignment-type>
+							<logical-channel>10102</logical-channel>
+							<allocation>10</allocation>
+						</config>
+						<state>
+							<index>1</index>
+							<description>0</description>
+							<assignment-type>LOGICAL_CHANNEL</assignment-type>
+							<logical-channel>10102</logical-channel>
+							<allocation>10</allocation>
+						</state>
+					</assignment>
+				</logical-channel-assignments>
+			</channel>
+			<channel>
+				<!--Description: Client Port-->
+				<index>10107</index>
+				<config>
+					<index>10107</index>
+					<description>Logical channel 10107</description>
+					<admin-state>DISABLED</admin-state>
+					<rate-class xmlns:type="http://openconfig.net/yang/transport-types">type:TRIB_RATE_10G</rate-class>
+					<trib-protocol xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_10GE_LAN
+					</trib-protocol>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_ETHERNET
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<test-signal>0</test-signal>
+				</config>
+				<state>
+					<index>11104</index>
+					<description>Logical channel 10107</description>
+					<admin-state>DISABLED</admin-state>
+					<rate-class xmlns:type="http://openconfig.net/yang/transport-types">type:TRIB_RATE_10G</rate-class>
+					<trib-protocol xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_10GE_LAN
+					</trib-protocol>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_ETHERNET
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<test-signal>0</test-signal>
+					<link-state>DOWN</link-state>
+				</state>
+				<ingress>
+					<config>
+						<transceiver>transceiver-10107</transceiver>
+					</config>
+					<state>
+						<transceiver>transceiver-10107</transceiver>
+					</state>
+				</ingress>
+				<logical-channel-assignments>
+					<assignment>
+						<index>1</index>
+						<config>
+							<index>1</index>
+							<description>Logical channel assigned</description>
+							<assignment-type>LOGICAL_CHANNEL</assignment-type>
+							<logical-channel>10102</logical-channel>
+							<allocation>10</allocation>
+						</config>
+						<state>
+							<index>1</index>
+							<description>0</description>
+							<assignment-type>LOGICAL_CHANNEL</assignment-type>
+							<logical-channel>10102</logical-channel>
+							<allocation>10</allocation>
+						</state>
+					</assignment>
+				</logical-channel-assignments>
+			</channel>
+			<channel>
+				<!--Description: Client Port-->
+				<index>10108</index>
+				<config>
+					<index>10108</index>
+					<description>Logical channel 10108</description>
+					<admin-state>DISABLED</admin-state>
+					<rate-class xmlns:type="http://openconfig.net/yang/transport-types">type:TRIB_RATE_10G</rate-class>
+					<trib-protocol xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_10GE_LAN
+					</trib-protocol>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_ETHERNET
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<test-signal>0</test-signal>
+				</config>
+				<state>
+					<index>10108</index>
+					<description>Logical channel 10108</description>
+					<admin-state>DISABLED</admin-state>
+					<rate-class xmlns:type="http://openconfig.net/yang/transport-types">type:TRIB_RATE_10G</rate-class>
+					<trib-protocol xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_10GE_LAN
+					</trib-protocol>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_ETHERNET
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<test-signal>0</test-signal>
+					<link-state>DOWN</link-state>
+				</state>
+				<ingress>
+					<config>
+						<transceiver>transceiver-10108</transceiver>
+						<!-- 
+						<physical-channel></physical-channel>
+						-->
+					</config>
+					<state>
+						<transceiver>transceiver-10108</transceiver>
+						<!-- 
+						<physical-channel></physical-channel>
+						-->
+					</state>
+				</ingress>
+				<logical-channel-assignments>
+					<assignment>
+						<index>1</index>
+						<config>
+							<index>1</index>
+							<description>Logical channel assigned</description>
+							<assignment-type>LOGICAL_CHANNEL</assignment-type>
+							<logical-channel>10102</logical-channel>
+							<allocation>10</allocation>
+						</config>
+						<state>
+							<index>1</index>
+							<description>0</description>
+							<assignment-type>LOGICAL_CHANNEL</assignment-type>
+							<logical-channel>10102</logical-channel>
+							<allocation>10</allocation>
+						</state>
+					</assignment>
+				</logical-channel-assignments>
+			</channel>
+
+			<channel>
+				<!--Description: Line (OTN) Port-->
+				<index>10102</index>
+				<config>
+					<index>10102</index>
+					<description>Logical channel 10102</description>
+					<admin-state>DISABLED</admin-state>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_OTN
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+				</config>
+				<state>
+					<index>10102</index>
+					<description>Logical channel 10102</description>
+					<admin-state>DISABLED</admin-state>
+					<logical-channel-type xmlns:type="http://openconfig.net/yang/transport-types">type:PROT_OTN
+					</logical-channel-type>
+					<loopback-mode>NONE</loopback-mode>
+					<link-state>UP</link-state>
+				</state>
+				   <ingress>
+						<config>
+							<transceiver>channel-10102</transceiver>
+							<!--
+							<physical-channel></physical-channel>
+							-->
+						</config>
+						<state>
+							<transceiver>channel-10102</transceiver>
+							<!--
+							<physical-channel></physical-channel>
+							-->
+						</state>
+					</ingress>
+
+				<otn>
+					<config>
+						<tti-msg-expected>test1</tti-msg-expected>
+						<tti-msg-transmit>test1</tti-msg-transmit>
+					</config>
+					<state>
+						<tti-msg-expected>test1</tti-msg-expected>
+						<tti-msg-transmit>test1</tti-msg-transmit>
+						<tti-msg-auto>0</tti-msg-auto>
+						<tti-msg-recv>0</tti-msg-recv>
+						<rdi-msg>0</rdi-msg>
+						<errored-seconds>0</errored-seconds>
+						<severely-errored-seconds>0</severely-errored-seconds>
+						<unavailable-seconds>0</unavailable-seconds>
+						<code-violations>0</code-violations>
+						<fec-uncorrectable-words>0</fec-uncorrectable-words>
+						<fec-corrected-bytes>0</fec-corrected-bytes>
+						<fec-corrected-bits>0</fec-corrected-bits>
+						<background-block-errors>0</background-block-errors>
+						<pre-fec-ber>
+							<instant>0.0</instant>
+							<avg>0.0</avg>
+							<min>0.0</min>
+							<max>0.0</max>
+						</pre-fec-ber>
+						<post-fec-ber>
+							<instant>0</instant>
+							<avg>0</avg>
+							<min>0</min>
+							<max>0</max>
+						</post-fec-ber>
+						<q-value>
+							<instant>0</instant>
+							<avg>0</avg>
+							<min>0</min>
+							<max>0</max>
+							<interval>0</interval>
+						</q-value>
+						<esnr>
+							<instant>0</instant>
+							<avg>0</avg>
+							<min>0</min>
+							<max>0</max>
+							<interval>0</interval>
+						</esnr>
+					</state>
+				</otn>
+				<logical-channel-assignments>
+					<assignment>
+						<index>1</index>
+						<config>
+							<index>1</index>
+							<description>Optical channel assigned 100</description>
+							<allocation>100</allocation>
+							<assignment-type>OPTICAL_CHANNEL</assignment-type>
+							<optical-channel>channel-10102</optical-channel>
+						</config>
+						<state>
+							<index>1</index>
+							<description>Optical channel assigned 100</description>
+							<allocation>100</allocation>
+							<assignment-type>OPTICAL_CHANNEL</assignment-type>
+							<optical-channel>channel-10102</optical-channel>
+						</state>
+					</assignment>
+				</logical-channel-assignments>
+			</channel>
+			<!--/Card2-->
+		</logical-channels>
+	</terminal-device>
+	<components xmlns="http://openconfig.net/yang/platform">
+		<component>
+			<name>device</name>
+			<config>
+				<name>device</name>
+			</config>
+			<state>
+				<name>DC-USA</name>
+				<mfg-name>SSSA-CNIT</mfg-name>
+	         		<hardware-version>1.0.0</hardware-version>
+        	 		<firmware-version>1.0.0</firmware-version>
+         			<software-version>1.0.0</software-version>
+         			<serial-no>610610</serial-no>
+         			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:OPERATING_SYSTEM</type>
+			</state>
+		</component>
+				<!--Card11-->
+		<component>
+			<name>port-10101</name>
+			<config>
+				<name>port-10101</name>
+			</config>
+			<state>
+				<name>port-10101</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:PORT</type>
+			</state>
+			<subcomponents>
+				<subcomponent>
+					<name>channel-10101</name>
+					<config>
+						<name>channel-10101</name>
+					</config>
+					<state>
+						<name>channel-10101</name>
+					</state>
+				</subcomponent>
+			</subcomponents>
+			<properties>
+				<property>
+					<name>onos-index</name>
+					<config>
+						<name>onos-index</name>
+						<value>10101</value>
+					</config>
+					<state>
+						<name>onos-index</name>
+						<value>10101</value>
+					</state>
+				</property>
+				<property>
+					<name>odtn-port-type</name>
+					<config>
+						<name>odtn-port-type</name>
+						<value>line</value>
+					</config>
+					<state>
+						<name>odtn-port-type</name>
+						<value>line</value>
+					</state>
+				</property>
+			</properties>
+		</component>
+		<component>
+			<name>port-10103</name>
+			<config>
+				<name>port-10103</name>
+			</config>
+			<state>
+				<name>port-10103</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:PORT</type>
+			</state>
+			<subcomponents>
+				<subcomponent>
+					<name>transceiver-10103</name>
+					<config>
+						<name>transceiver-10103</name>
+					</config>
+					<state>
+						<name>transceiver-10103</name>
+					</state>
+				</subcomponent>
+			</subcomponents>
+			<properties>
+				<property>
+					<name>onos-index</name>
+					<config>
+						<name>onos-index</name>
+						<value>10103</value>
+					</config>
+					<state>
+						<name>onos-index</name>
+						<value>10103</value>
+					</state>
+				</property>
+				<property>
+					<name>odtn-port-type</name>
+					<config>
+						<name>odtn-port-type</name>
+						<value>client</value>
+					</config>
+					<state>
+						<name>odtn-port-type</name>
+						<value>client</value>
+					</state>
+				</property>
+			</properties>
+		</component>
+		<component>
+			<name>port-10104</name>
+			<config>
+				<name>port-10104</name>
+			</config>
+			<state>
+				<name>port-10104</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:PORT</type>
+			</state>
+			<subcomponents>
+				<subcomponent>
+					<name>transceiver-10104</name>
+					<config>
+						<name>transceiver-10104</name>
+					</config>
+					<state>
+						<name>transceiver-10104</name>
+					</state>
+				</subcomponent>
+			</subcomponents>
+			<properties>
+				<property>
+					<name>onos-index</name>
+					<config>
+						<name>onos-index</name>
+						<value>10104</value>
+					</config>
+					<state>
+						<name>onos-index</name>
+						<value>10104</value>
+					</state>
+				</property>
+				<property>
+					<name>odtn-port-type</name>
+					<config>
+						<name>odtn-port-type</name>
+						<value>client</value>
+					</config>
+					<state>
+						<name>odtn-port-type</name>
+						<value>client</value>
+					</state>
+				</property>
+			</properties>
+		</component>
+		<component>
+			<name>port-10105</name>
+			<config>
+				<name>port-10105</name>
+			</config>
+			<state>
+				<name>port-10105</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:PORT</type>
+			</state>
+			<subcomponents>
+				<subcomponent>
+					<name>transceiver-10105</name>
+					<config>
+						<name>transceiver-10105</name>
+					</config>
+					<state>
+						<name>transceiver-10105</name>
+					</state>
+				</subcomponent>
+			</subcomponents>
+			<properties>
+				<property>
+					<name>onos-index</name>
+					<config>
+						<name>onos-index</name>
+						<value>10105</value>
+					</config>
+					<state>
+						<name>onos-index</name>
+						<value>10105</value>
+					</state>
+				</property>
+				<property>
+					<name>odtn-port-type</name>
+					<config>
+						<name>odtn-port-type</name>
+						<value>client</value>
+					</config>
+					<state>
+						<name>odtn-port-type</name>
+						<value>client</value>
+					</state>
+				</property>
+			</properties>
+		</component>
+		<component>
+			<name>transceiver-10103</name>
+			<config>
+				<name>transceiver-10103</name>
+			</config>
+			<state>
+				<name>transceiver-10103</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:TRANSCEIVER</type>
+			</state>
+		</component>
+		<component>
+			<name>transceiver-10104</name>
+			<config>
+				<name>transceiver-10104</name>
+			</config>
+			<state>
+				<name>transceiver-10104</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:TRANSCEIVER</type>
+			</state>
+		</component>
+		<component>
+			<name>transceiver-10105</name>
+			<config>
+				<name>transceiver-10105</name>
+			</config>
+			<state>
+				<name>transceiver-10105</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:TRANSCEIVER</type>
+			</state>
+		</component>
+		<component>
+			<name>channel-10101</name>
+			<config>
+				<name>channel-10101</name>
+			</config>
+			<state>
+				<name>channel-10101</name>
+      			<type xmlns:typex="http://openconfig.net/yang/transport-types">typex:OPTICAL_CHANNEL</type>
+			</state>
+			<optical-channel xmlns="http://openconfig.net/yang/terminal-device">
+				<config>
+					<frequency>191600000</frequency>
+					<target-output-power>100</target-output-power>
+					<operational-mode>0</operational-mode>
+					<line-port>port-10101</line-port>
+				</config>
+				<state>
+					<frequency>191600000</frequency>
+					<target-output-power>0</target-output-power>
+					<operational-mode>0</operational-mode>
+					<line-port>port-10101</line-port>
+					<group-id>1</group-id>
+					<output-power>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+						<interval>0</interval>
+					</output-power>
+					<input-power>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+						<interval>0</interval>
+					</input-power>
+					<laser-bias-current>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+						<interval>0</interval>
+					</laser-bias-current>
+					<chromatic-dispersion>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+					</chromatic-dispersion>
+					<polarization-mode-dispersion>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+					</polarization-mode-dispersion>
+					<second-order-polarization-mode-dispersion>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+					</second-order-polarization-mode-dispersion>
+					<polarization-dependent-loss>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+						<interval>0</interval>
+					</polarization-dependent-loss>
+				</state>
+			</optical-channel>
+		</component>
+		<!--/Card1-->
+
+		<!--Card12-->
+		<component>
+			<name>port-10102</name>
+			<config>
+				<name>port-10102</name>
+			</config>
+			<state>
+				<name>port-10102</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:PORT</type>
+			</state>
+			<subcomponents>
+				<subcomponent>
+					<name>channel-10102</name>
+					<config>
+						<name>channel-10102</name>
+					</config>
+					<state>
+						<name>channel-10102</name>
+					</state>
+				</subcomponent>
+			</subcomponents>
+			<properties>
+				<property>
+					<name>onos-index</name>
+					<config>
+						<name>onos-index</name>
+						<value>10102</value>
+					</config>
+					<state>
+						<name>onos-index</name>
+						<value>10102</value>
+					</state>
+				</property>
+				<property>
+					<name>odtn-port-type</name>
+					<config>
+						<name>odtn-port-type</name>
+						<value>line</value>
+					</config>
+					<state>
+						<name>odtn-port-type</name>
+						<value>line</value>
+					</state>
+				</property>
+			</properties>
+		</component>
+		<component>
+			<name>port-10106</name>
+			<config>
+				<name>port-10106</name>
+			</config>
+			<state>
+				<name>port-10106</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:PORT</type>
+			</state>
+			<subcomponents>
+				<subcomponent>
+					<name>transceiver-10106</name>
+					<config>
+						<name>transceiver-10106</name>
+					</config>
+					<state>
+						<name>transceiver-10106</name>
+					</state>
+				</subcomponent>
+			</subcomponents>
+			<properties>
+				<property>
+					<name>onos-index</name>
+					<config>
+						<name>onos-index</name>
+						<value>10106</value>
+					</config>
+					<state>
+						<name>onos-index</name>
+						<value>10106</value>
+					</state>
+				</property>
+				<property>
+					<name>odtn-port-type</name>
+					<config>
+						<name>odtn-port-type</name>
+						<value>client</value>
+					</config>
+					<state>
+						<name>odtn-port-type</name>
+						<value>client</value>
+					</state>
+				</property>
+			</properties>
+		</component>
+		<component>
+			<name>port-10107</name>
+			<config>
+				<name>port-10107</name>
+			</config>
+			<state>
+				<name>port-10107</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:PORT</type>
+			</state>
+			<subcomponents>
+				<subcomponent>
+					<name>transceiver-10107</name>
+					<config>
+						<name>transceiver-10107</name>
+					</config>
+					<state>
+						<name>transceiver-10107</name>
+					</state>
+				</subcomponent>
+			</subcomponents>
+			<properties>
+				<property>
+					<name>onos-index</name>
+					<config>
+						<name>onos-index</name>
+						<value>10107</value>
+					</config>
+					<state>
+						<name>onos-index</name>
+						<value>10107</value>
+					</state>
+				</property>
+				<property>
+					<name>odtn-port-type</name>
+					<config>
+						<name>odtn-port-type</name>
+						<value>client</value>
+					</config>
+					<state>
+						<name>odtn-port-type</name>
+						<value>client</value>
+					</state>
+				</property>
+			</properties>
+		</component>
+		<component>
+			<name>port-10108</name>
+			<config>
+				<name>port-10108</name>
+			</config>
+			<state>
+				<name>port-10108</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:PORT</type>
+			</state>
+			<subcomponents>
+				<subcomponent>
+					<name>transceiver-10108</name>
+					<config>
+						<name>transceiver-10108</name>
+					</config>
+					<state>
+						<name>transceiver-10108</name>
+					</state>
+				</subcomponent>
+			</subcomponents>
+			<properties>
+				<property>
+					<name>onos-index</name>
+					<config>
+						<name>onos-index</name>
+						<value>10108</value>
+					</config>
+					<state>
+						<name>onos-index</name>
+						<value>10108</value>
+					</state>
+				</property>
+				<property>
+					<name>odtn-port-type</name>
+					<config>
+						<name>odtn-port-type</name>
+						<value>client</value>
+					</config>
+					<state>
+						<name>odtn-port-type</name>
+						<value>client</value>
+					</state>
+				</property>
+			</properties>
+		</component>
+		<component>
+			<name>transceiver-10106</name>
+			<config>
+				<name>transceiver-10106</name>
+			</config>
+			<state>
+				<name>transceiver-10106</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:TRANSCEIVER</type>
+			</state>
+		</component>
+		<component>
+			<name>transceiver-10107</name>
+			<config>
+				<name>transceiver-10107</name>
+			</config>
+			<state>
+				<name>transceiver-10107</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:TRANSCEIVER</type>
+			</state>
+		</component>
+		<component>
+			<name>transceiver-10108</name>
+			<config>
+				<name>transceiver-10108</name>
+			</config>
+			<state>
+				<name>transceiver-10108</name>
+      			<type xmlns:typex="http://openconfig.net/yang/platform-types">typex:TRANSCEIVER</type>
+			</state>
+		</component>
+		<component>
+			<name>channel-10102</name>
+			<config>
+				<name>channel-10102</name>
+			</config>
+			<state>
+				<name>channel-10102</name>
+      			<type xmlns:typex="http://openconfig.net/yang/transport-types">typex:OPTICAL_CHANNEL</type>
+			</state>
+		    <optical-channel xmlns="http://openconfig.net/yang/terminal-device">
+				<config>
+					<frequency>191600000</frequency>
+					<target-output-power>100</target-output-power>
+					<operational-mode>0</operational-mode>
+					<line-port>port-10102</line-port>
+				</config>
+				<state>
+					<frequency>191600000</frequency>
+					<target-output-power>0</target-output-power>
+					<operational-mode>0</operational-mode>
+					<line-port>port-10102</line-port>
+					<group-id>1</group-id>
+					<output-power>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+						<interval>0</interval>
+					</output-power>
+					<input-power>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+						<interval>0</interval>
+					</input-power>
+					<laser-bias-current>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+						<interval>0</interval>
+					</laser-bias-current>
+					<chromatic-dispersion>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+					</chromatic-dispersion>
+					<polarization-mode-dispersion>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+					</polarization-mode-dispersion>
+					<second-order-polarization-mode-dispersion>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+					</second-order-polarization-mode-dispersion>
+					<polarization-dependent-loss>
+						<instant>0</instant>
+						<avg>0</avg>
+						<min>0</min>
+						<max>0</max>
+						<interval>0</interval>
+					</polarization-dependent-loss>
+				</state>
+			</optical-channel>
+		</component>
+		<!--/Card2-->
+	</components>
+</config>
+