module ietf-l1csm { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-l1csm"; prefix "l1csm"; import ietf-yang-types { prefix "yang"; } import ietf-layer1-types { prefix "l1-types"; } organization "Internet Engineering Task Force (IETF) CCAMP WG"; contact "Editor: Y. Lee (younglee.tx@gmail.com) Editor: K. Lee (kwangkoog.lee@kt.com) Editor: H. Zheng (zhenghaomian@huawei.com) Editor: D. Dhody (dhruv.ietf@gmail.com) Editor: O. G. de-Dios (oscar.gonzalezdedios@telefonica.com) Editor: D. Ceccarelli (daniele.ceccarelli@ericsson.com)"; description "This module describes L1 connectivity service based on MEF 63: Subscriber Layer 1 Service Attribute Technical Specification. Refer to MEF 63 for all terms and the original references used in the module. Copyright (c) 2020 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices."; revision "2020-10-27" { description "Initial revision."; reference "RFC XXXX: A Yang Data Model for L1 Connectivity Service Model (L1CSM)"; // Note: The RFC Editor will replace XXXX with the number // assigned to the RFC once this draft becomes an RFC. } /* * Identities */ identity service-performance-metric { description "Base identity of service-specific performance metric"; reference "MEF63: Subscriber Layer 1 Service Attributes"; } identity one-way-delay { base "service-performance-metric"; description "one way delay."; reference "MEF63: Subscriber Layer 1 Service Attributes"; } identity one-way-errored-second { base "service-performance-metric"; description "one way errored second"; reference "MEF63: Subscriber Layer 1 Service Attributes"; } identity one-way-severely-errored-second { base "service-performance-metric"; description "one way severely errored second"; reference "MEF63: Subscriber Layer 1 Service Attributes"; } identity one-way-unavailable-second { base "service-performance-metric"; description "one way unavailable second"; reference "MEF63: Subscriber Layer 1 Service Attributes"; } identity one-way-availability { base "service-performance-metric"; description "one way availability"; reference "MEF63: Subscriber Layer 1 Service Attributes"; } /* * Groupings */ grouping protocol-coding-optical-interface { description "The 3-tuple
where p:protocol type; c:coding function; o:optical interface function. Valid combinations are defined in Tables 4, 5, 6 and 7 of MEF 63."; reference "MEF 63"; leaf protocol { type identityref { base "l1-types:protocol"; } mandatory true; description "The protocol being used at the UNI."; } leaf coding { type identityref { base "l1-types:coding-func"; } mandatory true; description "The coding function being used at the UNI."; } leaf optical-interface { type identityref { base "l1-types:optical-interface-func"; } mandatory true; description "The optical interface function being used at the UNI."; } } grouping subscriber-l1vc-sls-service-attribute { description "The value of the Subscriber L1VC SLS (Service Level Specification) Service Attribute"; reference "MEF 63"; leaf start-time { type yang:date-and-time; description "a time that represent the date and time for the start of the SLS"; } leaf time-interval { type int32; units seconds; description "a time interval (e.g., 2,419,200 seconds which is 28 days) that is used in conjunction wuth time-start to specify a contiguous sequence of time intervals T for determining when performance objectives are met."; } leaf-list performance-metric { type identityref { base "service-performance-metric"; } description "list of service performance metric."; } } grouping subscriber-l1vc-endpoint-attributes { description "subscriber layer 1 connection endpoint attributes"; reference "MEF 63"; container endpoint-1 { description "One end of UNI id's - string and id"; leaf id { type string; mandatory true; description "subscriber end point ID of one end"; } leaf uni { type leafref { path "/l1-connectivity/access/unis/uni/id"; } mandatory true; description "this is one end of subscriber L1VC end point ID value = UNI-1"; } } container endpoint-2 { description "One end of UNI id's - string and id"; leaf id { type string; mandatory true; description "subscriber end point ID of the other end"; } leaf uni { type leafref { path "/l1-connectivity/access/unis/uni/id"; } mandatory true; description "this is one other end of subscriber L1VC end point ID value = UNI-2"; } } } /* * Data nodes */ container l1-connectivity { description "serves as a top-level container for a list of layer 1 connection services (l1cs)"; container access { description "UNI configurations for access networks"; container unis { description "the list of UNI's to be configured"; list uni { key "id"; description "UNI identifier"; leaf id { type string; description "the UNI id of UNI Service Attributes"; } choice uni-access-type { description "The UNI access type can be specified either by the protocol, coding function and optical interface function, defined in MEF, or by the client-signal, defined in ITU-T."; case mef { uses protocol-coding-optical-interface; } case itu { leaf client-signal { type identityref { base "l1-types:client-signal"; } mandatory true; description "The client signal being used at the UNI"; } } } } } } container services { description "L1VC services"; list service { key "service-id"; description "an unique identifier of a subscriber L1VC service"; leaf service-id { type string; mandatory true; description "a unique service identifier for subscriber L1VC."; } uses subscriber-l1vc-endpoint-attributes; uses subscriber-l1vc-sls-service-attribute; } //end of service list } //end of service container } //service top container }