Change the ODU4 type to ODU-TTP-CTP 03/99803/2
authorBalagangadhar Bathula <bb4341@att.com>
Wed, 16 Feb 2022 21:47:06 +0000 (16:47 -0500)
committerGilles Thouenon <gilles.thouenon@orange.com>
Mon, 21 Feb 2022 15:36:02 +0000 (15:36 +0000)
- Currently higher order ODU4 in 2.2.1 device is
  provisioned as ODU type ODU-TTP.
- However for transponders it can be both TTP and CTP.
- Change the class to ODU-TTP-CTP.

JIRA: TRNSPRTPCE-618
Change-Id: I36eab6e361c8ba5728bc866243084b4a4a3698ec
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmInterface221.java

index a306a031c5faf10f3a01788f1d6d73713de0f250..f536dc1d7b7ec9d764d6eaa791fb7b1192d33689 100644 (file)
@@ -36,6 +36,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.open
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.OduConnectionKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnections;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.XpdrNodeTypes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev171215.AdminStates;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.EthAttributes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.Interface1Builder;
@@ -57,6 +58,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfa
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.ODU4;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.ODUCTP;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.ODUTTP;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.ODUTTPCTP;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.OTU4;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.OduFunctionIdentity;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.PayloadTypeDef;
@@ -252,6 +254,7 @@ public class OpenRoadmInterface221 {
             throw new OpenRoadmInterfaceException(
                     String.format(MAPPING_ERROR_EXCEPTION_MESSAGE, nodeId, logicalConnPoint));
         }
+
         InterfaceBuilder oduInterfaceBldr = createGenericInterfaceBuilder(mapping, OtnOdu.class,
             logicalConnPoint + "-ODU4");
         if (mapping.getSupportingOtu4() != null) {
@@ -268,7 +271,13 @@ public class OpenRoadmInterface221 {
             oduFunction = ODUCTP.class;
             monitoringMode = MonitoringMode.Monitored;
         } else {
-            oduFunction = ODUTTP.class;
+            // For TPDR it can be both CTP and TTP
+            if (mapping.getXponderType() == XpdrNodeTypes.Tpdr) {
+                oduFunction = ODUTTPCTP.class;
+                // For switch-ponder we still use TTP
+            } else {
+                oduFunction = ODUTTP.class;
+            }
             monitoringMode = MonitoringMode.Terminated;
             opu = new OpuBuilder()
                 .setPayloadType(PayloadTypeDef.getDefaultInstance(payloadType))