Internet DRAFT - draft-zheng-ccamp-client-pm-yang
draft-zheng-ccamp-client-pm-yang
CCAMP Working Group C. Yu
Internet-Draft H. Zheng
Intended status: Standards Track I. Busi
Expires: 5 September 2024 Huawei Technologies
Y. Zheng
China Unicom
V. Lopez
Nokia
O. Gonzalez de Dios
Telefonica
4 March 2024
A YANG Data Model for Client Signal Performance Monitoring
draft-zheng-ccamp-client-pm-yang-10
Abstract
A transport network is a server-layer network to provide connectivity
services to its client. Given the client signal is configured, the
followup function for performance monitoring, such as latency and bit
error rate, would be needed for network operation.
This document describes the data model to support the performance
monitoring functionalities.
About This Document
This note is to be removed before publishing as an RFC.
The latest revision of this draft can be found at
https://haomianzheng.github.io/ccamp-client-pm-yang/draft-zheng-
ccamp-client-pm-yang.html. Status information for this document may
be found at https://datatracker.ietf.org/doc/draft-zheng-ccamp-
client-pm-yang/.
Discussion of this document takes place on the Common Control and
Measurement Plane Working Group mailing list (mailto:ccamp@ietf.org),
which is archived at https://mailarchive.ietf.org/arch/browse/ccamp/.
Subscribe at https://www.ietf.org/mailman/listinfo/ccamp/.
Source for this draft and an issue tracker can be found at
https://github.com/haomianzheng/ccamp-client-pm-yang.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Yu, et al. Expires 5 September 2024 [Page 1]
Internet-Draft PM YANG for Client Signal March 2024
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 5 September 2024.
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology and Notations . . . . . . . . . . . . . . . . . . 3
3. Model Relationship . . . . . . . . . . . . . . . . . . . . . 4
4. Use Cases of Performance Management of Client Signal . . . . 4
4.1. Automatic Service Acceptance Test . . . . . . . . . . . . 5
4.2. Private Line Service SLA Assurance . . . . . . . . . . . 5
5. Consideration on Monitoring Parameters . . . . . . . . . . . 6
5.1. Service Latency Measurement . . . . . . . . . . . . . . . 6
6. OAM Configuration . . . . . . . . . . . . . . . . . . . . . . 7
7. YANG Model for Performance Monitoring . . . . . . . . . . . . 7
7.1. YANG Tree for Performance Monitoring . . . . . . . . . . 7
7.2. YANG Tree for OAM Configuration . . . . . . . . . . . . . 8
8. YANG Code for Performance Monitoring . . . . . . . . . . . . 10
8.1. The Performance Monitoring YANG Code . . . . . . . . . . 10
8.2. The OAM Configuration YANG Code . . . . . . . . . . . . . 18
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26
10. Manageability Considerations . . . . . . . . . . . . . . . . 27
11. Security Considerations . . . . . . . . . . . . . . . . . . . 27
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 27
12.1. Normative References . . . . . . . . . . . . . . . . . . 27
Yu, et al. Expires 5 September 2024 [Page 2]
Internet-Draft PM YANG for Client Signal March 2024
12.2. Informative References . . . . . . . . . . . . . . . . . 29
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 29
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29
1. Introduction
Client-layer network and server-layer network have been respectively
modeled to allow the tunnels carrying the client traffic. Server-
layers are modeled as tunnels with various switching technologies,
such as OTN in [I-D.ietf-ccamp-otn-tunnel-model] and WSON in
[I-D.ietf-ccamp-wson-tunnel-model]. Client-layers are modeled as
client signals according to the client-signal identities specified in
[I-D.ietf-ccamp-layer1-types]. These client signals can be
configured to existing tunnels via the client signal configuration
model specified in [I-D.ietf-ccamp-client-signal-yang].
In the network operation, the operator is interested in monitoring
their instantiated client signal over tunnels. The objective of such
monitoring is to complete timely adjustment once there is abnormal
statistic which may result in failure of the client signal. The
parameters specified in the performance monitoring model can be
collected for the operation need. The OAM mechanism, can be
configured together with the performance monitoring model.
2. Terminology and Notations
A simplified graphical representation of the data model is used in
this document. The meaning of the symbols in the YANG data tree
presented later in this document is defined in [RFC8340]. They are
provided below for reference.
* Brackets "[" and "]" enclose list keys.
* Abbreviations before data node names: "rw" means configuration
(read-write) and "ro" state data (read-only).
* Symbols after data node names: "?" means an optional node, "!"
means a presence container, and "*" denotes a list and leaf-list.
* Parentheses enclose choice and case nodes, and case nodes are also
marked with a colon (":").
* Ellipsis ("...") stands for contents of subtrees that are not
shown.
Yu, et al. Expires 5 September 2024 [Page 3]
Internet-Draft PM YANG for Client Signal March 2024
3. Model Relationship
[I-D.ietf-ccamp-client-signal-yang] has specified the two models for
the client signal configuration, module ietf-trans-client-service for
transparent client service and module ietf-eth-tran-service for
Ethernet service. Basically the client signal types in this document
is consistent with ietf-eth-tran-types, and focus on different
functionality. On the perspective of operator, the modules in
[I-D.ietf-ccamp-client-signal-yang] can be used to configure the
service given any underlay tunnels, while the operation about
monitoring the performance on given service can be achieved by using
the model in this document.
Consideration on Key Performance Information (KPI) monitoring for
Virtual Network (VN) and tunnels has been specified in
[I-D.ietf-teas-actn-pm-telemetry-autonomics]. Usually the monitoring
on the tunnels are the VNs should be separately deployed for the
network operation, but it is possible to have common parameters that
are both needed for the VN/TE and the configured services. Common
types are imported in both modules.
VPN-level parameters and their monitoring have been defined in
[I-D.www-bess-yang-vpn-service-pm]. This module focus on the
performance on the topology at different layer or the overlay
topology between VPN sites. On the other hand, this document is
focusing on the performance of the service configured between
Customer Ends (CE).
[I-D.draft-yu-ccamp-optical-resource-pm-yang]is aimed to provide a
performance management approach on the resource level in a
traditional way. This resource stands for physical resource, such as
board, port etc., or logical resource, e.g. TTP etc. The management
object is different with this document. But there is some
relationship between these two documents. The PM data of client
signal can be collected on some specific resources. And usually
there would be some additional calculation needed for client signal
PM data. This collection mechanism, including which resource should
be adopted, when these resource PM data should be collected and the
calculation method are the focus of this document.
4. Use Cases of Performance Management of Client Signal
Yu, et al. Expires 5 September 2024 [Page 4]
Internet-Draft PM YANG for Client Signal March 2024
4.1. Automatic Service Acceptance Test
After the private line service is provisioned on the network, usually
it needs to take an acceptance test before it is delivered to the
user. This acceptance test includes some connectivity validation,
such as traffic test, to make sure that it's reachable from the
source access port to the destination access port. The engineers
need to take tester onsite and run it manually. It is time consuming
especially when the private line service is an inter-domain service
which the source and destination could be in different cities
It is excellent if this acceptance test can be operated automatically
by interface instead of being done manually. For some scenarios, it
is feasible to achieve this target. For example, we can test the
latency of private line service to replace the connectivity test.
The section of 15.8.2.1.6 in [ITU-T_G.709] defines the mechanism of
delay (latency) measurement mechanism of ODU path. If the latency
value could be returned successfully through the ODU path, then there
will not be interruption on the ODU path.
4.2. Private Line Service SLA Assurance
SLA (Service Level Agreement) is an agreement aligned by the service
provider and the user. This agreement defines service type, quality
of service etc. which the service provider guarantees to the user.
Transport private line service has got the advantage of hard
isolation, large bandwidth, low latency and high reliability. So
usually it is more expensive than the other fixed broadband services.
From the user's perspective, they also have some special demand for
the private line service. For example, some industry customers, e.g.
stock and futures industry customers who have a lot of high-frequency
trading requirement, have extremely high requirement on latency. The
customers from government and security assurance department have
extremely high requirement on service reliability. The Private line
service users expect to monitor service performance indicators to
ensure that their private line services are cost-effective and meet
SLA requirements.
And for the service provider, continuous monitoring of key services'
performance and proactive O&M can reduce customers' complaint and
ensure SLA delivery. The performance data can even be used for
precision marketing. For example, if the bandwidth usage of a user's
private line is too high for a long time, the system can remind the
user to adjust the bandwidth in a timely manner.
Yu, et al. Expires 5 September 2024 [Page 5]
Internet-Draft PM YANG for Client Signal March 2024
+----------+ +----------+
| Operator | | User |
+----------+ +----------+
|| ||
+----------+ +----------+
| OSS | | APP |
+----------+ +----------+
|| ||
+-----------------------+
| domain Controller |
+-----------------------+
||
--------------
/ Network \
\______________/
Figure 1: Architecture of Private Line SLA Assurance
5. Consideration on Monitoring Parameters
For the mechanism of performance monitoring, there have been a lot of
discussion in [ITU-T_G.709], [ITU-T_G.874], [ITU-T_G.875],
[ITU-T_G.7710], [ITU-T_G.7718], and [ITU-T_G.7719]. This document
would like to reference the definition of ITU-T instead of restarting
new discussion. But for the service level's performance parameter,
there is not enough definition both in ITU-T and IETF, this document
will focus on how to define a service level performance parameter.
Considering there could be a lot of new service performance
parameters in the future, it is also suggested to define a generic
data model to conduct the service performance parameters.
5.1. Service Latency Measurement
According to the description of section 15.8.2.1.6 in [ITU-T_G.709],
PM overhead can be used to measure the delay (latency) of ODU path.
Simply speaking, in the latency measurement process, the PM overhead
is generated and delivered on the source port and looped back at the
sink port. By observing the 0-1 change of PM overhead on the source
port, it is able to obtain latency data of E2E ODU path.
For intra-domain services, the domain controller can differentiate
who is the source port and who is the sink port, and orchestrate the
whole measurement process. But for inter-domain service, it is hard
for the domain controller to know the access port in its domain is a
source or sink port. Therefore an orchestrator above is needed to do
this orchestration. The orchestrator specify one of the domain's
access port performs as the sink port and the other domain's access
port performs as a source port. To be noted that, it is important
Yu, et al. Expires 5 September 2024 [Page 6]
Internet-Draft PM YANG for Client Signal March 2024
specify the source and sink ports. Especially the sink port should
be specified at first. It is not allowed to launch latency
measurement from the source port until the sink port has finished its
configuration (loop-back operation). Otherwise the overhead will not
be transmitted back to the source port, so that no latency data will
be obtained.
+--------------+
| Orchestrator |
+--------------+
/ | \
/ | \
/ | \
/ | \
+------+ +------+ +------+
| DC-A | | DC-N | | DC-Z |
+------+ +------+ +------+
| | |
/-----------\ | /-----------\
| Network-A | ---(domian-n)---| Network-Z |--+
| | | |<-| loopback
\-----------/ \-----------/
Figure 2: Inter-domain service latency measurement
6. OAM Configuration
The operation, administration and maintenance protocols and data
models have been specified in [RFC8531] for the connection-oriented
network. The model is referenced in this work to develop an
Ethernet-specific OAM models, which is augmenting the service
performance monitoring data model.
The definitions of OAM terminologies, such as maintainence
Maintenance Domain (MD), Maintenance Association (MA), and
Maintenance End Points (MEP), can be found in [RFC8531] as well.
7. YANG Model for Performance Monitoring
7.1. YANG Tree for Performance Monitoring
Yu, et al. Expires 5 September 2024 [Page 7]
Internet-Draft PM YANG for Client Signal March 2024
module: ietf-service-pm
+--rw performance-monitoring
+--rw service-pm* [service-name]
+--rw service-name union
+--rw task-pm-enable? boolean
+--rw granularity? identityref
+--rw performance-data-config* [parameter-name]
| +--rw parameter-name identityref
| +--rw measure-method? identityref
+--ro service-pm-state
+--ro oam-state
| +--ro cc-state enumeration
| +--ro lm-state? enumeration
| +--ro dm-state? enumeration
+--ro performance-data* [parameter-name]
| +--ro parameter-name identityref
| +--ro parameter-value* [index]
| +--ro index uint64
| +--ro value
| | performance-parameter-value
| +--ro value-unit string
| +--ro value-description? string
| +--ro start-time? yang:date-and-time
| +--ro end-time? yang:date-and-time
+--ro monitor-state identityref
+--ro error-info
| +--ro error-code? uint32
| +--ro error-message? string
+--ro alarm
+--ro status? identityref
Figure 3: YANG Tree for Performance Monitoring
7.2. YANG Tree for OAM Configuration
module: ietf-eth-service-oam
augment /svc-pm:performance-monitoring/svc-pm:service-pm:
+--rw oam-config
+--rw source
| +--rw md-name? string
| +--rw ma-name? string
| +--rw ma-level? string
| +--rw meg-id? string
| +--rw meg-level? string
| +--rw mep-id? uint8
| +--rw remote-mep-id? uint8
+--rw destination
| +--rw md-name? string
Yu, et al. Expires 5 September 2024 [Page 8]
Internet-Draft PM YANG for Client Signal March 2024
| +--rw ma-name? string
| +--rw ma-level? string
| +--rw meg-id? string
| +--rw meg-level? string
| +--rw mep-id? uint8
| +--rw remote-mep-id? uint8
+--rw cc-interval? identityref
+--rw lm-interval? identityref
+--rw dm-interval? identityref
rpcs:
+---x configure-oam
| +---w input
| | +---w oam-config-list* [service-name]
| | +---w service-name union
| | +---w source
| | | +---w md-name? string
| | | +---w ma-name? string
| | | +---w ma-level? string
| | | +---w meg-id? string
| | | +---w meg-level? string
| | | +---w mep-id? uint8
| | | +---w remote-mep-id? uint8
| | +---w destination
| | | +---w md-name? string
| | | +---w ma-name? string
| | | +---w ma-level? string
| | | +---w meg-id? string
| | | +---w meg-level? string
| | | +---w mep-id? uint8
| | | +---w remote-mep-id? uint8
| | +---w cc-interval? identityref
| | +---w lm-interval? identityref
| | +---w dm-interval? identityref
| +--ro output
| +--ro oam-config-list* [service-name]
| +--ro service-name union
| +--ro result? enumeration
| +--ro error-code? uint32
| +--ro error-message? string
+---x delete-oam-configurations
| +---w input
| | +---w service-list* [service-name]
| | +---w service-name union
| +--ro output
| +--ro oam-config-list* [service-name]
| +--ro service-name union
| +--ro result? enumeration
Yu, et al. Expires 5 September 2024 [Page 9]
Internet-Draft PM YANG for Client Signal March 2024
| +--ro error-code? uint32
| +--ro error-message? string
+---x get-node-eth-oam-configurations
+---w input
| +---w te-node-list* -> /nw:networks/network/node/node-id
+--ro output
+--ro oam-list* []
+--ro node-id?
| -> /nw:networks/network/node/node-id
+--ro mep-config-list* [md-name ma-name meg-id mep-id]
+--ro md-name string
+--ro ma-name string
+--ro ma-level? string
+--ro meg-id string
+--ro meg-level? string
+--ro mep-id uint8
+--ro remote-mep-id? uint8
Figure 4: YANG Tree for OAM Configuration
8. YANG Code for Performance Monitoring
8.1. The Performance Monitoring YANG Code
<CODE BEGINS> file "ietf-service-pm@2024-03-04.yang"
module ietf-service-pm {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-service-pm";
prefix "svc-pm";
import ietf-eth-tran-service {
prefix "ethtsvc";
}
import ietf-yang-types {
prefix "yang";
}
import ietf-trans-client-service {
prefix "clntsvc";
}
organization
"Internet Engineering Task Force (IETF) CCAMP WG";
contact
"
WG List: <mailto:ccamp@ietf.org>
Yu, et al. Expires 5 September 2024 [Page 10]
Internet-Draft PM YANG for Client Signal March 2024
ID-draft editor:
Chaode Yu (yuchaode@huawei.com)
Haomian Zheng (zhenghaomian@huawei.com);
Italo Busi (italo.busi@huawei.com);
Yanlei Zheng (zhengyanlei@chinaunicom.cn);
Victor Lopez (victor.lopez@nokia.com);
Oscar Gonzalez de Dios(oscar.gonzalezdedios@telefonica.com);
";
description
"This module defines the performance monitoring for Ethernet
services. The model fully conforms to the Network Management
Datastore Architecture (NMDA).
Copyright (c) 2021 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
(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 2024-03-04 {
description
"Initial version";
reference
"ADD REFERENCE HERE";
}
typedef performance-parameter-value {
type union {
type uint32;
type uint64;
type decimal64 {
fraction-digits 6;
}
type string;
}
description
"A performance parameter value.";
}
grouping service-performance-monitor-set{
description "the set of parameter name, value and description.";
leaf parameter-name{
Yu, et al. Expires 5 September 2024 [Page 11]
Internet-Draft PM YANG for Client Signal March 2024
type identityref {
base performance-parameter-type;
}
description
"The name of parameters to be monitored.
For example, latency, Bit Error Rate, Bandwidth and so on.";
}
list parameter-value {
key index;
description
"The table of values of the performance and
their descriptions.";
leaf index {
type uint64;
description
"Used for list index";
}
leaf value {
type performance-parameter-value;
mandatory true;
description
"The value of the parameter. ";
}
leaf value-unit {
type string;
mandatory true;
description
"The value unit of the parameter.
For example, second, minute and so on.";
}
leaf value-description{
type string;
description
"The description of previous value. ";
}
leaf start-time {
type yang:date-and-time;
description
"The time stamp when the parameter is started.";
}
leaf end-time {
type yang:date-and-time;
description
"The time stamp when the parameter is ended.";
}
}
}
Yu, et al. Expires 5 September 2024 [Page 12]
Internet-Draft PM YANG for Client Signal March 2024
identity performance-parameter-type {
description
"Base type of the performance parameter being monitored.";
}
identity near-frame-loss {
base performance-parameter-type;
description
"Near frame loss, using one-way eth loss measure,
the sampling point is the MEP.";
}
identity far-frame-loss {
base performance-parameter-type;
description
"Far frame loss, using one-way eth loss measure,
the sampling point is the MEP.";
}
identity one-way-delay {
base performance-parameter-type;
description
"One way delay.";
}
identity two-way-delay {
base performance-parameter-type;
description
"Two way delay.";
}
identity receive-packets {
base performance-parameter-type;
description
"Total number of received packets.";
}
identity transmit-packets {
base performance-parameter-type;
description
"Total number of transmitted packets.";
}
identity ingress-bandwidth {
base performance-parameter-type;
description
"Current bandwidth usage of the ingress traffic.";
}
Yu, et al. Expires 5 September 2024 [Page 13]
Internet-Draft PM YANG for Client Signal March 2024
identity egress-bandwidth {
base performance-parameter-type;
description
"Current bandwidth usage of the egress traffic.";
}
identity alarm-status {
description "indicates whether there is alarm or not";
}
identity alarm {
base alarm-status;
description "There is one or multiple alarms from the monitor. ";
}
identity no-alarm {
base alarm-status;
description "There is no alarms from the monitor. ";
}
identity monitoring-state {
description
"The state of performance monitoring. ";
}
identity monitoring {
base monitoring-state;
description "The Ethernet client signal is under monitoring. ";
}
identity monitor-finished {
base monitoring-state;
description
"The monitoring of Ethernet client signal is finished. ";
}
identity monitor-failed {
base monitoring-state;
description
"The monitoring of Ethernet client signal is failed. ";
}
identity granularity-type {
description
"Monitoring granularity";
}
identity granularity-1min {
base granularity-type;
Yu, et al. Expires 5 September 2024 [Page 14]
Internet-Draft PM YANG for Client Signal March 2024
description
"1 minute";
}
identity granularity-15min {
base granularity-type;
description
"15 minutes";
}
identity granularity-24h {
base granularity-type;
description
"24 hours";
}
identity measure-method {
description "Measure method.";
}
identity measure-by-loopback {
base measure-method;
description "Loopback measure method.";
}
identity measure-at-ingress {
base measure-method;
description "Ingress measure method.";
}
container performance-monitoring {
description
"This part is for performance monitoring. ";
list service-pm {
key "service-name";
description
"The list of service to be monitored.";
leaf service-name {
type union {
type leafref {
path "/ethtsvc:etht-svc/ethtsvc:etht-svc-instances"
+ "/ethtsvc:etht-svc-name";
}
type leafref {
path "/clntsvc:client-svc/clntsvc:client-svc-instances"
+ "/clntsvc:client-svc-name";
}
}
mandatory true;
Yu, et al. Expires 5 September 2024 [Page 15]
Internet-Draft PM YANG for Client Signal March 2024
description "The name of service.";
}
leaf task-pm-enable {
type boolean;
description
"Indicate whether the performance monitoring
is enable or not.";
}
leaf granularity {
type identityref {
base granularity-type;
}
description
"Monitoring granularity";
}
list performance-data-config {
key parameter-name;
description
"Specify the performance parameters to be queried";
leaf parameter-name {
type identityref {
base performance-parameter-type;
}
description
"The name of parameters to be monitored.
For example, latency, BER, Bandwidth and so on.";
}
leaf measure-method {
type identityref {
base measure-method;
}
description "Measure Methods.";
}
}
container service-pm-state {
config false;
description
"The state of service performance monitoring.";
container oam-state {
description "the state of OAM. ";
leaf cc-state {
type enumeration {
Yu, et al. Expires 5 September 2024 [Page 16]
Internet-Draft PM YANG for Client Signal March 2024
enum up {
description "up";
}
enum down {
description "down";
}
}
mandatory true;
description
"The state of continuity check.";
}
leaf lm-state {
type enumeration {
enum up {
description "up";
}
enum down {
description "down";
}
}
description
"The state of loss measurement.";
}
leaf dm-state {
type enumeration {
enum up {
description "up";
}
enum down{
description "down";
}
}
description
"The state of delay measurement.";
}
}
list performance-data{
key parameter-name;
description "The list of performance under monitor.";
uses service-performance-monitor-set;
}
leaf monitor-state {
type identityref {
base monitoring-state;
}
mandatory true;
Yu, et al. Expires 5 September 2024 [Page 17]
Internet-Draft PM YANG for Client Signal March 2024
description "The status of performance monitoring. ";
}
container error-info {
description
"Describe the error message.";
leaf error-code {
type uint32;
description
"The code of error.";
}
leaf error-message {
type string;
description
"The message of error.";
}
}
container alarm {
description
"To retrieve the Alarm during performance Monitoring.";
leaf status {
type identityref {
base alarm-status;
}
description "The status of the alarm. ";
}
}
}
}
}
}
<CODE ENDS>
Figure 5: Performance Monitoring YANG Code
8.2. The OAM Configuration YANG Code
<CODE BEGINS> file "ietf-eth-service-oam@2024-03-04.yang"
module ietf-eth-service-oam {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-eth-service-oam";
prefix "eth-oam";
import ietf-eth-tran-service {
prefix "ethtsvc";
Yu, et al. Expires 5 September 2024 [Page 18]
Internet-Draft PM YANG for Client Signal March 2024
}
import ietf-service-pm {
prefix "svc-pm";
}
import ietf-trans-client-service {
prefix "clntsvc";
}
import ietf-network {
prefix nw;
}
organization
"Internet Engineering Task Force (IETF) CCAMP WG";
contact
"
WG List: <mailto:ccamp@ietf.org>
ID-draft editor:
Chaode Yu (yuchaode@huawei.com)
Haomian Zheng (zhenghaomian@huawei.com);
Italo Busi (italo.busi@huawei.com);
Yanlei Zheng (zhengyanlei@chinaunicom.cn);
Victor Lopez (victor.lopez@nokia.com);
Oscar Gonzalez de Dios(oscar.gonzalezdedios@telefonica.com);
";
description
"This module defines the performance monitoring for Ethernet
services OAM. The model fully conforms to the Network Management
Datastore Architecture (NMDA).
Copyright (c) 2021 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
(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 2024-03-04 {
description
"Initial version";
reference
Yu, et al. Expires 5 September 2024 [Page 19]
Internet-Draft PM YANG for Client Signal March 2024
"ADD REFERENCE HERE";
}
identity interval-type {
description "Time interval";
}
identity interval-3p33ms {
base interval-type;
description "3.33 milliseconds";
}
identity interval-10ms {
base interval-type;
description "10 milliseconds";
}
identity interval-100ms {
base interval-type;
description "100 milliseconds";
}
identity interval-1s {
base interval-type;
description "1 second";
}
identity interval-10s {
base interval-type;
description "10 seconds";
}
identity interval-1m {
base interval-type;
description "1 minute";
}
identity interval-10m {
base interval-type;
description "10 minutes";
}
grouping eth-service-oam-config {
container source {
uses mep-config;
description "OAM MEP configuration on source node.";
}
container destination {
Yu, et al. Expires 5 September 2024 [Page 20]
Internet-Draft PM YANG for Client Signal March 2024
uses mep-config;
description "OAM MEP configuration on destination node.";
}
uses interval-config;
description "OAM configuration on Eth services.";
}
grouping interval-config {
description "OAM Interval Configuration.";
leaf cc-interval {
type identityref {
base interval-type;
}
description "Continuity check interval.";
}
leaf lm-interval {
type identityref {
base interval-type;
}
description "Loss measurement interval.";
}
leaf dm-interval {
type identityref {
base interval-type;
}
description "Delay measurement interval.";
}
}
grouping mep-config {
description "OAM MEP Configuration.";
leaf md-name {
type string;
description
"Name of Maintenance Domain.";
}
leaf ma-name {
type string;
description
"Name of Maintenance Domain.
An maintenance association(MA) is a part of an MD.
An MD can be divided into one or more MAs. ";
}
leaf ma-level {
type string;
Yu, et al. Expires 5 September 2024 [Page 21]
Internet-Draft PM YANG for Client Signal March 2024
description
"Maintenance Association Level.";
}
leaf meg-id {
type string;
description
"Comply with Y.1731 term, mapping with 802.lag MA name.";
}
leaf meg-level {
type string;
description "Mapping with 802.lag MA level.";
}
leaf mep-id {
type uint8;
description "0 if Abnormal";
}
leaf remote-mep-id {
type uint8;
description "The remote MEP ID must be specified.";
}
}
augment "/svc-pm:performance-monitoring/svc-pm:service-pm" {
description
"Augment with additional parameters required for Ethernet OAM";
container oam-config {
description "OAM configuration container.";
uses eth-service-oam-config;
}
}
grouping errors {
description "The grouping of error information.";
leaf error-code {
type uint32;
description "The error code.";
}
leaf error-message {
type string;
description "The error message.";
}
}
Yu, et al. Expires 5 September 2024 [Page 22]
Internet-Draft PM YANG for Client Signal March 2024
/*
* Operations
*/
rpc configure-oam {
description "Deliver OAM configurations. ";
input {
list oam-config-list {
key "service-name";
description
"The request list of service oam to be configured.";
leaf service-name {
type union {
type leafref {
path "/ethtsvc:etht-svc/ethtsvc:etht-svc-instances"
+ "/ethtsvc:etht-svc-name";
}
type leafref {
path "/clntsvc:client-svc/clntsvc:client-svc-instances"
+ "/clntsvc:client-svc-name";
}
}
mandatory true;
description "The name of service.";
}
uses eth-service-oam-config;
}
}
output {
list oam-config-list {
key "service-name";
description "The OAM configuration list. ";
leaf service-name {
type union {
type leafref {
path "/ethtsvc:etht-svc/ethtsvc:etht-svc-instances"
+ "/ethtsvc:etht-svc-name";
}
type leafref {
path "/clntsvc:client-svc/clntsvc:client-svc-instances"
+ "/clntsvc:client-svc-name";
}
}
mandatory true;
description "The name of service.";
}
Yu, et al. Expires 5 September 2024 [Page 23]
Internet-Draft PM YANG for Client Signal March 2024
}
leaf result {
type enumeration {
enum success {
description "success";
}
enum failure {
description "failure";
}
}
description "Result of OAM configuration.";
}
uses errors;
}
}
rpc delete-oam-configurations {
description "Delete OAM configurations. ";
input {
list service-list {
key "service-name";
leaf service-name {
type union {
type leafref {
path "/ethtsvc:etht-svc/ethtsvc:etht-svc-instances"
+ "/ethtsvc:etht-svc-name";
}
type leafref {
path "/clntsvc:client-svc/clntsvc:client-svc-instances"
+ "/clntsvc:client-svc-name";
}
}
mandatory true;
description "The name of service.";
}
description "The list of service.";
}
}
output {
list oam-config-list {
key "service-name";
leaf service-name {
type union {
type leafref {
path "/ethtsvc:etht-svc/ethtsvc:etht-svc-instances"
+ "/ethtsvc:etht-svc-name";
Yu, et al. Expires 5 September 2024 [Page 24]
Internet-Draft PM YANG for Client Signal March 2024
}
type leafref {
path "/clntsvc:client-svc/clntsvc:client-svc-instances"
+ "/clntsvc:client-svc-name";
}
}
mandatory true;
description "The name of service.";
}
leaf result {
type enumeration {
enum success {
description "success";
}
enum failure {
description "failure";
}
}
description "The result of OAM deletion.";
}
uses errors;
description "The list of service.";
}
}
}
rpc get-node-eth-oam-configurations {
description "Get the Eth node OAM configuration info.";
input {
leaf-list te-node-list {
type leafref {
path "/nw:networks/nw:network/nw:node/nw:node-id";
}
description
"Node identifier. Must be same in the topology.";
}
}
output {
list oam-list {
leaf node-id {
type leafref {
path "/nw:networks/nw:network/nw:node/nw:node-id";
}
description "The node identifier.";
}
Yu, et al. Expires 5 September 2024 [Page 25]
Internet-Draft PM YANG for Client Signal March 2024
list mep-config-list {
key "md-name ma-name meg-id mep-id";
uses mep-config;
description "The list of MEP configuration.";
}
description "The list of OAM.";
}
}
}
}
<CODE ENDS>
Figure 6: OAM Configuration YANG Code
9. IANA Considerations
This document requests IANA to register the following URIs in the
"ns" subregistry within the "IETF XML Registry" [RFC3688]. Following
the format in [RFC3688], the following registrations are requested.
URI: urn:ietf:params:xml:ns:yang:ietf-service-pm
Registrant Contact: The IESG
XML: N/A; the requested URI is an XML namespace.
URI: urn:ietf:params:xml:ns:yang:ietf-eth-service-oam
Registrant Contact: The IESG
XML: N/A; the requested URI is an XML namespace.
This document requests IANA to register the following YANG modules in
the "IANA Module Names" [RFC6020]. Following the format in
[RFC6020], the following registrations are requested:
name: ietf-service-pm
namespace: urn:ietf:params:xml:ns:yang:ietf-service-pm
prefix: svc-pm
reference: RFC XXXX (This document)
name: ietf-eth-service-oam
namespace: urn:ietf:params:xml:ns:yang:ietf-eth-service-oam
prefix: eth-oam
reference: RFC XXXX (This document)
RFC Editor: Please replace XXXX with the RFC number assigned to this
document.
Yu, et al. Expires 5 September 2024 [Page 26]
Internet-Draft PM YANG for Client Signal March 2024
10. Manageability Considerations
TBD.
11. Security Considerations
The data following the model defined in this document is exchanged
via, for example, the interface between an orchestrator and a
transport network controller. The security concerns mentioned in
[I-D.ietf-ccamp-client-signal-yang] also applies to this document.
The YANG module defined in this document can be accessed via the
RESTCONF protocol defined in [RFC8040], or maybe via the NETCONF
protocol [RFC6241].
12. References
12.1. Normative References
[I-D.draft-yu-ccamp-optical-resource-pm-yang]
Yu, C., Peruzzini, F., Zheng, Y., Lopez, V., Busi, I.,
Guo, A., and X. Zhao, "A YANG Data Model for Optical
Resource Performance Monitoring", Work in Progress,
Internet-Draft, draft-yu-ccamp-optical-resource-pm-yang-
02, 23 October 2023,
<https://datatracker.ietf.org/doc/html/draft-yu-ccamp-
optical-resource-pm-yang-02>.
[I-D.ietf-ccamp-client-signal-yang]
Zheng, H., Guo, A., Busi, I., Snitser, A., Lazzeri, F.,
and C. Yu, "A YANG Data Model for Transport Network Client
Signals", Work in Progress, Internet-Draft, draft-ietf-
ccamp-client-signal-yang-11, 14 December 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-ccamp-
client-signal-yang-11>.
[I-D.ietf-ccamp-layer1-types]
Zheng, H. and I. Busi, "A YANG Data Model for Layer 1
Types", Work in Progress, Internet-Draft, draft-ietf-
ccamp-layer1-types-16, 10 July 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-ccamp-
layer1-types-16>.
[I-D.ietf-teas-actn-pm-telemetry-autonomics]
Lee, Y., Dhody, D., Vilalta, R., King, D., and D.
Ceccarelli, "YANG models for Virtual Network (VN)/TE
Performance Monitoring Telemetry and Scaling Intent
Autonomics", Work in Progress, Internet-Draft, draft-ietf-
Yu, et al. Expires 5 September 2024 [Page 27]
Internet-Draft PM YANG for Client Signal March 2024
teas-actn-pm-telemetry-autonomics-11, 10 September 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-teas-
actn-pm-telemetry-autonomics-11>.
[I-D.www-bess-yang-vpn-service-pm]
Wu, Q., Boucadair, M., de Dios, O. G., Wen, B., Liu, C.,
and H. Xu, "A YANG Model for Network and VPN Service
Performance Monitoring", Work in Progress, Internet-Draft,
draft-www-bess-yang-vpn-service-pm-06, 22 April 2020,
<https://datatracker.ietf.org/doc/html/draft-www-bess-
yang-vpn-service-pm-06>.
[ITU-T_G.709]
International Telecommunication Union, "Interfaces for the
optical transport network", ITU-T Recommendation G.709 ,
June 2020.
[ITU-T_G.7710]
International Telecommunication Union, "Common equipment
management function requirements", ITU-T Recommendation
G.7710 , October 2020.
[ITU-T_G.7718]
International Telecommunication Union, "Framework for the
management of management-control components and
functions", ITU-T Recommendation G.7718 , October 2020.
[ITU-T_G.7719]
International Telecommunication Union, "Management
information model for management-control components and
functions", ITU-T Recommendation G.7719 , June 2021.
[ITU-T_G.874]
International Telecommunication Union, "Management aspects
of optical transport network elements", ITU-T
Recommendation G.874 , November 2022.
[ITU-T_G.875]
International Telecommunication Union, "Optical transport
network: Protocol-neutral management information model for
the network element view", ITU-T Recommendation G.875 ,
June 2020.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004,
<https://www.rfc-editor.org/rfc/rfc3688>.
Yu, et al. Expires 5 September 2024 [Page 28]
Internet-Draft PM YANG for Client Signal March 2024
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010,
<https://www.rfc-editor.org/rfc/rfc6020>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/rfc/rfc6241>.
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/rfc/rfc8040>.
[RFC8531] Kumar, D., Wu, Q., and Z. Wang, "Generic YANG Data Model
for Connection-Oriented Operations, Administration, and
Maintenance (OAM) Protocols", RFC 8531,
DOI 10.17487/RFC8531, April 2019,
<https://www.rfc-editor.org/rfc/rfc8531>.
12.2. Informative References
[I-D.ietf-ccamp-otn-tunnel-model]
Zheng, H., Busi, I., Belotti, S., Lopez, V., and Y. Xu,
"OTN Tunnel YANG Model", Work in Progress, Internet-Draft,
draft-ietf-ccamp-otn-tunnel-model-20, 24 November 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-ccamp-
otn-tunnel-model-20>.
[I-D.ietf-ccamp-wson-tunnel-model]
Lee, Y., Zheng, H., Guo, A., Lopez, V., King, D., Yoon, B.
Y., and R. Vilalta, "A Yang Data Model for WSON Tunnel",
Work in Progress, Internet-Draft, draft-ietf-ccamp-wson-
tunnel-model-09, 9 July 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-ccamp-
wson-tunnel-model-09>.
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/rfc/rfc8340>.
Acknowledgments
TODO acknowledge.
Authors' Addresses
Yu, et al. Expires 5 September 2024 [Page 29]
Internet-Draft PM YANG for Client Signal March 2024
Chaode Yu
Huawei Technologies
Email: yuchaode@huawei.com
Haomian Zheng
Huawei Technologies
H1, Huawei Xiliu Beipo Village, Songshan Lake
Dongguan
Guangdong, 523808
China
Email: zhenghaomian@huawei.com
Italo Busi
Huawei Technologies
Italy
Email: italo.busi@huawei.com
Yanlei Zheng
China Unicom
China
Email: zhengyanlei@chinaunicom.cn
Victor Lopez
Nokia
Spain
Email: victor.lopez@nokia.com
Oscar Gonzalez de Dios
Telefonica
Spain
Email: oscar.gonzalezdedios@telefonica.com
Yu, et al. Expires 5 September 2024 [Page 30]