draft-ietf-ccamp-wson-yang-08.txt   draft-ietf-ccamp-wson-yang-09.txt 
skipping to change at page 1, line 14 skipping to change at page 1, line 14
X. Zhang X. Zhang
Internet Draft A. Guo Internet Draft A. Guo
Intended status: Standard Track Huawei Intended status: Standard Track Huawei
V. Lopez V. Lopez
Telefonica Telefonica
D. King D. King
U. of Lancaster U. of Lancaster
B. Yoon B. Yoon
ETRI ETRI
Ricard Vilalta Ricard Vilalta
CTTC CTTC
Expires: April 8, 2018 October 9, 2017 Expires: May 12, 2018 November 12, 2017
A Yang Data Model for WSON Optical Networks A Yang Data Model for WSON Optical Networks
draft-ietf-ccamp-wson-yang-08.txt draft-ietf-ccamp-wson-yang-09.txt
Abstract Abstract
This document provides a YANG data model for the routing and This document provides a YANG data model for the routing and
wavelength assignment (RWA) TE topology in wavelength switched wavelength assignment (RWA) TE topology in wavelength switched
optical networks (WSONs). optical networks (WSONs).
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with This Internet-Draft is submitted to IETF in full conformance with
skipping to change at page 2, line 7 skipping to change at page 2, line 7
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress." reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on April 8, 2018. This Internet-Draft will expire on May 12, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 29 skipping to change at page 2, line 29
respect to this document. Code Components extracted from this respect to this document. Code Components extracted from this
document must include Simplified BSD License text as described in document must include Simplified BSD License text as described in
Section 4.e of the Trust Legal Provisions and are provided without Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License. warranty as described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction...................................................2 1. Introduction...................................................2
2. YANG Model (Tree Structure)....................................3 2. YANG Model (Tree Structure)....................................3
3. IETF-WSON-Topology YANG Model..................................4 3. IETF-WSON-Topology YANG Model..................................4
4. IETF-TE-WSON-Types YANG Model.................................12 4. IETF-TE-WSON-Types YANG Model.................................11
5. Security Considerations.......................................14 5. Security Considerations.......................................13
6. IANA Considerations...........................................15 6. IANA Considerations...........................................13
7. Acknowledgments...............................................15 7. Acknowledgments...............................................14
8. References....................................................16 8. References....................................................15
8.1. Normative References.....................................16 8.1. Normative References.....................................15
8.2. Informative References...................................16 8.2. Informative References...................................15
9. Contributors..................................................16 9. Contributors..................................................15
Authors' Addresses...............................................16 Authors' Addresses...............................................15
1. Introduction 1. Introduction
This document provides a YANG data model for the routing and This document provides a YANG data model for the routing and
wavelength assignment (RWA) Traffic Engineering (TE) topology in wavelength assignment (RWA) Traffic Engineering (TE) topology in
wavelength switched optical networks (WSONs). The YANG model wavelength switched optical networks (WSONs). The YANG model
described in this document is a WSON technology-specific Yang model described in this document is a WSON technology-specific Yang model
based on the information model developed in [RFC7446] and the two based on the information model developed in [RFC7446] and the two
encoding documents [RFC7581] and [RFC7579] that developed protocol encoding documents [RFC7581] and [RFC7579] that developed protocol
independent encodings based on [RFC7446]. This document augments the independent encodings based on [RFC7446]. This document augments the
skipping to change at page 3, line 19 skipping to change at page 3, line 19
and flex-grid. and flex-grid.
This document defines two YANG models: ietf-wson-topology (Section This document defines two YANG models: ietf-wson-topology (Section
3) and ietf-te-wson-types (Section 4). 3) and ietf-te-wson-types (Section 4).
2. YANG Model (Tree Structure) 2. YANG Model (Tree Structure)
module: ietf-wson-topology module: ietf-wson-topology
augment /nd:networks/nd:network/nd:network-types/tet:te-topology: augment /nd:networks/nd:network/nd:network-types/tet:te-topology:
+--rw wson-topology! +--rw wson-topology!
augment /nd:networks/nd:network/nd:node/tet:te/tet:config/tet:te-node- augment /nd:networks/nd:network/nd:node/tet:te/tet:te-node-
attributes/tet:connectivity-matrices/tet:connectivity-matrix: attributes/tet:connectivity-matrices/tet:connectivity-matrix:
+--rw wavelength-availability-range? te-wson-types:wavelength-range-type +--rw wavelength-availability-range? te-wson-types:wavelength-range-type
augment /nd:networks/nd:network/nd:node/tet:te/tet:state/tet:te-node- augment /nd:networks/nd:network/lnk:link/tet:te/tet:te-link-attributes:
attributes/tet:connectivity-matrices/tet:connectivity-matrix:
+--ro wavelength-availability-range? te-wson-types:wavelength-range-type
augment /nd:networks/nd:network/lnk:link/tet:te/tet:config/tet:te-link-attributes:
+--rw channel-num? int32 +--rw channel-num? int32
+--rw first-channel-frequency? decimal64 +--rw first-channel-frequency? decimal64
+--rw channel-spacing? decimal64 +--rw channel-spacing? decimal64
+--rw available-wavelength-info* [priority] +--rw available-wavelength-info* [priority]
+--rw priority uint8 +--rw priority uint8
+--rw wavelength-availability-range? te-wson-types:wavelength-range-type +--rw wavelength-availability-range? te-wson-types:wavelength-range-
augment /nd:networks/nd:network/lnk:link/tet:te/tet:state/tet:te-link-attributes: type
+--ro channel-num? int32 augment /nd:networks/nd:network/nd:node/tet:te/tet:te-node-attributes:
+--ro first-channel-frequency? decimal64
+--ro channel-spacing? decimal64
+--ro available-wavelength-info* [priority]
+--ro priority uint8
+--ro wavelength-availability-range? te-wson-types:wavelength-range-type
augment /nd:networks/nd:network/nd:node/tet:te/tet:config/tet:te-node-attributes:
+--rw wson-node +--rw wson-node
+--rw node-type? identityref +--rw node-type? identityref
augment /nd:networks/nd:network/nd:node/tet:te/tet:state/tet:te-node-attributes: augment /nd:networks/nd:network/nd:node/tet:te/tet:tunnel-termination-point:
+--ro wson-node
+--ro node-type? identityref
augment /nd:networks/nd:network/nd:node/tet:te/tet:tunnel-termination-
point/tet:config:
+--rw available-operational-mode* te-wson-types:operational-mode +--rw available-operational-mode* te-wson-types:operational-mode
+--rw operational-mode? te-wson-types:operational-mode +--rw operational-mode? te-wson-types:operational-mode
augment /nd:networks/nd:network/nd:node/tet:te/tet:tunnel-termination-
point/tet:state:
+--ro available-operational-mode* te-wson-types:operational-mode
+--ro operational-mode? te-wson-types:operational-mode
3. IETF-WSON-Topology YANG Model 3. IETF-WSON-Topology YANG Model
<CODE BEGINS> file "ietf-wson-topology@2017-10-09.yang" <CODE BEGINS> file "ietf-wson-topology@2017-10-09.yang"
module ietf-wson-topology { module ietf-wson-topology {
//TODO: FIXME //TODO: FIXME
//yang-version 1.1; //yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology"; namespace "urn:ietf:params:xml:ns:yang:ietf-wson-topology";
prefix "wson"; prefix "wson";
import ietf-network { import ietf-network {
prefix "nd"; prefix "nd";
} }
import ietf-network-topology { import ietf-network-topology {
prefix "lnk"; prefix "lnk";
} }
import ietf-inet-types { import ietf-inet-types {
prefix "inet"; prefix "inet";
} }
import ietf-te-topology { import ietf-te-topology {
prefix "tet"; prefix "tet";
} }
import ietf-te-wson-types { //Modified import ietf-te-wson-types { //Modified
prefix "te-wson-types"; prefix "te-wson-types";
} }
//NOT NEEDED //NOT NEEDED
/*import ietf-transport-types { /*import ietf-transport-types {
prefix "tran-types"; prefix "tran-types";
} */ } */
organization organization
"IETF CCAMP Working Group"; "IETF CCAMP Working Group";
contact contact
"Editor: Young Lee <leeyoung@huawei.com>"; "Editor: Young Lee <leeyoung@huawei.com>";
description description
"This module contains a collection of YANG definitions "This module contains a collection of YANG definitions
for
RWA WSON.
Copyright (c) 2016 IETF Trust and the persons identified for
as RWA WSON.
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with Copyright (c) 2016 IETF Trust and the persons identified
or as
without modification, is permitted pursuant to, and authors of the code. All rights reserved.
subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).";
revision 2017-10-09 { Redistribution and use in source and binary forms, with
description or
"version 8."; without modification, is permitted pursuant to, and
subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).";
reference revision 2017-10-09 {
"RFC XXX: A Yang Data Model for WSON Optical description
Networks "; "version 8.";
}
typedef wson-topology-id { reference
type inet:uri; "RFC XXX: A Yang Data Model for WSON Optical
description Networks ";
"The WSON Topology ID"; }
}
grouping wson-topology-type { typedef wson-topology-id {
description "wson-topology type"; type inet:uri;
container wson-topology { description
presence "indicates a topology of wson"; "The WSON Topology ID";
description }
"Container to identify wson topology type";
}
}
grouping wson-node-attributes { grouping wson-topology-type {
description "WSON node attributes"; description "wson-topology type";
container wson-node { container wson-topology {
description "WSON node attrtibutes."; presence "indicates a topology of wson";
leaf node-type { description
type identityref { "Container to identify wson topology type";
base te-wson-types:wson-node-type; }
} }
description "WSON node type.";
}
}
}
grouping wson-wavelength-availability-range{ grouping wson-node-attributes {
description "wavelength availability range"; description "WSON node attributes";
container wson-node {
description "WSON node attrtibutes.";
leaf node-type {
type identityref {
base te-wson-types:wson-node-type;
}
description "WSON node type.";
}
}
}
leaf wavelength-availability-range{ grouping wson-wavelength-availability-range{
type te-wson-types:wavelength-range-type; description "wavelength availability range";
description
"range that indicates if a wavelength is
available or not on each channel at
specified priority level.";
}
}
grouping wson-link-attributes {
description "WSON link attributes";
leaf channel-num {
type int32;
description "Number of OCh channels available";
}
leaf first-channel-frequency {
type decimal64 {
fraction-digits 5;
}
units THz;
description "First channel frequency in the grid";
}
leaf channel-spacing {
type decimal64 {
fraction-digits 5;
}
units GHz;
description "This is fixed channel spacing for
WSON,
e.g, 12.5, 25, 50, 100, ..";
}
list available-wavelength-info{ leaf wavelength-availability-range{
key "priority"; type te-wson-types:wavelength-range-type;
max-elements "8"; description
"range that indicates if a wavelength is
available or not on each channel at
specified priority level.";
}
}
grouping wson-link-attributes {
description "WSON link attributes";
leaf channel-num {
type int32;
description "Number of OCh channels available";
}
leaf first-channel-frequency {
type decimal64 {
fraction-digits 5;
}
units THz;
description "First channel frequency in the grid";
}
leaf channel-spacing {
type decimal64 {
fraction-digits 5;
}
units GHz;
description "This is fixed channel spacing for
WSON,
e.g, 12.5, 25, 50, 100, ..";
}
description list available-wavelength-info{
"List of available wavelength channels on key "priority";
this link"; max-elements "8";
leaf priority {
type uint8 {
range "0..7";
}
description "priority";
}
uses wson-wavelength-availability-range;
}
}
grouping wson-tp-attributes {
description "wson-tp-attributes";
leaf client-facing { description
type empty; "List of available wavelength channels on
description this link";
"if present, it means this tp is a client- leaf priority {
facing tp. type uint8 {
adding/dropping client signal flow."; range "0..7";
} }
description "priority";
}
uses wson-wavelength-availability-range;
}
}
grouping wson-tp-attributes {
description "wson-tp-attributes";
/* leaf client-facing {
//can it be fully covered by interface-switching-capability of base type empty;
TE model? description
leaf-list supported-client-signals { "if present, it means this tp is a client-
type identityref { facing tp.
base tran-types:client-signal; adding/dropping client signal flow.";
} }
description
"Supported client signals at this TP";
}
*/
}
grouping wson-ttp-attributes { /*
description "WSON tunnel termination point (e.g. //can it be fully covered by interface-switching-capability of base
tranponder) TE model?
attributes"; leaf-list supported-client-signals {
leaf-list available-operational-mode { type identityref {
type te-wson-types:operational-mode; base tran-types:client-signal;
description "List of all vendor-specific supported }
mode identifiers"; description
} "Supported client signals at this TP";
}
*/
}
leaf operational-mode { grouping wson-ttp-attributes {
type te-wson-types:operational-mode; description "WSON tunnel termination point (e.g.
description "Vendor-specific mode identifier"; tranponder)
} attributes";
} leaf-list available-operational-mode {
type te-wson-types:operational-mode;
description "List of all vendor-specific supported
mode identifiers";
}
/* AUGMENTS */ leaf operational-mode {
type te-wson-types:operational-mode;
description "Vendor-specific mode identifier";
}
}
augment "/nd:networks/nd:network/nd:network-types" /* AUGMENTS */
+ "/tet:te-topology" {
augment "/nd:networks/nd:network/nd:network-types"
+ "/tet:te-topology" {
description "wson-topology augmented"; description "wson-topology augmented";
uses wson-topology-type; uses wson-topology-type;
} }
//FIXING NMDA //FIXING NMDA
augment "/nd:networks/nd:network/nd:node/tet:te" augment "/nd:networks/nd:network/nd:node/tet:te"
+"/tet:te-node-attributes/tet:connectivity-matrices" +"/tet:te-node-attributes/tet:connectivity-matrices"
+ "/tet:connectivity-matrix" { + "/tet:connectivity-matrix" {
when "/nd:networks/nd:network/nd:network-types" when "/nd:networks/nd:network/nd:network-types"
+"/tet:te-topology/wson:wson-topology" { +"/tet:te-topology/wson:wson-topology" {
skipping to change at page 12, line 4 skipping to change at page 10, line 44
when "/nd:networks/nd:network/nd:network-types" when "/nd:networks/nd:network/nd:network-types"
+"/tet:te-topology/wson:wson-topology" { +"/tet:te-topology/wson:wson-topology" {
description description
"This augment is only valid for WSON."; "This augment is only valid for WSON.";
} }
description "WSON tunnel termination point description "WSON tunnel termination point
augmentation."; augmentation.";
uses wson-ttp-attributes; uses wson-ttp-attributes;
}*/ }*/
} }
<CODE ENDS>
<CODE ENDS>
4. IETF-TE-WSON-Types YANG Model 4. IETF-TE-WSON-Types YANG Model
<CODE BEGINS> file "ietf-te-wson-types@2017-10-09.yang" <CODE BEGINS> file "ietf-te-wson-types@2017-10-09.yang"
module ietf-te-wson-types { module ietf-te-wson-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-te-wson-types"; namespace "urn:ietf:params:xml:ns:yang:ietf-te-wson-types";
prefix "te-wson-types"; prefix "te-wson-types";
organization organization
"IETF CCAMP Working Group"; "IETF CCAMP Working Group";
contact contact
 End of changes. 43 change blocks. 
203 lines changed or deleted 186 lines changed or added

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