< draft-sambo-ccamp-yang-fsm-transponder-reconf-00.txt   draft-sambo-ccamp-yang-fsm-transponder-reconf-01.txt >
CCAMP Working Group N. Sambo CCAMP Working Group N. Sambo
Internet-Draft P. Castoldi Internet-Draft P. Castoldi
Intended status: Standards Track A. Sgambelluri Intended status: Standards Track A. Sgambelluri
Expires: September 6, 2018 Scuola Superiore Sant'Anna Expires: January 3, 2019 Scuola Superiore Sant'Anna
G. Fioccola G. Fioccola
Telecom Italia Telecom Italia
F. Cugini F. Cugini
CNIT CNIT
D. Ceccarelli D. Ceccarelli
Ericsson Ericsson
H. Song H. Song
T. Zhou T. Zhou
Huawei Huawei
March 5, 2018 July 2, 2018
Finite state machine YANG model augmentation for Transponder Finite state machine YANG model augmentation for Transponder
Reconfiguration Reconfiguration
draft-sambo-ccamp-yang-fsm-transponder-reconf-00 draft-sambo-ccamp-yang-fsm-transponder-reconf-01
Abstract Abstract
YANG enables to compile a set of consistent vendor-neutral data YANG enables to compile a set of consistent vendor-neutral data
models for optical networks and components based on actual models for optical networks and components based on actual
operational needs emerging from heterogeneous use cases. A YANG operational needs emerging from heterogeneous use cases. A YANG
model has been also proposed to describe finite state machine to model has been also proposed to describe finite state machine to
program network elements that are modeled with YANG. This document program network elements that are modeled with YANG. This document
augments the more generic YANG model for finite state machine augments the more generic YANG model for finite state machine
[I-D.sambo-netmod-yang-fsm], in order to pre-instruct an optical [I-D.sambo-netmod-yang-fsm], in order to pre-instruct an optical
skipping to change at page 1, line 49 skipping to change at page 1, line 49
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 6, 2018. This Internet-Draft will expire on January 3, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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 28 skipping to change at page 2, line 28
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions used in this document . . . . . . . . . . . . . . 3 2. Conventions used in this document . . . . . . . . . . . . . . 3
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Flexible Transponders . . . . . . . . . . . . . . . . . . . . 4 4. Flexible Transponders . . . . . . . . . . . . . . . . . . . . 4
5. Augmenting the FSM YANG model for transponder reconfiguration 7 5. Augmenting the FSM YANG model for transponder reconfiguration 7
6. Code of the YANG model for transponder reconfiguration . . . 9 6. Code of the YANG model for transponder reconfiguration . . . 9
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15
8. Security Considerations . . . . . . . . . . . . . . . . . . . 15 8. Security Considerations . . . . . . . . . . . . . . . . . . . 16
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
10.1. Normative References . . . . . . . . . . . . . . . . . . 15 10.1. Normative References . . . . . . . . . . . . . . . . . . 16
10.2. Informative References . . . . . . . . . . . . . . . . . 15 10.2. Informative References . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction 1. Introduction
Networks are evolving toward more programmability, flexibility, and Networks are evolving toward more programmability, flexibility, and
multi-vendor interoperability. Multi-vendor interoperability can be multi-vendor interoperability. Multi-vendor interoperability can be
applied in the context of nodes, i.e. a node composed of components applied in the context of nodes, i.e. a node composed of components
provided by different vendors (named fully disaggregated white box) provided by different vendors (named fully disaggregated white box)
is assembled under the same control system. This way, operators can is assembled under the same control system. This way, operators can
optimize costs and network performance without the need of being tied optimize costs and network performance without the need of being tied
to single vendor equipment. NETCONF protocol RFC6241 [RFC6241] based to single vendor equipment. NETCONF protocol RFC6241 [RFC6241] based
skipping to change at page 7, line 37 skipping to change at page 7, line 37
|_______________________| |_______________________|
Figure 3: Flow chart of the approach exploiting YANG models in this Figure 3: Flow chart of the approach exploiting YANG models in this
draft draft
5. Augmenting the FSM YANG model for transponder reconfiguration 5. Augmenting the FSM YANG model for transponder reconfiguration
This section augments the FSM YANG model presented in This section augments the FSM YANG model presented in
[I-D.sambo-netmod-yang-fsm] to address the specific use case of [I-D.sambo-netmod-yang-fsm] to address the specific use case of
transponder reconfiguration triggered by physical layer changes. The transponder reconfiguration triggered by physical layer changes. The
FSM model is based on the following main attributes: states, FSM is installed by the SDN controller in the local controller of the
transitions (corresponding to some specific event), and actions. In transponder and then runs there. The installation of the FSM can be
particular, more specifically with respect to enabled through a NETCONF <edit-config> message. Through FSM, the
[I-D.sambo-netmod-yang-fsm], in such a use case, a state corresponds SDN controller instructs the transponder about the possible events
to a specific configuration of transponder transmission parameters: (e.g., BER above a threshold) and reactions (e.g., change of
e.g., given by the modulation format and the FEC. A transition is modulation format) by setting the thresholds (e.g., BER threshold)
triggered when the pre-FEC BER (or another parameter such as the and the reconfiguration settings. The FSM model is based on the
OSNR) is below or above a threshold. To this purpose, with respect following main attributes: states, transitions (corresponding to some
to [I-D.sambo-netmod-yang-fsm], the attribute <filter> is expressed specific event), and actions. In particular, more specifically with
by the definition of thresholds and operators. The action mainly respect to [I-D.sambo-netmod-yang-fsm], in such a use case, a state
consists of the change of modulation format and/or FEC. corresponds to a specific configuration of transponder transmission
parameters: e.g., given by the modulation format and the FEC. A
transition is triggered when the pre-FEC BER (or another parameter
such as the OSNR) is below or above a threshold. To this purpose,
with respect to [I-D.sambo-netmod-yang-fsm], the attribute <filter>
is expressed by the definition of thresholds and operators. The
action mainly consists of the change of modulation format and/or FEC.
The Tree of the YANG model for transponder reconfiguration The Tree of the YANG model for transponder reconfiguration
(augmentation of the YANG model for FSM) is reported below. (augmentation of the YANG model for FSM) is reported below.
module: ietf-treconf module: ietf-treconf
+--rw current-state? leafref +--rw current-state? leafref
+--rw states +--rw states
+--rw state [id] +--rw state [id]
+--rw id state-id-type +--rw id state-id-type
+--rw description? string +--rw description? string
skipping to change at page 8, line 45 skipping to change at page 9, line 4
when an action is executed (e.g., new modulation format and FEC). when an action is executed (e.g., new modulation format and FEC).
For more details about the other model attributes, the reader can For more details about the other model attributes, the reader can
refer to [I-D.sambo-netmod-yang-fsm]. refer to [I-D.sambo-netmod-yang-fsm].
In such a use case, we assume that an event (e.g., BER>TH) is In such a use case, we assume that an event (e.g., BER>TH) is
revealed by the digital signal processing (DSP) of the receiver. revealed by the digital signal processing (DSP) of the receiver.
Once the event is recognized, the modulation format and/or the FEC Once the event is recognized, the modulation format and/or the FEC
have to be changed, both at the receiver and the transmitter. Thus, have to be changed, both at the receiver and the transmitter. Thus,
the list of actions to be executed includes the change of the list of actions to be executed includes the change of
transmission parameters at the receiver side, as well as the transmission parameters at the receiver side. Moreover, transmission
generation of a message sent by the receiver controller to the and receiver must be synchronized about the transmission settings
transmitter controller to synchronize about the transmission (modulation format and so no) for a proper transmission. Thus, when
parameters to be adopted. This message can be sent over a control the transponder at the receiver side decides to change its state, the
channel between transmitter and receiver. Such transponder remote transponder at the transmitter side has to do the same state
reconfiguration based on FSM has been successfully demonstrated by transition. To this purpose, the list of actions also includes this
integrating control and data planes in a lab and field trials. coordination. In particular, the transponder at the receiver side
sends a message to the transmitter to synchronize about the
transmission parameters to be adopted. This message can be sent over
a control channel. This way both the transmitter and receiver
operates with the same transmission parameters: e.g. the format,
FEC, and so on.
Such transponder reconfiguration based on FSM has been successfully
demonstrated by integrating control and data planes in a lab and
field trials.
Finally, a last consideration concerns the impact on transmission bit
rate when changing some transmission parameters. When passing from a
more spectral efficient modulation format (but less robust with
respect to physical impairments) to a less spectral efficient
modulation format (more robust) such that could be polarization
multiplexing 16 quadrature phase shift keying (PM-16QAM) and PM
quadrature phase shift keying (PM-QPSK) the bit rate is reduced
(halved in the case of PM-16QAM and PM-QPSK). This means that part
of the traffic cannot be recovered through FSM, but needs of other
restoration mechanisms (e.g., dynamic restoration). As an example,
the gain of the proposed FSM mechanism promptly recovering part of
the bit rate can be applied to high-priority traffic so that its
recovery can be faster without involving central controller, while
other classical recovery mechanisms (involving the sending of alarms,
their processing, new computations and setup) can be adopted for best
effort traffic (as the traffic that cannot be recovered when passing
from PM-16QAM to PM-QPSK). The same happens changing the code rate:
at fixed baud rate and modulation format, if the code redundancy is
increased, the net bit rate is decreased. Again, part of the traffic
can be promptly recovered through FSM, while the other by relying on
classical recovery mechanisms. A future version of the draft will
expand the list of actions also including the mechanism for recovery
the remaining traffic.
6. Code of the YANG model for transponder reconfiguration 6. Code of the YANG model for transponder reconfiguration
The related code is reported below. The related code is reported below.
<CODE BEGINS> file "ietf-treconf@2016-03-15.yang" <CODE BEGINS> file "ietf-treconf@2016-03-15.yang"
module ietf-treconf { module ietf-treconf {
namespace "http://sssup.it/fsm"; namespace "http://sssup.it/fsm";
prefix fsm; prefix fsm;
organization organization
"Scuola Superiore Sant'Anna Network and Services Laboratory"; "Scuola Superiore Sant'Anna Network and Services Laboratory";
contact contact
" Editor: Matteo Dallaglio " Editor: Matteo Dallaglio
<mailto:m.dallaglio@sssup.it> <mailto:m.dallaglio@sssup.it>
"; ";
description description
"This module contains a YANG definitions of a generic finite state machine."; "This module contains a YANG definitions of a generic finite state
machine.";
revision 2016-03-15 { revision 2016-03-15 {
description "Initial Revision."; description "Initial Revision.";
reference reference
"RFC xxxx:"; "RFC xxxx:";
} }
identity TRANSITION { identity TRANSITION {
description "Base for all types of event"; description "Base for all types of event";
} }
skipping to change at page 10, line 4 skipping to change at page 10, line 43
"The event when the database changes."; "The event when the database changes.";
} }
// typedef statements // typedef statements
typedef transition-type { typedef transition-type {
description "it defines the transition type"; description "it defines the transition type";
type identityref { type identityref {
base TRANSITION; base TRANSITION;
} }
} }
typedef transition-id-type { typedef transition-id-type {
description "it defines the transition id type"; description "it defines the transition id type";
type uint32; type uint32;
} }
// grouping statements // grouping statements
grouping action-block { grouping action-block {
description "it defines the grouping action"; description "it defines the grouping action";
leaf id { leaf id {
description "it defines the id of the transition"; description "it defines the id of the transition";
type transition-id-type; type transition-id-type;
} }
leaf type { leaf type {
description "it defines if the action has to be simply executed or if a conditional statement has to be checked before execution"; description "it defines if the action has to be simply executed
or if a conditional statement has to be checked before execution";
type enumeration { type enumeration {
enum "CONDITIONAL_OP"{ enum "CONDITIONAL_OP"{
description "it defines the type CONDITIONAL OPERATION to check a statement before execution. In this draft, at the moment, only SIMPLE will be assumed"; description "it defines the type CONDITIONAL OPERATION to check a
statement before execution. In this draft, at the moment, only SIMPLE
will be assumed";
} }
enum "SIMPLE_OP"{ enum "SIMPLE_OP"{
description "it defines the type SIMPLE OPERATION: i.e., an operation to be directly executed; description "it defines the type SIMPLE OPERATION: i.e., an operation
to be directly executed;
} }
} }
mandatory true; mandatory true;
} }
grouping execution-top { grouping execution-top {
description "it defines the execution attribute"; description "it defines the execution attribute";
anyxml execute { anyxml execute {
description "Represent the action to perform"; description "Represent the action to perform";
} }
skipping to change at page 11, line 4 skipping to change at page 11, line 47
description "the id of the next action to execute"; description "the id of the next action to execute";
} }
} }
container simple { container simple {
when "../type = 'SIMPLE_OP'"; when "../type = 'SIMPLE_OP'";
description description
"Simple execution of an action without checking any condition"; "Simple execution of an action without checking any condition";
uses execution-top; uses execution-top;
} }
} }
grouping action-top { grouping action-top {
description "it defines the grouping of action"; description "it defines the grouping of action";
list action { list action {
description "it defines the list of actions"; description "it defines the list of actions";
key "id"; key "id";
ordered-by user; ordered-by user;
uses action-block; uses action-block;
} }
} }
grouping on-change { grouping on-change {
description description
"Event occuring when a modification of one or more "Event occuring when a modification of one or more
objects occurs"; objects occurs";
leaf threshold-parameter { leaf threshold-parameter {
description "it defines the threshold of an event determined by a threshold exceed"; description "it defines the threshold of an event determined by
a threshold exceed";
type decimal64; type decimal64;
} }
leaf threshold-operator { leaf threshold-operator {
description "it defines the operator to check the threshold exceed: <, > <=, >="; description "it defines the operator to check the threshold
exceed: <, > <=, >=";
type string; type string;
} }
} }
grouping transition-top { grouping transition-top {
description "it defines the grouping transition"; description "it defines the grouping transition";
leaf name { leaf name {
description "it defines the transition name"; description "it defines the transition name";
type string; type string;
skipping to change at page 12, line 6 skipping to change at page 13, line 4
leaf description { leaf description {
description "it describes the transition with a string"; description "it describes the transition with a string";
type string; type string;
} }
// list of all possible events // list of all possible events
uses on-change { uses on-change {
when "type = 'ON_CHANGE'"; when "type = 'ON_CHANGE'";
} }
container transition-action { container transition-action {
description "it defines the container actions to take during the transition"; description "it defines the container actions to take during the
transition";
uses action-top; uses action-top;
} }
} }
grouping transitions-top { grouping transitions-top {
description "it defines the grouping transition"; description "it defines the grouping transition";
container transitions { container transitions {
description "it defines the container transitions"; description "it defines the container transitions";
list transition { list transition {
description "it defines the list of transitions"; description "it defines the list of transitions";
 End of changes. 20 change blocks. 
41 lines changed or deleted 84 lines changed or added

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