Clean up A1 controller code
[nonrtric.git] / sdnc-a1-controller / oam / platform-logic / restconfapi-yang / src / main / yang / sotn / ietf-eth-tran-service@2018-03-01.yang
diff --git a/sdnc-a1-controller/oam/platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-eth-tran-service@2018-03-01.yang b/sdnc-a1-controller/oam/platform-logic/restconfapi-yang/src/main/yang/sotn/ietf-eth-tran-service@2018-03-01.yang
deleted file mode 100644 (file)
index cb7c8f0..0000000
+++ /dev/null
@@ -1,572 +0,0 @@
-module ietf-eth-tran-service {
-
-  namespace "urn:ietf:params:xml:ns:yang:ietf-eth-tran-service";
-
-  prefix "ethtsvc";
-
-        import ietf-yang-types {
-                prefix "yang";
-        }
-
-  import ietf-te-types {
-    prefix "te-types";
-  }
-
-  import ietf-eth-tran-types {
-    prefix "etht-types";
-  }
-
-        organization
-                "Internet Engineering Task Force (IETF) CCAMP WG";
-  contact
-    "
-      WG List: <mailto:ccamp@ietf.org>
-      ID-draft editor:
-        Haomian Zheng (zhenghaomian@huawei.com);
-        Italo Busi (italo.busi@huawei.com);
-        Aihua Guo (aihuaguo@huawei.com);
-        Yunbin Xu (xuyunbin@ritt.cn);
-        Yang Zhao (zhaoyangyjy@chinamobile.com);
-        Xufeng Liu (Xufeng_Liu@jabil.com);
-        Giuseppe Fioccola (giuseppe.fioccola@telecomitalia.it);
-    ";
-
-  description
-    "This module defines a YANG data model for describing
-     the Ethernet transport services.";
-
-        revision 2018-03-01 {
-                description
-                        "Initial revision";
-                reference
-                        "draft-zheng-ccamp-client-signal-yang";
-        }
-
-  /*
-  Groupings
-  */
-
-  grouping vlan-classification {
-    description
-      "A grouping which represents classification on an 802.1Q VLAN tag.";
-
-    leaf tag-type {
-      type etht-types:eth-tag-classify;
-      description
-        "The tag type used for VLAN classification.";
-    }
-    choice individual-bundling-vlan {
-      description
-        "VLAN based classification can be individual
-         or bundling.";
-      case individual-vlan {
-        leaf vlan-value {
-          type etht-types:vlanid;
-          description
-            "VLAN ID value.";
-        }
-      }
-
-      case vlan-bundling {
-        leaf vlan-range {
-          type etht-types:vid-range-type;
-          description
-            "List of VLAN ID values.";
-        }
-      }
-    }
-  }
-
-  grouping vlan-write {
-    description
-      "A grouping which represents push/pop operations
-       of an 802.1Q VLAN tag.";
-
-    leaf tag-type {
-      type etht-types:eth-tag-type;
-      description
-        "The VLAN tag type to push/swap.";
-    }
-    leaf vlan-value {
-      type etht-types:vlanid;
-      description
-        "The VLAN ID value to push/swap.";
-    }
-  }
-
-  grouping vlan-operations {
-    description
-      "A grouping which represents VLAN operations.";
-
-      leaf pop-tags {
-      type uint8 {
-        range "1..2";
-      }
-      description
-        "The number of VLAN tags to pop (or swap if used in
-         conjunction with push-tags)";
-    }
-    container push-tags {
-      description
-        "The VLAN tags to push (or swap if used in
-         conjunction with pop-tags)";
-
-      container outer-tag {
-        presence
-          "Indicates existence of the outermost VLAN tag to
-           push/swap";
-
-        description
-          "The outermost VLAN tag to push/swap.";
-
-        uses vlan-write;
-      }
-      container second-tag {
-        must
-                                        '../outer-tag/tag-type = "s-vlan-tag-type" and ' +
-                                        'tag-type = "c-vlan-tag-type"'
-        {
-
-          error-message
-            "
-              When pushing/swapping two tags, the outermost tag must
-              be specified and of S-VLAN type and the second
-              outermost tag must be of C-VLAN tag type.
-            ";
-          description
-            "
-              For IEEE 802.1Q interoperability, when pushing/swapping
-              two tags, it is required that the outermost tag exists
-              and is an S-VLAN, and the second outermost tag is a
-              C-VLAN.
-            ";
-        }
-
-        presence
-          "Indicates existence of a second outermost VLAN tag to
-           push/swap";
-
-        description
-          "The second outermost VLAN tag to push/swap.";
-
-        uses vlan-write;
-      }
-    }
-  }
-
-  grouping bandwidth-profiles {
-    description
-      "A grouping which represent bandwidth profile configuration.";
-
-    choice direction {
-      description
-        "Whether the bandwidth profiles are symmetrical or
-         asymmetrical";
-      case symmetrical {
-        description
-          "The same bandwidth profile is used to describe the ingress
-          and the egress bandwidth profile.";
-
-        leaf ingress-egress-bandwidth-profile-name {
-          type "string";
-          description
-            "Name of the bandwidth profile.";
-        }
-      }
-      case asymmetrical {
-        description
-          "Ingress and egress bandwidth profiles can be specified.";
-        leaf ingress-bandwidth-profile-name {
-          type "string";
-          description
-            "Name of the bandwidth profile used in
-             the ingress direction.";
-        }
-        leaf egress-bandwidth-profile-name {
-          type "string";
-          description
-            "Name of the bandwidth profile used in
-             the egress direction.";
-        }
-      }
-    }
-  }
-
-  grouping etht-svc-access-parameters {
-    description
-      "ETH transport services access parameters";
-
-    leaf access-node-id {
-      type te-types:te-node-id;
-      description
-        "The identifier of the access node in
-         the ETH transport topology.";
-    }
-    leaf access-ltp-id {
-      type te-types:te-tp-id;
-      description
-        "The TE link termination point identifier, used
-         together with access-node-id to identify the
-         access LTP.";
-    }
-    leaf service-classification-type {
-      type identityref {
-        base etht-types:service-classification-type;
-      }
-      description
-        "Service classification type.";
-    }
-
-    choice service-classification {
-      description
-        "Access classification can be port-based or
-         VLAN based.";
-
-      case port-classification {
-        /* no additional information */
-      }
-
-      case vlan-classification {
-        container outer-tag {
-          presence "The outermost VLAN tag exists";
-          description
-            "Classifies traffic using the outermost VLAN tag.";
-
-          uses vlan-classification;
-        }
-        container second-tag {
-          must
-                                                '../outer-tag/tag-type = "classify-s-vlan" and ' +
-                                                'tag-type = "classify-c-vlan"'
-          {
-
-            error-message
-              "
-                When matching two tags, the outermost tag must be
-                specified and of S-VLAN type and the second
-                outermost tag must be of C-VLAN tag type.
-              ";
-            description
-              "
-                For IEEE 802.1Q interoperability, when matching two
-                tags, it is required that the outermost tag exists
-                and is an S-VLAN, and the second outermost tag is a
-                C-VLAN.
-              ";
-          }
-          presence "The second outermost VLAN tag exists";
-
-          description
-            "Classifies traffic using the second outermost VLAN tag.";
-
-          uses vlan-classification;
-        }
-      }
-    }
-
-/*
-        Open issue: can we constraints it to be used only with mp services?
-*/
-                leaf split-horizon-group {
-                        type string;
-                        description "Identify a split horizon group";
-                }
-
-    uses bandwidth-profiles;
-
-    container vlan-operations {
-        description
-          "include parameters for vlan-operation";
-      choice direction {
-        description
-          "Whether the VLAN operations are symmetrical or
-           asymmetrical";
-        case symmetrical {
-          container symmetrical-operation {
-            uses vlan-operations;
-            description
-              "Symmetrical operations.
-               Expressed in the ingress direction, but
-               the reverse operation is applied to egress traffic";
-          }
-        }
-        case asymmetrical {
-          container asymmetrical-operation {
-            description "Asymmetrical operations";
-            container ingress {
-              uses vlan-operations;
-              description "Ingress operations";
-            }
-            container egress {
-              uses vlan-operations;
-              description "Egress operations";
-            }
-          }
-        }
-      }
-    }
-  }
-
-  grouping etht-svc-tunnel-parameters {
-    description
-      "ETH transport services tunnel parameters";
-
-    leaf tunnel-name {
-      type string;
-      description
-        "TE service tunnel instance name.";
-    }
-    choice svc-multiplexing-tag {
-      description
-        "Service multiplexing is optional and flexible.";
-
-      case other {
-        /*
-         placeholder to support proprietary multiplexing
-         (for further discussion)
-        */
-                        }
-
-      case none {
-        /* no additional information is needed */
-                        }
-
-      case vlan-tag {
-        /*
-          No additional information is needed
-          The C-Tag or S-Tag used for service mulitplexing is defined
-          by the VLAN classification and operations configured in the
-          etht-svc-access-parameters grouping
-        */
-                        }
-
-      case pw {
-        /* to be completed (for further discussion) */
-                        }
-    }
-
-/*
-        Open issue: can we constraints it to be used only with mp services?
-*/
-                leaf src-split-horizon-group {
-                        type string;
-                        description "Identify a split horizon group at the Tunnel source TTP";
-                }
-                leaf dst-split-horizon-group {
-                        type string;
-                        description "Identify a split horizon group at the Tunnel destination TTP";
-                }
-  }
-
-  grouping te-topology-identifier {
-                description
-        "An identifier to uniquely identify the TE topology.";
-    leaf access-provider-id {
-      type te-types:te-global-id;
-      description
-        "An identifier to uniquely identify a provider.";
-    }
-    leaf access-client-id {
-      type te-types:te-global-id;
-      description
-        "An identifier to uniquely identify a client.";
-    }
-    leaf access-topology-id {
-      type te-types:te-topology-id;
-      description
-        "Identifies the topology the
-        service access ports belong to.";
-    }
-  }
-
-        grouping  etht-svc-pm-threshold_config {
-                description
-                        "Configuraiton parameters for Ethernet service PM thresholds.";
-
-                leaf sending-rate-high {
-                        type uint64;
-                        description
-                                "High threshold of packet sending rate in kbps.";
-                }
-                leaf sending-rate-low {
-                        type uint64;
-                        description
-                                "Low threshold of packet sending rate in kbps.";
-                }
-                leaf receiving-rate-high {
-                        type uint64;
-                        description
-                                "High threshold of packet receiving rate in kbps.";
-                }
-                leaf receiving-rate-low {
-                        type uint64;
-                        description
-                                "Low threshold of packet receiving rate in kbps.";
-                }
-        }
-
-        grouping  etht-svc-pm-stats {
-                description
-                        "Ethernet service PM statistics.";
-
-                leaf sending-rate-too-high {
-                        type uint32;
-                        description
-                                "Counter that indicates the number of times the sending rate is above the high threshold";
-                }
-                leaf sending-rate-too-low {
-                        type uint32;
-                        description
-                                "Counter that indicates the number of times the sending rate is below the low threshold";
-                }
-                leaf receiving-rate-too-high {
-                        type uint32;
-                        description
-                                "Counter that indicates the number of times the receiving rate is above the high threshold";
-                }
-                leaf receiving-rate-too-low {
-                        type uint32;
-                        description
-                                "Counter that indicates the number of times the receiving rate is below the low threshold";
-                }
-        }
-
-  grouping  etht-svc-instance_config {
-    description
-      "Configuraiton parameters for Ethernet services.";
-
-    leaf etht-svc-name {
-      type string;
-      description
-        "Name of the p2p ETH transport service.";
-    }
-
-                leaf etht-svc-descr {
-                        type string;
-                        description
-                                "Description of the ETH transport service.";
-                }
-
-                leaf etht-svc-type {
-                        type etht-types:service-type;
-                        description
-                                "Type of Ethernet service (p2p, mp2mp or rmp).";
-                        /* Add default as p2p */
-                }
-
-                uses te-topology-identifier;
-
-    list etht-svc-access-ports {
-      key access-port-id;
-      min-elements "1";
-/*
-        Open Issue:
-                Is it possible to limit the max-elements only for p2p services?
-                        max-elements "2";
-*/
-      description
-        "List of the ETH trasport services access port instances.";
-
-      leaf access-port-id {
-        type uint16;
-        description
-          "ID of the service access port instance";
-      }
-        uses etht-svc-access-parameters;
-    }
-    list etht-svc-tunnels {
-      key tunnel-name;
-      description
-        "List of the TE Tunnels supporting the ETH
-        transport service.";
-
-      uses etht-svc-tunnel-parameters;
-    }
-                container pm-config {
-                        description
-                                "ETH service performance monitoring";
-
-                        leaf pm-enable {
-                                type boolean;
-                                description
-                                        "Boolean value indicating whether PM is enabled.";
-                        }
-                        uses etht-svc-pm-threshold_config;
-                }
-    leaf admin-status {
-      type identityref {
-        base te-types:tunnel-state-type;
-      }
-      default te-types:tunnel-state-up;
-      description "ETH service administrative state.";
-    }
-        }
-
-  grouping  etht-svc-instance_state {
-    description
-      "State parameters for Ethernet services.";
-
-    leaf operational-state {
-          type identityref {
-        base te-types:tunnel-state-type;
-      }
-      default te-types:tunnel-state-up;
-          description "ETH service operational state.";
-    }
-    leaf provisioning-state {
-      type identityref {
-        base te-types:lsp-state-type;
-      }
-      description "ETH service provisioning state.";
-    }
-                leaf creation-time {
-                        type yang:date-and-time;
-                        description
-                                "Time of ETH service creation.";
-                }
-                leaf last-updated-time {
-                        type yang:date-and-time;
-                        description
-                                "Time of ETH service last update.";
-                }
-                uses etht-svc-pm-stats;
-  }
-
-  /*
-  Data nodes
-  */
-
-  container etht-svc {
-    description
-      "ETH transport services.";
-
-    container globals {
-      description
-      "ETH profile information.";
-      list etht-svc-bandwidth-profiles {
-        key bandwidth-profile-name;
-        description
-          "List of bandwidth profile templates used by
-           Ethernet services.";
-
-        uses etht-types:etht-bandwidth-profiles;
-      }
-    }
-
-    list etht-svc-instances {
-      key etht-svc-name;
-      description
-        "The list of p2p ETH transport service instances";
-
-      uses etht-svc-instance_config;
-
-      container state {
-        config false;
-        description
-          "Ethernet Service states.";
-
-        uses etht-svc-instance_state;
-      }
-    }
-  }
-}
\ No newline at end of file