";
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) 2023 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 Revised BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://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 "2023-02-01" {
description
"Initial revision.";
reference
"RFC XXXX: A Yang Data Model for L1 Connectivity Service Model
(L1CSM)";
}
/*
* 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
"MEF63: Subscriber Layer 1 Service Attributes";
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-endpoint-attributes {
description
"Subscriber Layer 1 connection endpoint attributes";
reference
"MEF63: Subscriber Layer 1 Service Attributes";
container endpoints {
description
"The container for the list of the subscriber L1VC end
points";
list endpoint {
key "endpoint-id";
min-elements 2;
max-elements 2;
description
"The list of the two of the subscriber L1VC end points";
leaf endpoint-id {
type string;
mandatory true;
description
"The subscriber L1VC end point ID";
}
leaf uni {
type leafref {
path "/l1-connectivity/access/unis/uni/uni-id";
}
mandatory true;
description
"The UNI supporting the subscriber L1VC end point";
}
}
}
}
/*
* 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 UNIs to be configured";
list uni {
key "uni-id";
description
"UNI identifier";
leaf uni-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";
reference
"ITU-T G.709 v6.0 (06/2020): Interfaces for the
Optical Transport Network (OTN)";
}
}
}
}
}
}
container services {
description
"L1VC services";
list service {
key "service-id";
description
"A unique identifier of a subscriber L1VC service";
leaf service-id {
type string;
description
"A unique service identifier for subscriber L1VC.";
}
uses subscriber-l1vc-endpoint-attributes;
} //end of service list
} //end of service container
} //service top container
}
]]>