draft-ietf-ccamp-mw-yang-00.txt   draft-ietf-ccamp-mw-yang-01.txt 
CCAMP J. Ahlberg
Internet Draft Ericsson
Intended status: Standards Track M. Ye
Huawei
X. Li
NEC Laboratories Europe
K. Kawada
NEC Corporation
CJ. Bernardos
UC3M
Expires: October 2017 April 22, 2017
A YANG Data Model for Microwave Radio Link CCAMP Working Group J. Ahlberg
Internet-Draft Ericsson AB
Intended status: Standards Track M. Ye
Expires: January 4, 2018 Huawei Technologies
X. Li
NEC Laboratories Europe
K. Kawada
NEC Corporation
CJ. Bernardos
Universidad Carlos III de Madrid
D. Spreafico
Nokia - IT
M. Vaupotic
Aviat Networks
July 3, 2017
draft-ietf-ccamp-mw-yang-00 A YANG Data Model for Microwave Radio Link
draft-ietf-ccamp-mw-yang-01
Abstract Abstract
This document defines a YANG data model in order to This document defines a YANG data model in order to control and
control and manage the radio link interfaces, and the manage the radio link interfaces, and the connectivity to packet
connectivity to packet (typically Ethernet) interfaces (typically Ethernet) interfaces in a microwave/millimeter wave node.
in a microwave/millimeter wave node.
Status of this Memo Requirements Language
This Internet-Draft is submitted in full conformance The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
with the provisions of BCP 78 and BCP 79. "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Internet-Drafts are working documents of the Internet Status of This Memo
Engineering Task Force (IETF). Note that other groups
may also distribute working documents as Internet-
Drafts. The list of current Internet-Drafts is at
http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum This Internet-Draft is submitted in full conformance with the
of six months and may be updated, replaced, or obsoleted provisions of BCP 78 and BCP 79.
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 October 22, 2017. 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 http://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 January 4, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified Copyright (c) 2017 IETF Trust and the persons identified as the
as the document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's This document is subject to BCP 78 and the IETF Trust's Legal
Legal Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the (http://trustee.ietf.org/license-info) in effect on the date of
date of publication of this document. Please review publication of this document. Please review these documents
these documents carefully, as they describe your rights carefully, as they describe your rights and restrictions with respect
and restrictions with respect to this document. Code to this document. Code Components extracted from this document must
Components extracted from this document must include include Simplified BSD License text as described in Section 4.e of
Simplified BSD License text as described in Section 4.e the Trust Legal Provisions and are provided without warranty as
of the Trust Legal Provisions and are provided without described in the Simplified BSD License.
warranty as described in the Simplified BSD License.
Table of Contents Table of Contents
1. Terminology and Definitions ........................2 1. Terminology and Definitions . . . . . . . . . . . . . . . . . 2
2. Introduction........................................3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
3. YANG Data Model (Tree Structure)....................3 3. YANG Data Model (Tree Structure) . . . . . . . . . . . . . . 4
4. YANG Module.........................................7 3.1. the YANG Tree . . . . . . . . . . . . . . . . . . . . . . 4
5. Security Considerations ...........................63 3.2. Explanation of the Microwave Data Model . . . . . . . . . 5
6. IANA Considerations ...............................63 4. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 6
7. References.........................................63 5. Security Considerations . . . . . . . . . . . . . . . . . . . 33
7.1. Normative References .........................63 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34
7.2. Informative References .......................63 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 34
7.1. Normative References . . . . . . . . . . . . . . . . . . 34
7.2. Informative References . . . . . . . . . . . . . . . . . 34
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35
1. Terminology and Definitions 1. Terminology and Definitions
The following terms are used in this document: The following terms are used in this document:
Carrier Termination (CT) is an interface for the Carrier Termination (CT) is an interface for the capacity provided
capacity provided over the air by a single carrier. It over the air by a single carrier. It is typically defined by its
is typically defined by its transmitting and receiving transmitting and receiving frequencies.
frequencies.
Radio Link Terminal (RLT) is an interface providing Radio Link Terminal (RLT) is an interface providing packet capacity
packet capacity and/or TDM capacity to the associated and/or TDM capacity to the associated Ethernet and/or TDM interfaces
Ethernet and/or TDM interfaces in a node and used for in a node and used for setting up a transport service over a
setting up a transport service over a
microwave/millimeter wave link. microwave/millimeter wave link.
The following acronyms are used in this document: The following acronyms are used in this document:
ACM Adaptive Coding Modulation
ACM Adaptive Coding Modulation
ATPC Automatic Transmit Power Control ATPC Automatic Transmit Power Control
CM Coding Modulation CM Coding Modulation
CT Carrier Termination
RLT Radio Link Terminal CT Carrier Termination
RLT Radio Link Terminal
RTPC Remote Transmit Power Control RTPC Remote Transmit Power Control
XPIC Cross Polarization Interference Cancellation XPIC Cross Polarization Interference Cancellation
MIMO Multiple-Input Multiple-Output MIMO Multiple-Input Multiple-Output
2. Introduction 2. Introduction
This document defines a YANG data model for management This document defines a YANG data model for management and control of
and control of the radio link interface(s) and the the radio link interface(s) and the relationship to packet (typically
relationship to packet (typically Ethernet) and/or TDM Ethernet) and/or TDM interfaces in a microwave/millimeter wave node.
interfaces in a microwave/millimeter wave node. The date ETSI EN 302 217 series defines the characteristics and requirements
model includes configuration and state data. of microwave/millimeter wave equipment and antennas. Especially ETSI
EN 302 217-2 [EN 302 217-2] specifies the essential parameters for
the systems operating from 1.4GHz to 86GHz. The data model includes
configuration and state data.
The design of the data model follows the framework for The design of the data model follows the framework for management and
management and control of microwave and millimeter wave control of microwave and millimeter wave interface parameters defined
interface parameters defined in [mw-fmwk]. This in [I-D.ietf-ccamp-microwave-framework]. This framework identifies
framework identifies the need and the scope of the YANG the need and the scope of the YANG data model, the use cases and
data model, the use cases and requirements that the requirements that the model needs to support. Moreover, it provides
model needs to support. Moreover, it provides a detailed a detailed gap analysis to identify the missing parameters and
gap analysis to identify the missing parameters and functionalities of the existing and established models to support the
functionalities of the existing and established models specified use cases and requirements, and based on that recommends
to support the specified use cases and requirements, and how the gaps should be filled with the development of the new model.
based on that recommends how the gaps should be filled
with the development of the new model.
According to the conclusion of the gap analysis, the According to the conclusion of the gap analysis, the structure of the
structure of the data model is based on the structure data model is based on the structure defined in
defined in [I-D.ahlberg-ccamp-microwave-radio-link] and [I-D.ahlberg-ccamp-microwave-radio-link] and it augments RFC 7223 to
it augments RFC 7223 to align with the same structure align with the same structure for management of the packet
for management of the packet interfaces. More interfaces. More specifically, the model will include interface
specifically, the model will include interface layering layering to manage the capacity provided by a radio link terminal for
to manage the capacity provided by a radio link terminal the associated Ethernet and TDM interfaces, using the principles for
for the associated Ethernet and TDM interfaces, using interface layering described in RFC 7223 as a basis.
the principles for interface layering described in RFC
7223 as a basis.
The designed YANG data model uses the IETF: Radio Link The designed YANG data model uses established microwave equipment
Model [I-D.ahlberg-ccamp-microwave-radio-link] and the and radio standards, such as ETSI EN 302 217-2, and the IETF: Radio
ONF: Microwave Modeling [ONF-model] as the basis for the Link Model[I-D.ahlberg-ccamp-microwave-radio-link] and the ONF:
definition of the detailed leafs/parameters, and Microwave Modeling[ONF-model] as the basis for the definition of the
proposes new ones to cover identified gaps which are detailed leafs/parameters, and proposes new ones to cover identified
analyzed in [mw-fmwk]. gaps which are analysed in[I-D.ietf-ccamp-microwave-framework].
3. YANG Data Model (Tree Structure) 3. YANG Data Model (Tree Structure)
module: ietf-microwave-radio-link
+--rw radio-link-protection-groups
| +--rw radio-link-protection-group* [name]
| +--rw name string
| +--rw protection-architecture-type? identityref
| +--rw protection-operation-type? enumeration
| +--rw working-entity* if:interface-ref
| +--rw revertive-wait-to-restore? uint16
| +--rw radio-link-protection-members* if:interface-ref
| +---x protection-external-commands
| +---w input
| +---w protection-external-command? identityref
+--ro radio-link-protection-groups-state
| +--ro radio-link-protection-group* [name]
| +--ro name string
| +--ro protection-status? identityref
+--rw xpic-pairs {xpic}?
| +--rw xpic-pair* [name]
| +--rw name string
| +--rw enabled? boolean
| +--rw xpic-members* if:interface-ref
+--rw mimo-groups {mimo}?
+--rw mimo-group* [name]
+--rw name string
+--rw enabled? boolean
+--rw mimo-members* if:interface-ref
augment /if:interfaces/if:interface:
+--rw id? string
+--rw mode identityref
+--rw carrier-terminations* if:interface-ref
+--rw rlp-groups* -> /radio-link-protection-groups
/radio-link-protection-group/name
+--rw xpic-pairs* -> /xpic-pairs/xpic-pair/name {xpic}?
+--rw mimo-group? -> /mimo-groups/mimo-group/name {mimo}?
+--rw tdm-connections* [tdm-type] {tdm}?
+--rw tdm-type identityref
+--rw tdm-connections unit16
augment /if:interfaces/if:interface:
+--rw carrier-id? string
+--rw tx-enabled? boolean
+--rw tx-frequency uint32
+--rw rx-frequency? uint32
+--rw rx-frequency-config? boolean
+--rw duplex-distance uint32
+--rw channel-separation decimal64
+--rw polarization? enumeration
+--rw power-mode enumeration
+--rw selected-output-power power
+--rw atpc-lower-threshold power
+--rw atpc-upper-threshold power
+--rw coding-modulation-mode enumeration
+--rw selected-cm identityref
+--rw selected-min-acm identityref
+--rw selected-max-acm identityref
+--rw if-loop? enumeration
+--rw rf-loop? enumeration
+--rw ct-performance-thresholds
+--rw received-level-alarm-threshold? power
+--rw transmitted-level-alarm-threshold? power
+--rw ber-alarm-threshold? enumeration
augment /if:interfaces-state/if:interface:
+--ro tx-oper-status? enumeration
+--ro actual-transmitted-level? power
+--ro actual-received-level? power
+--ro actual-tx-cm? identityref
+--ro actual-snir? decimal64
+--ro actual-xpi? decimal64 {xpic}?
+--ro capabilities
+--ro min-tx-frequency? uint32
+--ro max-tx-frequency? uint32
+--ro min-rx-frequency? uint32
+--ro max-rx-frequency? uint32
+--ro available-min-output-power? power
+--ro available-max-output-power? power
+--ro available-min-acm? identityref
+--ro available-max-acm? identityref
augment /if:interfaces-state/if:interface/if:statistics:
+--ro bbe? yang:counter32
+--ro es? yang:counter32
+--ro ses? yang:counter32
+--ro uas? yang:counter32
+--ro min-rltm? power
+--ro max-rltm? power
+--ro min-tltm? power
+--ro max-tltm? power
4. YANG Module 3.1. the YANG Tree
module: ietf-microwave-radio-link
+--rw radio-link-protection-groups
| +--rw radio-link-protection-group* [name]
| +--rw name string
| +--rw protection-architecture-type? identityref
| +--rw protection-operation-type? enumeration
| +--rw working-entity* if:interface-ref
| +--rw revertive-wait-to-restore? uint16
| +--rw radio-link-protection-members* if:interface-ref
| +---x protection-external-commands
| +---w input
| +---w protection-external-command? identityref
+--ro radio-link-protection-groups-state
| +--ro radio-link-protection-group* [name]
| +--ro name string
| +--ro protection-status? identityref
+--rw xpic-pairs {xpic}?
| +--rw xpic-pair* [name]
| +--rw name string
| +--rw enabled? boolean
| +--rw xpic-members* if:interface-ref
+--rw mimo-groups {mimo}?
+--rw mimo-group* [name]
+--rw name string
+--rw enabled? boolean
+--rw mimo-members* if:interface-ref
augment /if:interfaces/if:interface:
+--rw id? string
+--rw mode identityref
+--rw carrier-terminations* if:interface-ref
+--rw rlp-groups* leafref
+--rw xpic-pairs*
-> /xpic-pairs/xpic-pair/name {xpic}?
+--rw mimo-group?
-> /mimo-groups/mimo-group/name {mimo}?
+--rw tdm-connections* [tdm-type] {tdm}?
+--rw tdm-type identityref
+--rw tdm-connections uint16
augment /if:interfaces/if:interface:
+--rw carrier-id? string
+--rw tx-enabled? boolean
+--rw tx-frequency uint32
+--rw rx-frequency? uint32
+--rw duplex-distance? uint32
+--rw channel-separation uint32
+--rw polarization? enumeration
+--rw power-mode enumeration
+--rw selected-output-power power
+--rw atpc-lower-threshold power
+--rw atpc-upper-threshold power
+--rw coding-modulation-mode enumeration
+--rw selected-cm identityref
+--rw selected-min-acm identityref
+--rw selected-max-acm identityref
+--rw if-loop? enumeration
+--rw rf-loop? enumeration
+--rw ct-performance-thresholds
+--rw received-level-alarm-threshold? power
+--rw transmitted-level-alarm-threshold? power
+--rw ber-alarm-threshold? enumeration
augment /if:interfaces-state/if:interface:
+--ro tx-oper-status? enumeration
+--ro actual-transmitted-level? power
+--ro actual-received-level? power
+--ro actual-tx-cm? identityref
+--ro actual-snir? decimal64
+--ro actual-xpi? decimal64 {xpic}?
+--ro capabilities
+--ro min-tx-frequency? uint32
+--ro max-tx-frequency? uint32
+--ro min-rx-frequency? uint32
+--ro max-rx-frequency? uint32
+--ro available-min-output-power? power
+--ro available-max-output-power? power
+--ro available-min-acm? identityref
+--ro available-max-acm? identityref
augment /if:interfaces-state/if:interface/if:statistics:
+--ro bbe? yang:counter32
+--ro es? yang:counter32
+--ro ses? yang:counter32
+--ro uas? yang:counter32
+--ro min-rltm? power
+--ro max-rltm? power
+--ro min-tltm? power
+--ro max-tltm? power
3.2. Explanation of the Microwave Data Model
The leaves in the Interface Management Module augmented by Radio Link
Terminal (RLT) and Carrier Termination (CT) are not always relevant.
"/interfaces/interface/enabled" is not relevant for RLT. Enable and
disable of an interface is done in the constituent CTs.
The packet related measurements "in-octets", "in-unicast-pkts", "in-
broadcast-pkts", "in-multicast-pkts", "in-discards", "in-errors",
"in-unknown-protos", "out-octets", "out-unicast-pkts", "out-
broadcast-pkts", "out-multicast-pkts", "out-discards", "out-errors"
are not within the scope of the microwave radio link domain and
therefore not relevant for RLT and CT.
4. YANG Module
<CODE BEGINS> file "ietf-microwave-radio-link.yang" <CODE BEGINS> file "ietf-microwave-radio-link.yang"
module ietf-microwave-radio-link { module ietf-microwave-radio-link {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link";
prefix mrl;
import ietf-yang-types { namespace "urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link";
prefix yang; prefix "mrl";
}
import ietf-interfaces { import ietf-yang-types {
prefix if; prefix yang;
} }
import iana-if-type { import ietf-interfaces {
prefix ianaift; prefix if;
} }
organization import iana-if-type {
"IETF CCAMP Working Group"; prefix ianaift;
contact }
"jonas.ahlberg@ericsson.com
amy.yemin@huawei.com
Xi.Li@neclab.eu
cjbc@it.uc3m.es
k-kawada@ah.jp.nec.com";
description organization
"This is a module for the entities in a generic "Internet Engineering Task Force (IETF) CCAMP WG";
microwave system."; contact
"
WG List: <mailto:ccamp@ietf.org>
revision 2016-12-22 { ID-draft authors:
description Jonas Ahlberg (jonas.ahlberg@ericsson.com);
"Draft revision covering a complete scope for Min Ye (amy.yemin@huawei.com);
configuration and state data for radio link Xi Li (Xi.Li@neclab.eu);
interfaces."; Koji Kawada (k-kawada@ah.jp.nec.com)
Carlos J. Bernardos (cjbc@it.uc3m.es)
Daniela Spreafico (daniela.spreafico@nokia.com)
Marko Vaupotic (Marko.Vaupotic@aviatnet.com)
";
reference "";
}
revision 2016-10-29 {
description description
"Draft revision."; "This is a module for the entities in a generic microwave system.";
reference "";
}
/* revision 2017-06-21 {
* Features description
*/ "Updated draft revision with updates of some descriptions to
increase clarity and some minor adjustments of the model.";
reference "";
}
revision 2016-12-22 {
description
"Draft revision covering a complete scope for configuration
and state data for radio link interfaces.";
reference "";
}
revision 2016-10-29 {
description
"Draft revision.";
reference "";
}
feature xpic { /*
description * Features
"Indicates that the device supports XPIC."; */
}
feature mimo { feature xpic {
description description
"Indicates that the device supports MIMO."; "Indicates that the device supports XPIC.";
} }
feature tdm { feature mimo {
description description
"Indicates that the device supports TDM."; "Indicates that the device supports MIMO.";
} }
/* feature tdm {
* Interface identities description
*/ "Indicates that the device supports TDM.";
}
identity radio-link-terminal { /*
base ianaift:iana-interface-type; * Interface identities
description */
"Interface identity for a radio link terminal.";
}
identity carrier-termination { identity radio-link-terminal {
base ianaift:iana-interface-type; base ianaift:iana-interface-type;
description description
"Interface identity for a carrier termination."; "Interface identity for a radio link terminal.";
}
/* }
* Radio-link-terminal mode identities
*/
identity rlt-mode {
description
"A description of the mode in which the radio
link terminal is configured. The format is X
plus Y. X represent the number of bonded
carrier terminations. Y represent the number
of protecting carrier terminations.";
}
identity one-plus-zero { identity carrier-termination {
base rlt-mode; base ianaift:iana-interface-type;
description description
"1 carrier termination only."; "Interface identity for a carrier termination.";
} }
identity one-plus-one { /*
base rlt-mode; * Radio-link-terminal mode identities
description */
"1 carrier termination
and 1 protecting carrier termination.";
}
identity two-plus-zero { identity rlt-mode {
base rlt-mode; description
description "A description of the mode in which the radio link
"2 bonded carrier terminations."; terminal is configured. The format is X plus Y.
} X represent the number of bonded carrier terminations.
Y represent the number of protecting carrier
terminations.";
}
/* identity one-plus-zero {
* Coding and modulation identities base rlt-mode;
*/ description
"1 carrier termination only.";
}
identity coding-modulation { identity one-plus-one {
description base rlt-mode;
"The coding and modulation schemes."; description
} "1 carrier termination
and 1 protecting carrier termination.";
}
identity half-bpsk-strong { identity two-plus-zero {
base coding-modulation; base rlt-mode;
description description
"Half BPSK strong coding and modulation scheme."; "2 bonded carrier terminations.";
} }
identity half-bpsk {
base coding-modulation;
description
"Half BPSK coding and modulation scheme.";
}
identity half-bpsk-light { /*
base coding-modulation; * Coding and modulation identities
description */
"Half BPSK light coding and modulation scheme.";
}
identity bpsk-strong { identity coding-modulation {
base coding-modulation; description
description "The coding and modulation schemes.";
"BPSK strong coding and modulation scheme."; }
} identity half-bpsk-strong {
base coding-modulation;
description
"Half BPSK strong coding and modulation scheme.";
}
identity bpsk { identity half-bpsk {
base coding-modulation; base coding-modulation;
description description
"BPSK coding and modulation scheme."; "Half BPSK coding and modulation scheme.";
} }
identity bpsk-light { identity half-bpsk-light {
base coding-modulation; base coding-modulation;
description description
"BPSK light coding and modulation scheme."; "Half BPSK light coding and modulation scheme.";
} }
identity qpsk { identity bpsk-strong {
base coding-modulation; base coding-modulation;
description description
"QPSK coding and modulation scheme."; "BPSK strong coding and modulation scheme.";
} }
identity qam-4-strong { identity bpsk {
base coding-modulation; base coding-modulation;
description description
"4 QAM strong coding and modulation scheme."; "BPSK coding and modulation scheme.";
} }
identity qam-4 { identity bpsk-light {
base coding-modulation; base coding-modulation;
description description
"4 QAM coding and modulation scheme."; "BPSK light coding and modulation scheme.";
} }
identity qam-4-light {
base coding-modulation;
description
"4 QAM light coding and modulation scheme.";
}
identity qam-16-strong { identity qpsk {
base coding-modulation; base coding-modulation;
description description
"16 QAM strong coding and modulation scheme."; "QPSK coding and modulation scheme.";
} }
identity qam-16 { identity qam-4-strong {
base coding-modulation; base coding-modulation;
description description
"16 QAM coding and modulation scheme."; "4 QAM strong coding and modulation scheme.";
} }
identity qam-4 {
base coding-modulation;
description
"4 QAM coding and modulation scheme.";
}
identity qam-16-light { identity qam-4-light {
base coding-modulation; base coding-modulation;
description description
"16 QAM light coding and modulation scheme."; "4 QAM light coding and modulation scheme.";
} }
identity qam-32-strong { identity qam-16-strong {
base coding-modulation; base coding-modulation;
description description
"32 QAM strong coding and modulation scheme."; "16 QAM strong coding and modulation scheme.";
} }
identity qam-32 { identity qam-16 {
base coding-modulation; base coding-modulation;
description description
"32 QAM coding and modulation scheme."; "16 QAM coding and modulation scheme.";
} }
identity qam-32-light { identity qam-16-light {
base coding-modulation; base coding-modulation;
description description
"32 QAM light coding and modulation scheme."; "16 QAM light coding and modulation scheme.";
} }
identity qam-64-strong { identity qam-32-strong {
base coding-modulation; base coding-modulation;
description description
"64 QAM strong coding and modulation scheme."; "32 QAM strong coding and modulation scheme.";
} }
identity qam-64 {
base coding-modulation;
description
"64 QAM coding and modulation scheme.";
}
identity qam-64-light { identity qam-32 {
base coding-modulation; base coding-modulation;
description description
"64 QAM light coding and modulation scheme."; "32 QAM coding and modulation scheme.";
} }
identity qam-128-strong { identity qam-32-light {
base coding-modulation; base coding-modulation;
description description
"128 QAM strong coding and modulation scheme."; "32 QAM light coding and modulation scheme.";
} }
identity qam-64-strong {
base coding-modulation;
description
"64 QAM strong coding and modulation scheme.";
}
identity qam-128 { identity qam-64 {
base coding-modulation; base coding-modulation;
description description
"128 QAM coding and modulation scheme."; "64 QAM coding and modulation scheme.";
} }
identity qam-128-light { identity qam-64-light {
base coding-modulation; base coding-modulation;
description description
"128 QAM light coding and modulation scheme."; "64 QAM light coding and modulation scheme.";
} }
identity qam-256-strong { identity qam-128-strong {
base coding-modulation; base coding-modulation;
description description
"256 QAM strong coding and modulation scheme."; "128 QAM strong coding and modulation scheme.";
} }
identity qam-256 { identity qam-128 {
base coding-modulation; base coding-modulation;
description description
"256 QAM coding and modulation scheme."; "128 QAM coding and modulation scheme.";
} }
identity qam-256-light { identity qam-128-light {
base coding-modulation; base coding-modulation;
description description
"256 QAM light coding and modulation scheme."; "128 QAM light coding and modulation scheme.";
} }
identity qam-512-strong {
base coding-modulation;
description
"512 QAM strong coding and modulation scheme.";
}
identity qam-512 { identity qam-256-strong {
base coding-modulation; base coding-modulation;
description description
"512 QAM coding and modulation scheme."; "256 QAM strong coding and modulation scheme.";
} }
identity qam-512-light { identity qam-256 {
base coding-modulation; base coding-modulation;
description description
"512 QAM light coding and modulation scheme."; "256 QAM coding and modulation scheme.";
} }
identity qam-256-light {
base coding-modulation;
description
"256 QAM light coding and modulation scheme.";
}
identity qam-1024-strong { identity qam-512-strong {
base coding-modulation; base coding-modulation;
description description
"1024 QAM strong coding and modulation scheme."; "512 QAM strong coding and modulation scheme.";
} }
identity qam-1024 { identity qam-512 {
base coding-modulation; base coding-modulation;
description description
"1024 QAM coding and modulation scheme."; "512 QAM coding and modulation scheme.";
} }
identity qam-1024-light { identity qam-512-light {
base coding-modulation; base coding-modulation;
description description
"1024 QAM light coding and modulation scheme."; "512 QAM light coding and modulation scheme.";
} }
identity qam-2048-strong { identity qam-1024-strong {
base coding-modulation; base coding-modulation;
description description
"2048 QAM strong coding and modulation scheme."; "1024 QAM strong coding and modulation scheme.";
} }
identity qam-2048 { identity qam-1024 {
base coding-modulation; base coding-modulation;
description description
"2048 QAM coding and modulation scheme."; "1024 QAM coding and modulation scheme.";
} }
identity qam-2048-light {
base coding-modulation;
description
"2048 QAM light coding and modulation scheme.";
}
identity qam-4096-strong { identity qam-1024-light {
base coding-modulation; base coding-modulation;
description description
"4096 QAM strong coding and modulation scheme."; "1024 QAM light coding and modulation scheme.";
} }
identity qam-4096 { identity qam-2048-strong {
base coding-modulation; base coding-modulation;
description description
"4096 QAM coding and modulation scheme."; "2048 QAM strong coding and modulation scheme.";
} }
identity qam-2048 {
base coding-modulation;
description
"2048 QAM coding and modulation scheme.";
}
identity qam-4096-light { identity qam-2048-light {
base coding-modulation; base coding-modulation;
description description
"4096 QAM light coding and modulation scheme."; "2048 QAM light coding and modulation scheme.";
} }
/* identity qam-4096-strong {
* Protection architecture type identities base coding-modulation;
*/ description
identity protection-architecture-type { "4096 QAM strong coding and modulation scheme.";
description }
"protection architecture type";
}
identity one-plus-one-type { identity qam-4096 {
base protection-architecture-type; base coding-modulation;
description description
"One carrier termination and "4096 QAM coding and modulation scheme.";
one protecting carrier termination."; }
}
identity one-to-n-type { identity qam-4096-light {
base protection-architecture-type; base coding-modulation;
description description
"One carrier termination protecting "4096 QAM light coding and modulation scheme.";
n other carrier terminations."; }
}
/*
* Protection states identities
*/
identity protection-states { /*
description * Protection architecture type identities
"Identities describing the status of the protection, */
in a group of carrier terminations configured in identity protection-architecture-type {
a radio link protection mode."; description
} "protection architecture type";
}
identity unprotected { identity one-plus-one-type {
base protection-states; base protection-architecture-type;
description "Not protected"; description
} "One carrier termination and
one protecting carrier termination.";
}
identity protected { identity one-to-n-type {
base protection-states; base protection-architecture-type;
description "Protected"; description
} "One carrier termination protecting
n other carrier terminations.";
}
identity unable-to-protect { /*
base protection-states; * Protection states identities
description "Unable to protect"; */
}
/* identity protection-states {
* protection-external-commands identities description
*/ "Identities describing the status of the protection,
in a group of carrier terminations configured in
a radio link protection mode.";
}
identity protection-external-commands{ identity unprotected {
description base protection-states;
"Protection external commands for trouble shooting description "Not protected";
purpose."; }
}
identity manual-switch{ identity protected {
base protection-external-commands; base protection-states;
description description "Protected";
"A switch action initiated by an operator command. }
It switches normal traffic signal to the protection
transport entity.";
}
/*
* TDM-type identities
*/
identity tdm-type {
description
"A description of the type of TDM connection,
also indicating the supported capacity of the
connection.";
}
identity E1 { identity unable-to-protect {
base tdm-type; base protection-states;
description description "Unable to protect";
"E1 connection, 2,048 Mbit/s."; }
}
identity STM-1 { /*
base tdm-type; * protection-external-commands identities
description */
"STM-1 connection, 155,52 Mbit/s.";
}
/* identity protection-external-commands{
* Typedefs description
*/ "Protection external commands for trouble shooting purpose.";
typedef power { }
type decimal64 {
fraction-digits 1;
}
description
"Type used for power values, selected and measured.";
}
/* identity manual-switch{
* Radio Link Terminal (RLT) - Configuration data nodes base protection-external-commands;
*/ description
augment "/if:interfaces/if:interface" { "A switch action initiated by an operator command. It switches
when "if:type = 'mrl:radio-link-terminal'"; normal traffic signal to the protection transport entity.";
description }
"Addition of data nodes for radio link terminal to
the standard Interface data model, for interfaces of
the type 'radio-link-terminal'.";
leaf id { identity forced-switch{
type string; base protection-external-commands;
default ""; description
description "A switch action initiated by an operator command. It switches
"ID of the radio link terminal. Used by far-end when normal traffic signal to the protection transport entity and
checking that it's connected to the correct RLT."; forces it to remain on that entity even when criteria for
} switching back to the orignal entity are fulfilled.";
}
leaf mode { /*
type identityref { * TDM-type identities
base rlt-mode; */
}
mandatory true;
description
"A description of the mode in which the radio link
terminal is configured. The format is X plus Y.
X represent the number of bonded carrier terminations.
Y represent the number of protecting carrier
terminations.";
}
leaf-list carrier-terminations { identity tdm-type {
type if:interface-ref; description
must "/if:interfaces/if:interface[if:name = current()]" "A description of the type of TDM connection,
+ "/if:type = 'mrl:carrier-termination'" { also indicating the supported capacity of the
description connection.";
"The type of interface must be }
'carrier-termination'.";
}
min-elements 1;
description
"A list of references to carrier terminations
included in the radio link terminal.";
}
leaf-list rlp-groups { identity E1 {
type leafref { base tdm-type;
path "/mrl:radio-link-protection-groups/" description
+ "mrl:radio-link-protection-group/mrl:name"; "E1 connection, 2,048 Mbit/s.";
} }
description
"A list of references to the carrier termination
groups configured for radio link protection in this
radio link terminal.";
}
leaf-list xpic-pairs {
if-feature xpic;
type leafref {
path "/mrl:xpic-pairs/mrl:xpic-pair/mrl:name";
}
description
"A list of references to the XPIC pairs used in this
radio link terminal. One pair can be used by two
terminals.";
}
leaf mimo-group { identity STM-1 {
if-feature mimo; base tdm-type;
type leafref { description
path "/mrl:mimo-groups/mrl:mimo-group/mrl:name"; "STM-1 connection, 155,52 Mbit/s.";
} }
description
"A reference to the MIMO group used in this
radio link terminal. One group can be used by more
than one terminal.";
}
list tdm-connections { /*
if-feature tdm; * Typedefs
key "tdm-type"; */
description
"A list stating the number of TDM connections of a
specified tdm-type that is supported by the RLT.";
leaf tdm-type {
type identityref {
base tdm-type;
}
description
"The type of TDM connection, which also indicates
the supported capacity.";
}
leaf tdm-connections { typedef power {
type uint16; type decimal64 {
mandatory true; fraction-digits 1;
description "Number of connections of the specified type."; }
} description
} "Type used for power values, selected and measured.";
} }
/*
* Carrier Termination - Configuration data nodes
*/
augment "/if:interfaces/if:interface" { /*
when "if:type = 'mrl:carrier-termination'"; * Radio Link Terminal (RLT) - Configuration data nodes
description */
"Addition of data nodes for carrier termination to
the standard Interface data model, for interfaces
of the type 'carrier-termination'.";
leaf carrier-id {
type string;
default "A";
description
"ID of the carrier. (e.g. A, B, C or D)
Used in XPIC & MIMO configurations to check that
the carrier termination is connected to the correct
far-end carrier termination. Should be the same
carrier ID on both sides of the hop.
Defaulted when not MIMO or XPIC.";
}
leaf tx-enabled { augment "/if:interfaces/if:interface" {
type boolean; when "if:type = 'mrl:radio-link-terminal'";
default "false"; description
description "Addition of data nodes for radio link terminal to
" Disables (false) or enables (true) the the standard Interface data model, for interfaces of
transmitter.Only applicable when the interface the type 'radio-link-terminal'.";
is enabled (interface:enabled = true) otherwise
it's always disabled.";
}
leaf tx-frequency { leaf id {
type uint32; type string;
units "kHz"; default "";
mandatory true; description
description "ID of the radio link terminal. Used by far-end when
"Selected transmitter frequency."; checking that it's connected to the correct RLT.";
} }
leaf rx-frequency {
type uint32;
units "kHz";
description
"Selected receiver frequency.
Mandatory and writeable when rx-frequency-config=true.
Otherwise read-only and calculated from tx-frequency
and duplex-distance.";
}
leaf rx-frequency-config { leaf mode {
type boolean; type identityref {
default "true"; base rlt-mode;
description }
"Enable (true) or disable (false) direct mandatory true;
configuration of rx-frequency and instead description
using a defined duplex distance."; "A description of the mode in which the radio link
} terminal is configured. The format is X plus Y.
X represent the number of bonded carrier terminations.
Y represent the number of protecting carrier
terminations.";
}
leaf duplex-distance { leaf-list carrier-terminations {
when "../rx-frequency-config = 'false'"; type if:interface-ref;
type uint32; must "/if:interfaces/if:interface[if:name = current()]"
units "kHz"; + "/if:type = 'mrl:carrier-termination'" {
mandatory true; description
description "The type of interface must be
"Distance between Tx & Rx frequencies. 'carrier-termination'.";
Used to calaculate rx-frequency when }
rx-frequency-config=false."; min-elements 1;
} description
"A list of references to carrier terminations
included in the radio link terminal.";
}
leaf channel-separation { leaf-list rlp-groups {
type decimal64 { type leafref {
fraction-digits 1; path "/mrl:radio-link-protection-groups/"
} + "mrl:radio-link-protection-group/mrl:name";
units "MHz"; }
mandatory true; description
description "A list of references to the carrier termination
"The amount of bandwidth allocated to a carrier."; groups configured for radio link protection in this
} radio link terminal.";
}
leaf polarization { leaf-list xpic-pairs {
type enumeration { if-feature xpic;
enum "horizontal" { type leafref {
description "Horizontal polarization."; path "/mrl:xpic-pairs/mrl:xpic-pair/mrl:name";
} }
enum "vertical" { description
description "Vertical polarization."; "A list of references to the XPIC pairs used in this
} radio link terminal. One pair can be used by two
enum "not-specified" { terminals.";
description "Polarization not specified."; }
}
}
default "not-specified";
description
"Polarization - A textual description for info only.";
}
leaf power-mode { leaf mimo-group {
type enumeration { if-feature mimo;
enum rtpc { type leafref {
description "Remote Transmit Power Control (RTPC)."; path "/mrl:mimo-groups/mrl:mimo-group/mrl:name";
} }
enum atpc { description
description "Automatic Transmit Power Contro "A reference to the MIMO group used in this
(ATPC)."; radio link terminal. One group can be used by more
} than one terminal.";
} }
mandatory true;
description
"A choice of Remote Transmit Power Control (RTPC)
or Automatic Transmit Power Control (ATPC).";
}
leaf selected-output-power { list tdm-connections {
type power { if-feature tdm;
range "-99..40"; key "tdm-type";
} description
units "dBm"; "A list stating the number of active TDM connections of
mandatory true; a specified tdm-type that is configured to be supported
description by the RLT.";
"Selected output power in RTPC mode and selected leaf tdm-type {
maximum selected maximum output power in ATPC mode. type identityref {
Minimum ouput power in ATPC mode is the same as the base tdm-type;
system capability, available-min-output-power."; }
} description
"The type of TDM connection, which also indicates
the supported capacity.";
}
leaf tdm-connections {
type uint16;
mandatory true;
description "Number of connections of the specified type.";
}
}
}
/*
* Carrier Termination - Configuration data nodes
*/
leaf atpc-lower-threshold { augment "/if:interfaces/if:interface" {
when "../power-mode = 'atpc'"; when "if:type = 'mrl:carrier-termination'";
type power { description
range "-99..-30"; "Addition of data nodes for carrier termination to the
} standard Interface data model, for interfaces of the type
units "dBm"; 'carrier-termination'.";
mandatory true;
description
"The lower threshold for the input power at far-end used in
the ATPC mode.";
}
leaf atpc-upper-threshold { leaf carrier-id {
when "../power-mode = 'atpc'"; type string;
type power { default "A";
range "-99..-30"; description
} "ID of the carrier. (e.g. A, B, C or D)
units "dBm"; Used in XPIC & MIMO configurations to check that the
mandatory true; carrier termination is connected to the correct far-end
description carrier termination. Should be the same carrier ID on
"The upper threshold for the input power both sides of the hop.
at far-end used in the ATPC mode."; Defaulted when not MIMO or XPIC.";
} }
leaf coding-modulation-mode { leaf tx-enabled {
type enumeration { type boolean;
enum fixed { default "false";
description "Fixed coding/modulation."; description
} "Disables (false) or enables (true) the transmitter.
enum adaptive { Only applicable when the interface is enabled
description "Adaptive coding/modulation."; (interface:enabled = true) otherwise it's always
} disabled.";
} }
mandatory true;
description
"A selection of fixed or
adaptive coding/modulation mode.";
}
leaf selected-cm { leaf tx-frequency {
when "../coding-modulation-mode = 'fixed'"; type uint32;
type identityref { units "kHz";
base coding-modulation; mandatory true;
} description
mandatory true; "Selected transmitter frequency.";
description }
"Selected fixed coding/modulation.";
}
leaf selected-min-acm {
when "../coding-modulation-mode = 'adaptive'";
type identityref {
base coding-modulation;
}
mandatory true;
description
"Selected minimum coding/modulation.
Adaptive coding/modulation shall not go
below this value.";
}
leaf selected-max-acm { leaf rx-frequency {
when "../coding-modulation-mode = 'adaptive'"; type uint32;
type identityref { units "kHz";
base coding-modulation; description
} "Selected receiver frequency.
mandatory true; Overrides existing value in duplex-distance.
description Calculated from tx-frequency and duplex-distance if
"Selected maximum coding/modulation. only duplex-distance is configured.
Adaptive coding/modulation shall not go Must match duplex-distance if both leaves are
above this value."; configured in a single operation.";
} }
leaf if-loop { leaf duplex-distance {
type enumeration { type uint32;
enum disabled { units "kHz";
description "Disables the IF Loop."; description
} "Distance between Tx & Rx frequencies.
enum client { Used to calculate rx-frequency when
description "Loops the signal back to the client side."; rx-frequency is not specifically configured.
} Overrides existing value in rx-frequency.
enum radio { Calculated from tx-frequency and rx-frequency if only
description "Loops the signal back to the radio side."; rx-frequency is configured.
} Must match rx-frequency if both leaves are configured
} in a single operation.";
default "disabled"; }
description
"Enable (client/radio) or disable (disabled) the IF loop,
which loops the signal back to the client side or the
radio side.";
}
leaf rf-loop {
type enumeration {
enum disabled {
description "Disables the RF Loop.";
}
enum client {
description "Loops the signal back to the client side.";
}
enum radio {
description "Loops the signal back to the radio side.";
}
}
default "disabled";
description
"Enable (client/radio) or disable (disabled) the RF loop,
which loops the signal back to the client side or
the radio side.";
}
container ct-performance-thresholds { leaf channel-separation {
description type uint32;
"Specification of thresholds for when alarms should units "kHz";
be sent and cleared for various performance counters."; mandatory true;
description
"The amount of bandwidth allocated to a carrier.";
}
leaf received-level-alarm-threshold { leaf polarization {
type power { type enumeration {
range "-99..-30"; enum "horizontal" {
} description "Horizontal polarization.";
units "dBm"; }
default "-99"; enum "vertical" {
description description "Vertical polarization.";
"Specification of at which received power level an alarm }
should be raised."; enum "not-specified" {
} description "Polarization not specified.";
}
}
default "not-specified";
description
"Polarization - A textual description for info only.";
}
leaf transmitted-level-alarm-threshold { leaf power-mode {
type power { type enumeration {
range "-99..40"; enum rtpc {
} description "Remote Transmit Power Control (RTPC).";
units "dBm";
default "-99";
description
"An alarm is sent when the transmitted power level
is below the specified threshold.";
}
leaf ber-alarm-threshold {
type enumeration {
enum "10e-9" {
description "Threshold at 10e-9.";
}
enum "10e-8" {
description "Threshold at 10e-8.";
}
enum "10e-7" {
description "Threshold at 10e-7.";
}
enum "10e-6" {
description "Threshold at 10e-6.";
}
enum "10e-5" {
description "Threshold at 10e-5.";
}
enum "10e-4" {
description "Threshold at 10e-4.";
}
enum "10e-3" {
description "Threshold at 10e-3.";
}
enum "10e-2" {
description "Threshold at 10e-2.";
}
enum "10e-1" {
description "Threshold at 10e-1.";
}
}
default "10e-6";
description
"Specification of at which BER an alarm should
be raised.";
}
}
}
/* }
* Radio Link Terminal - Operational state data nodes enum atpc {
* Currently nothing in addition to the general description "Automatic Transmit Power Control (ATPC).";
* interface-state model. }
*/ }
mandatory true;
description
"A choice of Remote Transmit Power Control (RTPC)
or Automatic Transmit Power Control (ATPC).";
}
/* leaf selected-output-power {
* Carrier Termination - Operational state data nodes type power {
*/ range "-99..40";
}
units "dBm";
mandatory true;
description
"Selected output power in RTPC mode and selected maximum
output power in ATPC mode. Minimum ouput power in ATPC mode
is the same as the system capability,
available-min-output-power.";
}
augment "/if:interfaces-state/if:interface" { leaf atpc-lower-threshold {
when "if:type = 'mrl:carrier-termination'"; when "../power-mode = 'atpc'";
description type power {
"Addition of state data nodes for carrier termination to range "-99..-30";
the standard Interface state data model, for interfaces }
of the type 'carrier-termination'."; units "dBm";
mandatory true;
description
"The lower threshold for the input power at far-end used in
the ATPC mode.";
}
leaf tx-oper-status { leaf atpc-upper-threshold {
type enumeration { when "../power-mode = 'atpc'";
enum "off" { type power {
description "Transmitter is off."; range "-99..-30";
} }
enum "on" { units "dBm";
description "Transmitter is on."; mandatory true;
} description
enum "standby" { "The upper threshold for the input power at far-end used in
description "Transmitter is in standby."; the ATPC mode.";
} }
} leaf coding-modulation-mode {
description type enumeration {
"Shows the operative status of the transmitter."; enum fixed {
} description "Fixed coding/modulation.";
}
enum adaptive {
description "Adaptive coding/modulation.";
}
}
mandatory true;
description
"A selection of fixed or
adaptive coding/modulation mode.";
}
leaf actual-transmitted-level { leaf selected-cm {
type power { when "../coding-modulation-mode = 'fixed'";
range "-99..40"; type identityref {
} base coding-modulation;
units "dBm"; }
description mandatory true;
"Actual transmitted power level (0.1 dBm resolution)."; description
} "Selected fixed coding/modulation.";
}
leaf actual-received-level { leaf selected-min-acm {
type power { when "../coding-modulation-mode = 'adaptive'";
range "-99..-20"; type identityref {
} base coding-modulation;
units "dBm"; }
description mandatory true;
"Actual received power level (0.1 dBm resolution)."; description
} "Selected minimum coding/modulation.
Adaptive coding/modulation shall not go
below this value.";
}
leaf actual-tx-cm { leaf selected-max-acm {
type identityref { when "../coding-modulation-mode = 'adaptive'";
base coding-modulation; type identityref {
} base coding-modulation;
description }
"Actual coding/modulation in transmitting direction."; mandatory true;
} description
leaf actual-snir { "Selected maximum coding/modulation.
type decimal64 { Adaptive coding/modulation shall not go
fraction-digits 1; above this value.";
range "0..99"; }
} leaf if-loop {
units "dB"; type enumeration {
description enum disabled {
"Actual signal to noise plus interference ratio. description "Disables the IF Loop.";
(0.1 dB resolution)."; }
} enum client {
description "Loops the signal back to the client side.";
}
enum radio {
description "Loops the signal back to the radio side.";
}
}
default "disabled";
description
"Enable (client/radio) or disable (disabled) the IF loop,
which loops the signal back to the client side or
the radio side.";
}
leaf actual-xpi { leaf rf-loop {
if-feature xpic; type enumeration {
type decimal64 { enum disabled {
fraction-digits 1; description "Disables the RF Loop.";
range "0..99"; }
} enum client {
units "dB"; description "Loops the signal back to the client side.";
description }
"The actual carrier to cross-polar interference. enum radio {
Only valid if XPIC is enabled. (0.1 dB resolution)."; description "Loops the signal back to the radio side.";
} }
}
default "disabled";
description
"Enable (client/radio) or disable (disabled) the RF loop,
which loops the signal back to the client side or
the radio side.";
}
container capabilities { container ct-performance-thresholds {
description description
"Capabilities of the the installed equipment and "Specification of thresholds for when alarms should
some selected configurations."; be sent and cleared for various performance counters.";
leaf min-tx-frequency { leaf received-level-alarm-threshold {
type uint32; type power {
units "kHz"; range "-99..-30";
description }
"Minimum Tx frequency possible to use."; units "dBm";
} default "-99";
description
"An alarm is sent when the received power level is
below the specified threshold.";
}
leaf max-tx-frequency { leaf transmitted-level-alarm-threshold {
type uint32; type power {
units "kHz"; range "-99..40";
description }
"Maximum Tx frequency possible to use."; units "dBm";
} default "-99";
leaf min-rx-frequency { description
type uint32; "An alarm is sent when the transmitted power level is
units "kHz"; below the specified threshold.";
description }
"Minimum Rx frequency possible to use.";
}
leaf max-rx-frequency { leaf ber-alarm-threshold {
type uint32; type enumeration {
units "kHz"; enum "10e-9" {
description description "Threshold at 10e-9.";
"Maximum Tx frequency possible to use."; }
} enum "10e-8" {
description "Threshold at 10e-8.";
}
enum "10e-7" {
description "Threshold at 10e-7.";
}
enum "10e-6" {
description "Threshold at 10e-6.";
}
enum "10e-5" {
description "Threshold at 10e-5.";
}
enum "10e-4" {
description "Threshold at 10e-4.";
}
enum "10e-3" {
description "Threshold at 10e-3.";
}
enum "10e-2" {
description "Threshold at 10e-2.";
}
enum "10e-1" {
description "Threshold at 10e-1.";
}
}
default "10e-6";
description
"Specification of at which BER an alarm should
be raised.";
}
}
}
leaf available-min-output-power { /*
type power; * Radio Link Terminal - Operational state data nodes
units "dBm"; * Currently nothing in addition to the general
description * interface-state model.
"The minimum output power supported."; */
}
leaf available-max-output-power { /*
type power; * Carrier Termination - Operational state data nodes
units "dBm"; */
description
"The maximum output power supported.";
}
leaf available-min-acm { augment "/if:interfaces-state/if:interface" {
type identityref { when "if:type = 'mrl:carrier-termination'";
base coding-modulation; description
} "Addition of state data nodes for carrier termination to
description the standard Interface state data model, for interfaces of
"Minimum coding-modulation possible to use."; the type 'carrier-termination'.";
}
leaf available-max-acm { leaf tx-oper-status {
type identityref { type enumeration {
base coding-modulation; enum "off" {
} description "Transmitter is off.";
description }
"Maximum coding-modulation possible to use."; enum "on" {
} description "Transmitter is on.";
} }
} enum "standby" {
augment "/if:interfaces-state/if:interface/if:statistics" { description "Transmitter is in standby.";
when "../if:type = 'mrl:carrier-termination'"; }
description }
"Addition of state data nodes in the container statistics description
for carrier terminations to the standard Interface data "Shows the operative status of the transmitter.";
model, for interfaces of the type 'carrier-termination'."; }
leaf bbe { leaf actual-transmitted-level {
type yang:counter32; type power {
units "number of block errors"; range "-99..40";
description }
"Number of Background Block Errors (BBE) during the units "dBm";
interval. A BBE is an errored block not occurring as description
part of an SES."; "Actual transmitted power level (0.1 dBm resolution).";
} }
leaf actual-received-level {
type power {
range "-99..-20";
}
units "dBm";
description
"Actual received power level (0.1 dBm resolution).";
}
leaf es { leaf actual-tx-cm {
type yang:counter32; type identityref {
units "seconds"; base coding-modulation;
description }
"Number of Errored Seconds (ES) since last description
reset. An ES is a one-second period with "Actual coding/modulation in transmitting direction.";
one or more errored blocks or at least one }
defect.";
}
leaf ses { leaf actual-snir {
type yang:counter32; type decimal64 {
units "seconds"; fraction-digits 1;
description range "0..99";
"Number of Severely Errored Seconds (SES) during the }
interval. SES is a one-second period which contains units "dB";
equal or more than 30% errored blocks or at least description
one defect. SES is a subset of ES."; "Actual signal to noise plus interference ratio.
} (0.1 dB resolution).";
}
leaf uas { leaf actual-xpi {
type yang:counter32; if-feature xpic;
units "seconds"; type decimal64 {
description fraction-digits 1;
"Number of Unavailable Seconds (UAS), that is, the range "0..99";
total time that the node has been unavailable during }
a fixed measurement interval."; units "dB";
} description
leaf min-rltm { "The actual carrier to cross-polar interference.
type power { Only valid if XPIC is enabled. (0.1 dB resolution).";
range "-99..-20"; }
}
units "dBm";
description
"Minimum received power level since last reset.";
}
leaf max-rltm { container capabilities {
type power { description
range "-99..-20"; "Capabilities of the the installed equipment and
} some selected configurations.";
units "dBm";
description
"Maximum received power level since last reset.";
}
leaf min-tltm { leaf min-tx-frequency {
type power { type uint32;
range "-99..40"; units "kHz";
} description
units "dBm"; "Minimum Tx frequency possible to use.";
description }
"Minimum transmitted power level since last reset.";
}
leaf max-tltm { leaf max-tx-frequency {
type power { type uint32;
range "-99..40"; units "kHz";
} description
units "dBm"; "Maximum Tx frequency possible to use.";
description }
"Maximum transmitted power level since last reset.";
}
}
/* leaf min-rx-frequency {
* Radio Link Protection Groups - Configuration data nodes type uint32;
*/ units "kHz";
description
"Minimum Rx frequency possible to use.";
}
container radio-link-protection-groups { leaf max-rx-frequency {
description type uint32;
"Configuration of radio link protected groups units "kHz";
(1+1) of carrier terminations in a radio link. description
More than one protected group per radio-link-terminal "Maximum Tx frequency possible to use.";
is allowed."; }
list radio-link-protection-group { leaf available-min-output-power {
key "name"; type power;
description units "dBm";
"List of protected groups of carrier terminations description
in a radio link."; "The minimum output power supported.";
}
leaf name { leaf available-max-output-power {
type string; type power;
description units "dBm";
"Name used for identification of the radio description
link protection group"; "The maximum output power supported.";
} }
leaf protection-architecture-type { leaf available-min-acm {
type identityref{ type identityref {
base protection-architecture-type; base coding-modulation;
} }
default "one-plus-one-type"; description
description "Minimum coding-modulation possible to use.";
"The type of protection architecture }
used, e.g. one carrier termination
protecting one carrier termination.";
}
leaf protection-operation-type { leaf available-max-acm {
type enumeration { type identityref {
enum "non-revertive" { base coding-modulation;
description }
"In non revertive operation, the description
traffic does not return to the "Maximum coding-modulation possible to use.";
working carrier termination if the }
switch requests are terminated. "; }
} }
enum "revertive" {
description
"In revertive operation, the
traffic always returns to (or
remains on) the working carrier
termination if the switch requests
are terminated. ";
}
}
default "non-revertive";
description
"The type of protection operation, i.e.
revertive or non-revertive operation.";
}
leaf-list working-entity { augment "/if:interfaces-state/if:interface/if:statistics" {
when "../protection-operation-type = 'revertive'"; when "../if:type = 'mrl:carrier-termination'";
type if:interface-ref; description
must "/if:interfaces/if:interface[if:name = current()]" "Addition of state data nodes in the container statistics
+ "/if:type = 'mrl:carrier-termination'" { for carrier terminations to the standard Interface data
model, for interfaces of the type 'carrier-termination'.";
leaf bbe {
type yang:counter32;
units "number of block errors";
description
"Number of Background Block Errors (BBE) during the
interval. A BBE is an errored block not occurring as
part of an SES.";
}
leaf es {
type yang:counter32;
units "seconds";
description
"Number of Errored Seconds (ES) since last reset.
An ES is a one-second period with one or more errored
blocks or at least one defect.";
}
leaf ses {
type yang:counter32;
units "seconds";
description
"Number of Severely Errored Seconds (SES) during the
interval. SES is a one-second period which contains
equal or more than 30% errored blocks or at least
one defect. SES is a subset of ES.";
}
leaf uas {
type yang:counter32;
units "seconds";
description
"Number of Unavailable Seconds (UAS), that is, the
total time that the node has been unavailable during
a fixed measurement interval.";
}
leaf min-rltm {
type power {
range "-99..-20";
}
units "dBm";
description
"Minimum received power level since last reset.";
}
leaf max-rltm {
type power {
range "-99..-20";
}
units "dBm";
description
"Maximum received power level since last reset.";
}
leaf min-tltm {
type power {
range "-99..40";
}
units "dBm";
description
"Minimum transmitted power level since last reset.";
}
leaf max-tltm {
type power {
range "-99..40";
}
units "dBm";
description
"Maximum transmitted power level since last reset.";
}
}
/*
* Radio Link Protection Groups - Configuration data nodes
*/
container radio-link-protection-groups {
description
"Configuration of radio link protected groups (1+1) of
carrier terminations in a radio link. More than one
protected group per radio-link-terminal is allowed.";
list radio-link-protection-group {
key "name";
description
"List of protected groups of carrier terminations
in a radio link.";
leaf name {
type string;
description description
"The type of a working-entity must be "Name used for identification of the radio
'carrier-termination'."; link protection group";
}
leaf protection-architecture-type {
type identityref{
base protection-architecture-type;
} }
min-elements 1; default "one-plus-one-type";
description description
"The carrier terminations over which the "The type of protection architecture used,
traffic normally should be transported e.g. one carrier termination protecting one or
over when there is no need to use the several other carrier terminations.";
protecting carrier termination."; }
}
leaf revertive-wait-to-restore { leaf protection-operation-type {
when "../protection-operation-type = 'revertive'"; type enumeration {
type uint16; enum "non-revertive" {
units "seconds"; description
default "0"; "In non revertive operation, the traffic
description does not return to the working carrier termination
"The time to wait before switching back if the switch requests are terminated. ";
to the working carrier termination if }
protection-operation-type is revertive."; enum "revertive" {
} description
"In revertive operation, the traffic always
returns to (or remains on) the working
carrier termination if the switch requests are
terminated. ";
}
}
default "non-revertive";
description
"The type of protection operation, i.e. revertive
or non-revertive operation.";
leaf-list radio-link-protection-members { }
type if:interface-ref;
must "/if:interfaces/if:interface[if:name = current()]"
+ "/if:type = 'mrl:carrier-termination'" {
description
"The type of a protection member must
be 'carrier-termination'.";
}
min-elements 2;
description
"Association to a group of carrier
terminations configured for radio link
protection and used in the radio link terminal.";
}
action protection-external-commands { leaf-list working-entity {
input { when "../protection-operation-type = 'revertive'";
leaf protection-external-command { type if:interface-ref;
type identityref { must "/if:interfaces/if:interface[if:name = current()]"
base protection-external-commands; + "/if:type = 'mrl:carrier-termination'" {
} description
description "The type of a working-entity must be
"Execution of protection external 'carrier-termination'.";
commands for trouble shooting purpose."; }
} min-elements 1;
} description
} "The carrier terminations over which the traffic
} normally should be transported over when there
} is no need to use the protecting carrier termination.";
}
/* leaf revertive-wait-to-restore {
* Radio Link Protection - Operational state data nodes when "../protection-operation-type = 'revertive'";
*/ type uint16;
container radio-link-protection-groups-state { units "seconds";
config false; default "0";
description description
"State data for radio link protected groups "The time to wait before switching back to the
of carrier terminations in a radio link."; working carrier termination if protection-operation-type
list radio-link-protection-group { is revertive.";
key "name"; }
description
"List of protected groups of carrier
terminations in a radio link.";
leaf name { leaf-list radio-link-protection-members {
type string; type if:interface-ref;
description must "/if:interfaces/if:interface[if:name = current()]"
"Name used for identification of the + "/if:type = 'mrl:carrier-termination'" {
radio link protection group."; description
} "The type of a protection member must be
'carrier-termination'.";
}
min-elements 2;
description
"Association to a group of carrier terminations
configured for radio link protection and used in
the radio link terminal.";
}
leaf protection-status { action protection-external-commands {
type identityref { input {
base protection-states; leaf protection-external-command {
} type identityref {
description base protection-external-commands;
"Status of the protection, in a group of }
carrier terminations configured in a description
radio link protection mode."; "Execution of protection external commands for
} trouble shooting purpose.";
} }
} }
/* }
* XPIC & MIMO - Configuration data nodes }
*/ }
container xpic-pairs { /*
if-feature xpic; * Radio Link Protection Groups - Operational state data nodes
description */
"Configuration of carrier termination pairs
for operation in XPIC mode.";
list xpic-pair { container radio-link-protection-groups-state {
key "name"; config false;
description description
"List of carrier termination pairs in XPIC mode."; "State data for radio link protected groups of
carrier terminations in a radio link.";
leaf name { list radio-link-protection-group {
type string; key "name";
description description
"Name used for identification of the XPIC pair."; "List of protected groups of carrier terminations
} in a radio link.";
leaf enabled {
type boolean;
default "false";
description
"Enable(true)/disable(false) XPIC";
}
leaf-list xpic-members { leaf name {
type if:interface-ref; type string;
must "/if:interfaces/if:interface[if:name = current()]" description
+ "/if:type = 'mrl:carrier-termination'" { "Name used for identification of the radio
description link protection group.";
"The type of a xpic-member must be }
'carrier-termination'.";
} leaf protection-status {
min-elements 2; type identityref {
max-elements 2; base protection-states;
description
"Association to XPIC pairs used in the
radio link terminal.";
} }
description
"Status of the protection, in a group of carrier
terminations configured in a radio link protection
mode.";
} }
} }
container mimo-groups { }
if-feature mimo;
description
"Configuration of carrier terminations
for operation in MIMO mode.";
list mimo-group { /*
key "name"; * XPIC & MIMO groups - Configuration data nodes
description */
"List of carrier terminations in MIMO mode.";
leaf name { container xpic-pairs {
type string; if-feature xpic;
description description
"Name used for identification of the MIMO group."; "Configuration of carrier termination pairs
} for operation in XPIC mode.";
leaf enabled { list xpic-pair {
type boolean; key "name";
default "false"; description
description "List of carrier termination pairs in XPIC mode.";
"Enable(true)/disable(false) MIMO";
}
leaf-list mimo-members { leaf name {
type if:interface-ref; type string;
must "/if:interfaces/if:interface[if:name = current()]"
+ "/if:type = 'mrl:carrier-termination'" {
description description
"The type of a mimo-member must be "Name used for identification of the XPIC pair.";
'carrier-termination'."; }
leaf enabled {
type boolean;
default "false";
description
"Enable(true)/disable(false) XPIC";
}
leaf-list xpic-members {
type if:interface-ref;
must "/if:interfaces/if:interface[if:name = current()]"
+ "/if:type = 'mrl:carrier-termination'" {
description
"The type of a xpic-member must be
'carrier-termination'.";
} }
min-elements 2; min-elements 2;
max-elements 2;
description description
"Association to a MIMO group if used in "Association to XPIC pairs used in the radio link
the radio link terminal."; terminal.";
}
}
}
} container mimo-groups {
} if-feature mimo;
description
"Configuration of carrier terminations
for operation in MIMO mode.";
list mimo-group {
key "name";
description
"List of carrier terminations in MIMO mode.";
leaf name {
type string;
description
"Name used for identification of the MIMO group.";
}
leaf enabled {
type boolean;
default "false";
description
"Enable(true)/disable(false) MIMO";
}
leaf-list mimo-members {
type if:interface-ref;
must "/if:interfaces/if:interface[if:name = current()]"
+ "/if:type = 'mrl:carrier-termination'" {
description
"The type of a mimo-member must be
'carrier-termination'.";
}
min-elements 2;
description
"Association to a MIMO group if used in the radio
link terminal.";
}
}
} }
}
<CODE ENDS>
5. Security Considerations
The YANG module defined in this memo is designed to be }
accessed via the NETCONF protocol [RFC6241]. The lowest
NETCONF layer is the secure transport layer and the
mandatory-to-implement secure transport is SSH
[RFC6242]. The NETCONF access control model [RFC6536]
provides the means to restrict access for particular
NETCONF users to a pre-configured subset of all
available NETCONF protocol operations and content.
There are a number of data nodes defined in the YANG <CODE ENDS>
module which are writable/creatable/deletable (i.e.,
config true, which is the default). These data nodes
may be considered sensitive or vulnerable in some
network environments. Write operations (e.g., <edit-
config>) to these data nodes without proper protection
can have a negative effect on network operations.
The security considerations of [RFC7223] also apply to 5. Security Considerations
this document.
6. IANA Considerations The YANG module defined in this memo is designed to be accessed via
the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the
secure transport layer and the mandatory-to-implement secure
transport is SSH [RFC6242]. The NETCONF access control model
[RFC6536] provides the means to restrict access for particular
NETCONF users to a pre-configured subset of all available NETCONF
protocol operations and content.
There are a number of data nodes defined in the YANG module which are
writable/creatable/deletable (i.e., config true, which is the
default). These data nodes may be considered sensitive or vulnerable
in some network environments. Write operations (e.g., <editconfig>)
to these data nodes without proper protection can have a negative
effect on network operations.
The security considerations of [RFC7223] also apply to this document.
6. IANA Considerations
TBD. TBD.
7. References 7. References
7.1. Normative References 7.1. Normative References
[RFC7223] Bjorklund M., "A YANG Data Model for Interface [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Management", RFC 7223, DOI 10.17487/RFC7223, Requirement Levels", BCP 14, RFC 2119,
May 2014, <http://www.rfc- DOI 10.17487/RFC2119, March 1997,
editor.org/info/rfc7223>. <http://www.rfc-editor.org/info/rfc2119>.
7.2. Informative References [RFC7223] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 7223, DOI 10.17487/RFC7223, May 2014,
<http://www.rfc-editor.org/info/rfc7223>.
[draft-ietf-ccamp-microwave-framework-00] [EN 302 217-2]
Ahlberg J., et al., " A framework for ETSI, "Fixed Radio Systems; Characteristics and
Management and Control of microwave and requirements for point to-point equipment and antennas;
millimeter wave interface parameters ", draft- Part 2: Digital systems operating in frequency bands from
ietf-ccamp-microwave-framework-00 (work in 1 GHz to 86 GHz; Harmonised Standard covering the
progress), December 2016. essential requirements of article 3.2 of Directive
2014/53/EU", EN 302 217-2 V3.1.1, May 2017.
7.2. Informative References
[I-D.ahlberg-ccamp-microwave-radio-link] [I-D.ahlberg-ccamp-microwave-radio-link]
Ahlberg J., Carlson J., Lund H., Olausson T., Ahlberg, J., Carlson, J., Lund, H., Olausson, T., Ye, M.,
Ye M., and Vaupotic M., "Microwave Radio Link and M. Vaupotic, "Microwave Radio Link YANG Data Models",
YANG Data Models", draft-ahlberg-ccamp- draft-ahlberg-ccamp-microwave-radio-link-01 (work in
microwave-radio-link-01 (work in progress), progress), May 2016.
May 2016.
[ONF-model] [I-D.ietf-ccamp-microwave-framework]
"Microwave Modeling - ONF Wireless Transport Ahlberg, J., Contreras, L., Ye, M., Vaupotic, M.,
Group", May 2016. Tantsura, J., Kawada, K., Li, X., Akiyoshi, I., and C.
Bernardos, "A framework for Management and Control of
microwave and millimeter wave interface parameters",
draft-ietf-ccamp-microwave-framework-01 (work in
progress), June 2017.
[RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., [ONF-model] "Microwave Modeling - ONF Wireless Transport Group",
and A.Bierman, "Network Configuration Protocol May 2016.
(NETCONF)",RFC 6241, June 2011.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
over SecureShell (SSH)", RFC 6242, June 2011. and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<http://www.rfc-editor.org/info/rfc6241>.
[RFC6536] Bierman, A. and M. Bjorklund, "Network [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
ConfigurationProtocol (NETCONF) Access Control Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
Model", RFC 6536,March 2012. <http://www.rfc-editor.org/info/rfc6242>.
[RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration
Protocol (NETCONF) Access Control Model", RFC 6536,
DOI 10.17487/RFC6536, March 2012,
<http://www.rfc-editor.org/info/rfc6536>.
Authors' Addresses Authors' Addresses
Jonas Ahlberg Jonas Ahlberg
Ericsson AB Ericsson AB
Lindholmspiren 11 Lindholmspiren 11
Goeteborg 417 56 Goeteborg 417 56
Sweden Sweden
Email: jonas.ahlberg@ericsson.com Email: jonas.ahlberg@ericsson.com
Ye Min Ye Min
Huawei Technologies Co., Ltd. Huawei Technologies
No.1899, Xiyuan Avenue No.1899, Xiyuan Avenue
Chengdu 611731 Chengdu 611731
P.R.China P.R.China
Email: amy.yemin@huawei.com Email: amy.yemin@huawei.com
Xi Li Xi Li
NEC Laboratories Europe NEC Laboratories Europe
Kurfursten-Anlage 36 Kurfursten-Anlage 36
69115 Heidelberg Heidelberg 69115
Germany Germany
Email: Xi.Li@neclab.eu Email: Xi.Li@neclab.eu
Koji Kawada Koji Kawada
NEC Corporation NEC Corporation
1753, Shimonumabe Nakahara-ku 1753, Shimonumabe Nakahara-ku
Kawasaki, Kanagawa 211-8666 Kawasaki, Kanagawa 211-8666
Japan Japan
Email: k-kawada@ah.jp.nec.com Email: k-kawada@ah.jp.nec.com
Carlos J. Bernardos Carlos J. Bernardos
Universidad Carlos III de Madrid Universidad Carlos III de Madrid
Av. Universidad, 30 Av. Universidad, 30
Leganes, Madrid 28911 Leganes, Madrid 28911
Spain Spain
Email: cjbc@it.uc3m.es Email: cjbc@it.uc3m.es
Daniela Spreafico
Nokia - IT
Via Energy Park, 14
Vimercate (MI) 20871
Italy
Email: daniela.spreafico@nokia.com
Marko Vaupotic
Aviat Networks
Motnica 9
Trzin-Ljubljana 1236
Slovenia
Email: Marko.Vaupotic@Aviatnet.com
 End of changes. 194 change blocks. 
1381 lines changed or deleted 1451 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/