Skip to content

Commit

Permalink
Restructure the document as RFC9093-bis (#36)
Browse files Browse the repository at this point in the history
* Initial proposal for RFC9093-bis

Initial proposal from RFC9093-bis text merging text from RFC9093 and draft-ietf-ccamp-layer0-types-ext-01

Created new revision of ietf-layer0-types.yang adding the content of ietf-layer0-type-ext.yang to the first version of ietf-layer0-types.yang

Text edited using kramdown

Fix #32 :
- added bitrate to the common-explicit-mode grouping

Support resolution of ietf-ccamp-wg/draft-ietf-ccamp-optical-impairment-topology-yang#99:
- added the following typedef
  - snr-or-null
  - decimal-2-digits
  - decimal-2-digits-or-null
  - power-in-db
  - power-in-db-or-null
  - power-in-dbm
  - power-in-dbm-or-null
- Updated types with union with type empty when applicable

Fix #35
- added grouping l0-path-constraints
- added grouping l0-path-properties

Fix #37 :
- moved to YANG 1.1

Added placeholder for describing the changes from RFC 9093 (new issue #40 )

Co-Authored-By: sergio belotti <sergio.belotti@nokia.com>
Co-Authored-By: Dieter Beller <Dieter.Beller@nokia.com>
  • Loading branch information
3 people committed Mar 7, 2022
1 parent e012587 commit 196f448
Show file tree
Hide file tree
Showing 6 changed files with 6,080 additions and 32 deletions.
2 changes: 2 additions & 0 deletions .gitignore
@@ -0,0 +1,2 @@

.refcache
350 changes: 350 additions & 0 deletions draft-ietf-ccamp-rfc9093-bis.md
@@ -0,0 +1,350 @@
---
coding: utf-8

title: A YANG Data Model for Layer 0 Types

abbrev: Yang for Layer 0 Types
docname: draft-ietf-ccamp-rfc9093-bis-00
obsoletes: RFC9093
workgroup: CCAMP Working Group
category: std
ipr: trust200902

stand_alone: yes
pi: [toc, sortrefs, symrefs, comments]

author:
-
name: Haomian Zheng
org: Huawei
email: zhenghaomian@huawei.com
-
name: Young Lee
org: Samsung
email: younglee.tx@gmail.com
-
name: Aihua Guo
org: Futurewei Technologies
email: aihuaguo.ietf@gmail.com
-
name: Victor Lopez
org: Nokia
email: victor.lopez@nokia.com
-
name: Daniel King
org: University of Lancaster
email: d.king@lancaster.ac.uk
-
name: Dieter Beller
org: Nokia
email: dieter.beller@nokia.com
-
name: Sergio Belotti
org: Nokia
email: sergio.belotti@nokia.com
-
name: Italo Busi
org: Huawei
email: italo.busi@huawei.com
-
name: Esther Le Rouzic
ins: E. Le Rouzic
org: Orange
email: esther.lerouzic@orange.com

contributor:
-
name: Dhruv Dhody
org: Huawei
email: dhruv.ietf@gmail.com
-
name: Bin Yeong Yoon
org: ETRI
email: byyun@etri.re.kr
-
name: Ricard Vilalta
org: CTTC
email: ricard.vilalta@cttc.es

normative:
ITU-T_G.698.2:
title: >
Amplified multichannel dense wavelength division
multiplexing applications with single channel optical
interfaces
author:
org: ITU-T Recommendation G.698.2
date: November 2018
seriesinfo: ITU-T G.698.2

informative:
ITU-T_G.694.1:
title: "Spectral grids for WDM applications: DWDM frequency grid"
author:
org: ITU-T Recommendation G.694.1
date: October 2020
seriesinfo: ITU-T G.694.1
ITU-T_G.694.2:
title: "Spectral grids for WDM applications: CWDM wavelength grid"
author:
org: ITU-T Recommendation G.694.2
date: December 2003
seriesinfo: ITU-T G.694.2

--- abstract

This document defines a collection of common data types and groupings
in the YANG data modeling language. These derived common types and
groupings are intended to be imported by modules that model Layer 0
optical Traffic Engineering (TE) configuration and state capabilities
such as Wavelength Switched Optical Networks (WSONs) and flexi-grid
Dense Wavelength Division Multiplexing (DWDM) networks.

This document obsoletes RFC 9093.

--- middle

# Introduction

YANG {{!RFC7950}} is a data modeling language used to model
configuration data, state data, Remote Procedure Calls, and
notifications for network management protocols such as the Network
Configuration Protocol (NETCONF) {{!RFC6241}}. The YANG language
supports a small set of built-in data types and provides mechanisms
to derive other types from the built-in types.

This document introduces a collection of common data types derived
from the built-in YANG data types. The derived types and groupings
are designed to be the common types applicable for modeling Traffic
Engineering (TE) features as well as non-TE features (e.g., physical
network configuration aspects) for Layer 0 optical networks in
model(s) defined outside of this document. The applicability of
Layer 0 types specified in this document includes Wavelength Switched
Optical Networks (WSONs) {{!RFC6163}} {{ITU-T_G.698.2}} and flexi-grid Dense
Wavelength Division Multiplexing (DWDM) networks {{!RFC7698}}
{{ITU-T_G.694.1}}.

\[Editors' Note]: This is the introduction from draft-ietf-ccamp-layer0-types-ext-01, to be reconciled with the introduction from RFC9093 above

YANG {{!RFC7950}} is a data modeling language used to model
configuration data, state data, Remote Procedure Calls, and
notifications for network management protocols such as NETCONF
{{!RFC6241}}. The YANG language supports a small set of built-in data
types and provides mechanisms to derive other types from the built-in
types.

This document introduces a collection of common data types derived
from the built-in YANG data types. The derived types and groupings
are designed to be the common types applicable for modeling Traffic
Engineering (TE) features as well as non-TE features (e.g., physical
network configuration aspect) for Layer 0 optical networks in
model(s) defined outside of this document.

This document adds new type definitions to the YANG modules and
obsoletes {{?RFC9093}}. For further details, see the revision
statements of the YANG module in {{yang-code}} or the summary in
{{changes-bis}}.

## Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 {{!RFC2119}}.

## Terminology and Notations

Refer to {{?RFC7446}} and {{?RFC7581}} for the key terms used in this
document, and the terminology for describing YANG data models can be
found in {{!RFC7950}}.

The YANG data model in this document conforms to the Network
Management Datastore Architecture defined in {{!RFC8342}}.

## Prefix in Data Node Names

In this document, names of data nodes and other data model objects
are prefixed using the standard prefix associated with the
corresponding YANG imported modules.

| Prefix | YANG module | Reference
| l0-types | ietf-layer0-types | RFCXXXX
{: #tab-prefixes title="Prefixes and corresponding YANG modules"}

RFC Editor Note:
Please replace XXXX with the RFC number assigned to this document.

The YANG module "ietf-layer0-types" (defined in {{yang-code}}) references
{{!RFC4203}}, {{!RFC6163}}, {{!RFC6205}}, {{!RFC7698}}, {{!RFC7699}}, {{!RFC8363}},
{{ITU-T_G.694.1}}, and {{ITU-T_G.694.2}}.

# Layer 0 Types Module Contents

This document defines a YANG module for common Layer 0 types, ietf-
layer0-types. This module is used for WSON and flexi-grid DWDM
networks. The "ietf-layer0-types" module contains the following YANG
reusable types and groupings:

l0-grid-type
: A base YANG identity for the grid type as defined in {{!RFC6163}} and
{{!RFC7698}}.

dwdm-ch-spc-type
: A base YANG identity for the DWDM channel-spacing type as defined
in {{!RFC6205}}.

cwdm-ch-spc-type
: A base YANG identity for the Coarse Wavelength Division
Multiplexing (CWDM) channel-spacing type as defined in {{!RFC6205}}.

wson-label-start-end
: The WSON label range was defined in {{!RFC6205}}, and the generic
topology model defines the label-start/label-end in {{!RFC8795}}.
This grouping shows the WSON-specific label-start and label-end
information.

wson-label-hop
: The WSON label range was defined in {{!RFC6205}}, and the generic
topology model defines the label-hop in {{!RFC8795}}. This grouping
shows the WSON-specific label-hop information.

l0-label-range-info
: A YANG grouping that defines the Layer 0 label range information
applicable for WSON as defined in {{!RFC6205}}. This grouping is
used in the flexi-grid DWDM by adding more flexi-grid-specific
parameters.

wson-label-step
: A YANG grouping that defines label steps for WSON as defined in
{{!RFC8776}}.

flexi-grid-label-start-end
: The flexi-grid label range was defined in {{!RFC7698}}, and the
generic topology model defines the label-start/label-end in
{{!RFC8795}}. This grouping shows the flexi-grid-specific label-
start and label-end information.

flexi-grid-label-hop
: The flexi-grid label range was defined in {{!RFC7698}}, and the
generic topology model defines the label-hop in {{!RFC8795}}. This
grouping shows the WSON-specific label-hop information.

flexi-grid-label-range-info
: A YANG grouping that defines flexi-grid label range information as
defined in {{!RFC7698}} and {{!RFC8363}}.

flexi-grid-label-step
: A YANG grouping that defines flexi-grid label steps as defined in
{{!RFC8776}}.

transceiver-capabilities
: a YANG grouping to define the transceiver capabilities (also called
"modes") needed to determine optical signal compatibility.

standard-mode
: a YANG grouping for ITU-T G.698.2 standard mode that guarantees
interoperability.

organizational-mode
:a YANG grouping to define transponder operational mode supported by
organizations or vendors.

common-explicit-mode
: a YANG grouping to define the list of attributes related to optical
impairments limits in case of transceiver explicit mode. This
grouping should be the same used in
{{?I-D.ietf-ccamp-dwdm-if-param-yang}}.

common-organizational-explicit-mode
: a YANG grouping to define the common capabilities attributes limit
range in case of operational mode and explicit mode. Also this
grouping should be used in {{?I-D.ietf-ccamp-dwdm-if-param-yang}}.

cd-pmd-penalty
: a YANG grouping to define the triplet used as entries in the list
optional penalty associated with a given accumulated CD and PMD.
This list of triplet cd, pmd, penalty can be used to sample the
function penalty = f(CD, PMD).

{: #yang-code}

# YANG Module for Layer 0 Types

~~~~
<CODE BEGINS> file "ietf-layer0-types-ext@2022-01-21.yang"
{::include ./ietf-layer0-types-ext.yang}
<CODE ENDS>
~~~~

# Security Considerations

The YANG module specified in this document defines a schema for data
that is designed to be accessed via network management protocols such
as NETCONF {{!RFC6241}} or RESTCONF {{!RFC8040}}. The lowest NETCONF layer
is the secure transport layer, and the mandatory-to-implement secure
transport is Secure Shell (SSH) {{!RFC6242}}. The lowest RESTCONF layer
is HTTPS, and the mandatory-to-implement secure transport is TLS
{{!RFC8446}}.

The Network Configuration Access Control Model (NACM) {{!RFC8341}}
provides the means to restrict access for particular NETCONF or
RESTCONF users to a preconfigured subset of all available NETCONF or
RESTCONF protocol operations and content. The NETCONF protocol over
Secure Shell (SSH) specification {{!RFC6242}} describes a method for
invoking and running NETCONF within a Secure Shell (SSH) session as
an SSH subsystem.

The objects in this YANG module are common data types and groupings.
No object in this module can be read or written to. These
definitions can be imported and used by other Layer 0 specific
modules. It is critical to consider how imported definitions will be
utilized and accessible via RPC operations, as the resultant schema
will have data nodes that can be writable, or readable, and will have
a significant effect on the network operations if used incorrectly or
maliciously. All of these considerations belong in the document that
defines the modules that import from this YANG module. Therefore, it
is important to manage access to resultant data nodes that are
considered sensitive or vulnerable in some network environments.

The security considerations spelled out in the YANG 1.1 specification
{{!RFC7950}} apply for this document as well.

# IANA Considerations

IANA has assigned new URIs from the "IETF XML Registry" {{?RFC3688}} as
follows:

~~~~
URI: urn:ietf:params:xml:ns:yang:ietf-layer0-types
Registrant Contact: The IESG
XML: N/A; the requested URI is an XML namespace.
~~~~

This document registers the following YANG module in the "YANG Module
Names" registry {{!RFC7950}}.

~~~~
Name: ietf-layer0-types
Namespace: urn:ietf:params:xml:ns:yang:ietf-layer0-types
Prefix: l0-types
Reference: RFC 9093
~~~~

\[Editors' Note] Check the IANA considerations in other bis documents

--- back

{: #changes-bis}

# Changes from RFC 9093

To be added in a future revision of this draft.

{: numbered="false"}

# Acknowledgments

The authors and the working group give their sincere thanks to Robert
Wilton for the YANG doctor review and Tom Petch for his comments
during the model and document development.

This document was prepared using kramdown.

0 comments on commit 196f448

Please sign in to comment.