Refactor SupportedIfCapability usage
[transportpce.git] / api / src / main / yang / transportpce-portmapping@2022-01-14.yang
diff --git a/api/src/main/yang/transportpce-portmapping@2022-01-14.yang b/api/src/main/yang/transportpce-portmapping@2022-01-14.yang
deleted file mode 100644 (file)
index 6571209..0000000
+++ /dev/null
@@ -1,403 +0,0 @@
-module transportpce-portmapping {
-  yang-version 1;
-  namespace "http://org/opendaylight/transportpce/portmapping";
-  prefix org-opendaylight-transportpce-portmapping;
-
-  import ietf-inet-types {
-    prefix ietf-inet-types;
-    revision-date 2013-07-15;
-  }
-  import org-openroadm-common-optical-channel-types {
-    prefix org-openroadm-common-optical-channel-types;
-    revision-date 2020-05-29;
-  }
-  import org-openroadm-device-types {
-     prefix org-openroadm-device-types;
-     revision-date 2019-11-29;
-  }
-  import org-openroadm-otn-common-types {
-      prefix org-openroadm-otn-common-types;
-      revision-date 2020-03-27;
-  }
-  import org-openroadm-switching-pool-types {
-    prefix org-openroadm-switching-pool-types;
-    revision-date 2019-11-29;
-  }
-  import org-openroadm-port-types {
-    prefix org-openroadm-port-types;
-    revision-date 2020-03-27;
-  }
-
-
-  organization
-    "transportPCE";
-  contact
-    "transportPCE committers - ODL";
-  description
-    "YANG definitions for defining port mapping in TransportPCE.
-     Copyright (c) 2017 AT&T and others. All rights reserved.
-     authors: Dhruv Bhardwaj ( db929a@att.com ) Shweta Vachhani ( sv111y@att.com )
-              Balagangadhar Bathula ( bb4341@att.com )";
-
-  revision 2022-01-14 {
-        description
-        "Modify the container names for ODUCn and OTUCn supporting interfaces";
-  }
-  revision 2021-09-27 {
-      description
-      "Add supporting-otu interface in mapping";
-  }
-  revision 2021-04-26 {
-      description
-      "Adding mux-profile information to support 400G Muxponder";
-  }
-  revision 2021-04-25 {
-      description
-      "OpenROADM version fix 7.1.0 -> 7.1";
-  }
-  revision 2021-03-15 {
-    description
-      "Refacto model to use grouping";
-  }
-  revision 2021-03-10 {
-    description
-      "Add operational and administrative state of device port
-       in mapping";
-  }
-  revision 2020-10-12 {
-    description
-      "Upgrading imported models to 7.1.0";
-  }
-  revision 2020-08-27 {
-    description
-      "Add support to differentiate flexible and fixed
-       grid capabilities with mc-capabilities";
-  }
-  revision 2020-04-29 {
-    description
-      "Add SAPI/DAPI lcp hash value";
-  }
-  revision 2020-01-28 {
-    description
-      "Add necessary parameters to consolidate OTN
-       and address ONAP MDONS use case";
-  }
-  revision 2020-01-13 {
-    description
-      "Add OTN data from device and necessary
-       to build node inside otn topology";
-  }
-  revision 2019-11-15 {
-    description
-      "OTN support";
-  }
-  revision 2019-07-02 {
-    description
-      "Version 2. To manage device 2.2.1";
-  }
-  revision 2017-02-28 {
-    description
-      "Initial revision of port mapping model";
-  }
-
-  typedef openroadm-node-version {
-    type enumeration {
-      enum 1.2.1 {
-        value 1;
-        description
-          "Version 1.2.1";
-      }
-      enum 2.2.1 {
-        value 2;
-        description
-          "Version 2.2.1";
-      }
-      enum 7.1 {
-        value 3;
-        description
-          "Version 7.1";
-      }
-    }
-    description
-        "YANG enumerations for OpenROADM models;
-         enums should be same as OpenROADM models
-         defined in org-openroadm-common-types";
-  }
-
-  grouping node-info {
-    leaf node-type {
-      type org-openroadm-device-types:node-types;
-      description
-        "Identifier for node-type e.g Roadm, xponder";
-    }
-    leaf openroadm-version {
-      type openroadm-node-version;
-    }
-    leaf node-clli {
-      type string;
-      description
-        "Common Language Location Identifier.";
-    }
-    leaf node-vendor {
-      type string;
-      description
-        "Vendor of the equipment";
-    }
-    leaf node-model {
-      type string;
-      description
-        "Physical resource model information.";
-    }
-    leaf node-ip-address {
-      type ietf-inet-types:ip-address;
-      description
-        "Current IP Address of device";
-    }
-  }
-
-  grouping mapping {
-    list mapping {
-      key "logical-connection-point";
-      description
-        "Mapping for Physical circuit pack/port/parent interfaces corresponding
-         to each logical connection point present in the node.";
-      leaf logical-connection-point {
-        type string;
-      }
-      leaf supporting-circuit-pack-name {
-        type string;
-        description
-          "Circuit pack where the logical connection point is located";
-      }
-      leaf supporting-port {
-        type string;
-        description
-          "Port where the logical connection point is located";
-      }
-      leaf supporting-oms {
-        type string;
-        description
-          "OMS interface provisioned on the port";
-      }
-      leaf supporting-ots {
-        type string;
-        description
-          "OTS interface provisioned on the port";
-      }
-      leaf port-direction {
-        type string;
-        description
-          "Useful for line port of XPDR, for which there is no indication
-           in its logical-termination-point naming";
-      }
-      leaf port-qual {
-        type string;
-        description
-          "Useful to identify from portmapping client from network ports
-           of XPDR";
-      }
-      leaf port-admin-state {
-        type string;
-        description
-          "admin-state of port";
-      }
-      leaf port-oper-state {
-        type string;
-        description
-          "operational-state of port";
-      }
-      leaf supporting-ethernet {
-        type string;
-        description
-          "Ethernet interface provisioned on the port";
-      }
-      leaf supporting-otu4 {
-          type string;
-          description
-            "OTU4 interface provisioned on the port";
-        }
-      leaf supporting-otucn {
-          type string;
-          description
-            "OTUCn interface provisioned on the port for B100G support. This includes
-            OTUC2, OTUC3, OTUC4";
-        }
-      leaf supporting-odu4 {
-          type string;
-          description
-            "ODU4 interface provisioned on the port";
-        }
-      leaf supporting-oducn {
-        type string;
-        description
-          "ODUCn interface provisioned on the port for B100G support. This includes
-           ODUC2, ODUC3, ODUC4";
-      }
-      leaf rate {
-        type string;
-        description
-          "Rate supported by the port";
-      }
-      leaf-list supported-interface-capability {
-        type identityref {
-          base org-openroadm-port-types:supported-if-capability;
-        }
-      }
-      uses mpdr-restrictions-grp;
-      leaf xponder-type {
-        type org-openroadm-device-types:xpdr-node-types;
-      }
-      leaf connection-map-lcp {
-        type string;
-        description
-          "For XPDR, associate two logical-connection-points from device/connnection-map
-           data";
-      }
-      leaf partner-lcp {
-        type string;
-        description
-          "For XPDR unidirectional NETWORK port, associate two logical-connection-points
-           from device/partner port data";
-      }
-      leaf lcp-hash-val {
-        type string;
-        description
-          "Hash value generated from node-id and lcp. This value will be used to map-
-           back SAPI and DAPI resource";
-      }
-    }
-  }
-
-  grouping mpdr-restrictions-grp {
-    container mpdr-restrictions {
-      when "../port-qual = 'switch-client' and ../../node-info/openroadm-version = '7.1'";
-      description
-        "This container provides the information about multiplexing of LO ODUs to HO ODUs
-        Caveat: If port advertizes multiple rates, this container does not work and results could
-        be wrong, meaning if the supported-interface-capabilities include, if-100GE-ODU4, if-OTU4-ODU4,
-        if-200GE-oduflexcbr, then min/max-trib-slot could be different";
-      leaf min-trib-slot {
-          type org-openroadm-otn-common-types:opucn-trib-slot-def;
-          description
-              "Minimum OPUCn 5G trib slots in the form of TS #A.B (G.709)";
-      }
-      leaf max-trib-slot {
-          type org-openroadm-otn-common-types:opucn-trib-slot-def;
-          description
-              "Maximum OPUCn 5G trib slots in the form of TS #A.B (G.709)";
-      }
-    }
-  }
-
-  grouping mc-capabilities {
-    list mc-capabilities {
-      key "mc-node-name";
-      description
-        "Capabilities of the media channel associated with a degree SRG, or
-        XPDR (7.1 and above). ";
-      leaf mc-node-name {
-        type string;
-        description
-          "Name of the node, it has the format of DEGi-TTP or SRGj-PP
-           Where i, and j are the degree and SRG numbers respectively.
-           For XPDR type it will have one element in the leaf-list,
-           with name XPDR-mcprofile";
-      }
-      leaf slot-width-granularity {
-        type org-openroadm-common-optical-channel-types:frequency-GHz;
-        default "50";
-        description
-          "Width of a slot measured in GHz.";
-     }
-      leaf center-freq-granularity {
-        type org-openroadm-common-optical-channel-types:frequency-GHz;
-        default "50";
-        description
-          "Width of a slot measured in GHz.";
-      }
-    }
-  }
-
-  grouping cp-to-degree {
-    list cp-to-degree {
-      key "circuit-pack-name";
-      description
-        "This mapping helps locate degree number of the circuitpack that
-         does lldp protocol management";
-      leaf circuit-pack-name {
-        type string;
-      }
-      leaf degree-number {
-        type uint32;
-      }
-      leaf interface-name {
-        type string;
-      }
-    }
-  }
-
-  grouping switching-pool-lcp {
-    list switching-pool-lcp {
-      key "switching-pool-number";
-      description
-        "For MUXPDR and SWITCH, associates from device/odu-switching-pools data,
-         the logical-connection-points";
-      leaf switching-pool-number {
-        type uint16;
-        description
-          "Unique identifier for this odu-switching-pool";
-      }
-      leaf switching-pool-type {
-        type org-openroadm-switching-pool-types:switching-pool-types;
-      }
-      list non-blocking-list {
-        key "nbl-number";
-        leaf nbl-number {
-          type uint16;
-          description
-            "Identifier for this non-blocking-list. Unique within odu-switching-pool";
-        }
-        leaf interconnect-bandwidth-unit {
-          type uint32;
-          description
-            "Switch fabric interconnect bandwidth unit rate in bits per second.
-             Represents granularity of switch fabric";
-        }
-        leaf interconnect-bandwidth {
-          type uint32;
-          description
-            "Total interconnect bandwidth for a non-blocking element expressed as
-             number of inter-connect-bandwidth units : corresponds to capable-
-             inter-connect bandwidth";
-        }
-        leaf available-interconnect-bandwidth {
-          type uint32;
-          description
-            "Total interconnect bandwidth available for a non-blocking element can use as
-             number of inter-connect-bandwidth units";
-        }
-        leaf-list lcp-list {
-          type string;
-        }
-      }
-    }
-  }
-
-  container network {
-    list nodes {
-      key "node-id";
-      leaf node-id {
-        type string;
-        description
-          "Unique identifier for node in the network";
-      }
-      container node-info {
-        uses node-info;
-      }
-      uses mapping;
-      uses mc-capabilities;
-      uses cp-to-degree;
-      uses switching-pool-lcp;
-    }
-  }
-}